projects
/
debian
/
openrocket
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge commit '0b45c3af0d7947a3b38aeffea3e0eeac4f59d46a' into upstream
[debian/openrocket]
/
src
/
net
/
sf
/
openrocket
/
file
/
GeneralRocketLoader.java
diff --git
a/src/net/sf/openrocket/file/GeneralRocketLoader.java
b/src/net/sf/openrocket/file/GeneralRocketLoader.java
index 1dc3329a5477030bf9bca29d0bf66cdaf9c5bbfc..c2246a4d3a61e195b31d627f924031a82dbc3173 100644
(file)
--- a/
src/net/sf/openrocket/file/GeneralRocketLoader.java
+++ b/
src/net/sf/openrocket/file/GeneralRocketLoader.java
@@
-5,9
+5,11
@@
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.Charset;
import java.util.zip.GZIPInputStream;
import java.io.InputStream;
import java.nio.charset.Charset;
import java.util.zip.GZIPInputStream;
+import java.util.Arrays;
import net.sf.openrocket.document.OpenRocketDocument;
import net.sf.openrocket.file.openrocket.OpenRocketLoader;
import net.sf.openrocket.document.OpenRocketDocument;
import net.sf.openrocket.file.openrocket.OpenRocketLoader;
+import net.sf.openrocket.file.rocksim.RocksimLoader;
/**
/**
@@
-24,8
+26,12
@@
public class GeneralRocketLoader extends RocketLoader {
private static final byte[] GZIP_SIGNATURE = { 31, -117 }; // 0x1f, 0x8b
private static final byte[] OPENROCKET_SIGNATURE =
"<openrocket".getBytes(Charset.forName("US-ASCII"));
private static final byte[] GZIP_SIGNATURE = { 31, -117 }; // 0x1f, 0x8b
private static final byte[] OPENROCKET_SIGNATURE =
"<openrocket".getBytes(Charset.forName("US-ASCII"));
+ private static final byte[] ROCKSIM_SIGNATURE =
+ "<RockSimDoc".getBytes(Charset.forName("US-ASCII"));
private final OpenRocketLoader openRocketLoader = new OpenRocketLoader();
private final OpenRocketLoader openRocketLoader = new OpenRocketLoader();
+
+ private final RocksimLoader rocksimLoader = new RocksimLoader();
@Override
protected OpenRocketDocument loadFromStream(InputStream source) throws IOException,
@Override
protected OpenRocketDocument loadFromStream(InputStream source) throws IOException,
@@
-68,7
+74,11
@@
public class GeneralRocketLoader extends RocketLoader {
match = 0;
}
}
match = 0;
}
}
-
+
+ byte[] typeIdentifier = Arrays.copyOf(buffer, ROCKSIM_SIGNATURE.length);
+ if (Arrays.equals(ROCKSIM_SIGNATURE, typeIdentifier)) {
+ return loadUsing(source, rocksimLoader);
+ }
throw new RocketLoadException("Unsupported or corrupt file.");
}
throw new RocketLoadException("Unsupported or corrupt file.");
}