package net.sf.openrocket.utils; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.List; import net.sf.openrocket.file.motor.GeneralMotorLoader; import net.sf.openrocket.file.motor.MotorLoader; import net.sf.openrocket.motor.Motor; import net.sf.openrocket.motor.ThrustCurveMotor; public class MotorDigester { public static void main(String[] args) { final MotorLoader loader = new GeneralMotorLoader(); final boolean printFileNames; if (args.length == 0) { System.err.println("Usage: MotorDigester <files>"); printFileNames = false; System.exit(1); } else if (args.length == 1) { printFileNames = false; } else { printFileNames = true; } for (String file : args) { List<Motor> motors = null; try { InputStream stream = new FileInputStream(file); motors = loader.load(stream, file); stream.close(); } catch (IOException e) { System.err.println("ERROR: " + e.getMessage()); e.printStackTrace(); continue; } for (Motor m : motors) { if (!(m instanceof ThrustCurveMotor)) { System.err.println(file + ": Not ThrustCurveMotor: " + m); continue; } String digest = ((ThrustCurveMotor) m).getDigest(); if (printFileNames) { System.out.print(file + ": "); } System.out.println(digest); } } } }