From 65d39085e5d20fbcf3e96584ce02811308434b5e Mon Sep 17 00:00:00 2001 From: kruland2607 Date: Thu, 26 Jul 2012 14:19:48 +0000 Subject: [PATCH] More changes to make Froyo compatible. git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@943 180e2498-e6e9-4542-8430-84ac67f01cd8 --- .../openrocket/file/GeneralRocketLoader.java | 3 +- .../file/rocksim/importt/FinSetHandler.java | 2 +- .../net/sf/openrocket/util/ArrayUtils.java | 33 +++++++++++++++++++ 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/core/src/net/sf/openrocket/file/GeneralRocketLoader.java b/core/src/net/sf/openrocket/file/GeneralRocketLoader.java index 16f9c9ac..f4b64622 100644 --- a/core/src/net/sf/openrocket/file/GeneralRocketLoader.java +++ b/core/src/net/sf/openrocket/file/GeneralRocketLoader.java @@ -12,6 +12,7 @@ import java.util.zip.ZipInputStream; import net.sf.openrocket.document.OpenRocketDocument; import net.sf.openrocket.file.openrocket.importt.OpenRocketLoader; import net.sf.openrocket.file.rocksim.importt.RocksimLoader; +import net.sf.openrocket.util.ArrayUtils; import net.sf.openrocket.util.TextUtil; @@ -94,7 +95,7 @@ public class GeneralRocketLoader extends AbstractRocketLoader { } } - byte[] typeIdentifier = Arrays.copyOf(buffer, ROCKSIM_SIGNATURE.length); + byte[] typeIdentifier = ArrayUtils.copyOf(buffer, ROCKSIM_SIGNATURE.length); if (Arrays.equals(ROCKSIM_SIGNATURE, typeIdentifier)) { return loadUsing(source, rocksimLoader, motorFinder); } diff --git a/core/src/net/sf/openrocket/file/rocksim/importt/FinSetHandler.java b/core/src/net/sf/openrocket/file/rocksim/importt/FinSetHandler.java index 048a2fd4..01b49030 100644 --- a/core/src/net/sf/openrocket/file/rocksim/importt/FinSetHandler.java +++ b/core/src/net/sf/openrocket/file/rocksim/importt/FinSetHandler.java @@ -330,7 +330,7 @@ class FinSetHandler extends AbstractElementHandler { */ private Coordinate[] toCoordinates (String pointList, WarningSet warnings) { List result = new ArrayList(); - if (pointList != null && !pointList.isEmpty()) { + if (pointList != null && pointList.length() > 0) { String[] points = pointList.split("\\Q|\\E"); for (String point : points) { String[] aPoint = point.split(","); diff --git a/core/src/net/sf/openrocket/util/ArrayUtils.java b/core/src/net/sf/openrocket/util/ArrayUtils.java index ac32abbe..67209f32 100644 --- a/core/src/net/sf/openrocket/util/ArrayUtils.java +++ b/core/src/net/sf/openrocket/util/ArrayUtils.java @@ -80,4 +80,37 @@ public class ArrayUtils { } + public static byte[] copyOf( byte[] original, int length ) { + return copyOfRange(original,0,length); + } + + public static byte[] copyOfRange( byte[] original, int start, int end ) { + + if ( original == null ) { + throw new NullPointerException(); + } + + if ( start < 0 || start > original.length ) { + throw new ArrayIndexOutOfBoundsException(); + } + + if ( start > end ) { + throw new IllegalArgumentException(); + } + + byte[] result = new byte[(end-start)]; + + int index = 0; + int stop = original.length < end ? original.length : end; + for ( int i = start; i < stop; i ++ ) { + if ( i < original.length ) { + result[index] = original[i]; + } + index++; + } + + return result; + + } + } -- 2.30.2