create changelog entry
[debian/openrocket] / core / src / net / sf / openrocket / utils / MotorDigester.java
1 package net.sf.openrocket.utils;
2
3 import java.io.FileInputStream;
4 import java.io.IOException;
5 import java.io.InputStream;
6 import java.util.List;
7
8 import net.sf.openrocket.file.motor.GeneralMotorLoader;
9 import net.sf.openrocket.file.motor.MotorLoader;
10 import net.sf.openrocket.motor.Motor;
11 import net.sf.openrocket.motor.MotorDigest;
12 import net.sf.openrocket.motor.ThrustCurveMotor;
13
14 public class MotorDigester {
15         
16         public static void main(String[] args) {
17                 final MotorLoader loader = new GeneralMotorLoader();
18                 final boolean printFileNames;
19                 
20                 if (args.length == 0) {
21                         System.err.println("Usage:  MotorDigester <files>");
22                         printFileNames = false;
23                         System.exit(1);
24                 } else if (args.length == 1) {
25                         printFileNames = false;
26                 } else {
27                         printFileNames = true;
28                 }
29                 
30
31                 for (String file : args) {
32                         
33                         List<Motor> motors = null;
34                         try {
35                                 InputStream stream = new FileInputStream(file);
36                                 motors = loader.load(stream, file);
37                                 stream.close();
38                         } catch (IOException e) {
39                                 System.err.println("ERROR: " + e.getMessage());
40                                 e.printStackTrace();
41                                 continue;
42                         }
43                         
44                         for (Motor m : motors) {
45                                 if (!(m instanceof ThrustCurveMotor)) {
46                                         System.err.println(file + ": Not ThrustCurveMotor: " + m);
47                                         continue;
48                                 }
49                                 
50                                 String digest = ((ThrustCurveMotor) m).getDigest();
51                                 if (printFileNames) {
52                                         System.out.print(file + ": ");
53                                 }
54                                 System.out.println(digest);
55                         }
56                 }
57                 
58         }
59         
60 }