1 package net.sf.openrocket.utils;
4 import java.io.IOException;
5 import java.util.Locale;
7 import net.sf.openrocket.document.OpenRocketDocument;
8 import net.sf.openrocket.document.StorageOptions;
9 import net.sf.openrocket.file.DatabaseMotorFinder;
10 import net.sf.openrocket.file.RocketLoadException;
11 import net.sf.openrocket.file.RocketLoader;
12 import net.sf.openrocket.file.RocketSaver;
13 import net.sf.openrocket.file.openrocket.OpenRocketSaver;
14 import net.sf.openrocket.gui.util.SwingPreferences;
15 import net.sf.openrocket.l10n.ResourceBundleTranslator;
16 import net.sf.openrocket.logging.LogLevel;
17 import net.sf.openrocket.startup.Application;
20 * Utility that loads Rocksim file formats and saves them in ORK format.
21 * File is saved with the .rkt extension replaced with .ork.
24 * java -cp OpenRocket.jar net.sf.openrocket.utils.RocksimConverter <files...>
26 * @author Sampo Niskanen <sampo.niskanen@iki.fi>
28 public class RocksimConverter {
31 public static void main(String[] args) {
35 RocketLoader loader = new net.sf.openrocket.file.rocksim.importt.RocksimLoader();
36 RocketSaver saver = new OpenRocketSaver();
38 for (String inputFile : args) {
39 System.out.println("Converting " + inputFile + "...");
41 if (!inputFile.matches(".*\\.[rR][kK][tT]$")) {
42 System.err.println("ERROR: File '" + inputFile + "' does not end in .rkt, skipping.");
46 String outputFile = inputFile.replaceAll("\\.[rR][kK][tT]$", ".ork");
48 File input = new File(inputFile);
49 File output = new File(outputFile);
51 if (!input.isFile()) {
52 System.err.println("ERROR: File '" + inputFile + "' does not exist, skipping.");
55 if (output.exists()) {
56 System.err.println("ERROR: File '" + outputFile + "' already exists, skipping.");
61 StorageOptions opts = new StorageOptions();
62 opts.setCompressionEnabled(true);
63 opts.setSimulationTimeSkip(StorageOptions.SIMULATION_DATA_NONE);
64 opts.setExplicitlySet(true);
66 OpenRocketDocument document = loader.load(input, new DatabaseMotorFinder());
67 saver.save(output, document, opts);
69 } catch (RocketLoadException e) {
70 System.err.println("ERROR: Error loading '" + inputFile + "': " + e.getMessage());
71 } catch (IOException e) {
72 System.err.println("ERROR: Error saving '" + outputFile + "': " + e.getMessage());
79 private static void setup() {
80 Locale.setDefault(Locale.US);
81 Application.setBaseTranslator(new ResourceBundleTranslator("l10n.messages"));
83 Application.setLogOutputLevel(LogLevel.WARN);
84 Application.setPreferences(new SwingPreferences());