release 0.9.6
[debian/openrocket] / src / net / sf / openrocket / utils / MotorCompareAll.java
1 package net.sf.openrocket.utils;
2
3 import java.io.FileInputStream;
4 import java.io.IOException;
5 import java.text.Collator;
6 import java.util.ArrayList;
7 import java.util.Collections;
8 import java.util.HashMap;
9 import java.util.List;
10 import java.util.Map;
11
12 import net.sf.openrocket.file.GeneralMotorLoader;
13 import net.sf.openrocket.file.MotorLoader;
14 import net.sf.openrocket.motor.Motor;
15 import net.sf.openrocket.util.Pair;
16
17 public class MotorCompareAll {
18
19         /*
20          * Usage:
21          * 
22          * java MotorCompareAll  *.eng *.rse
23          */
24         public static void main(String[] args) throws IOException {
25
26                 Map<String, Pair<List<Motor>, List<String>>> map =
27                         new HashMap<String, Pair<List<Motor>, List<String>>>();
28                 
29                 MotorLoader loader = new GeneralMotorLoader();
30                 
31                 for (String filename: args) {
32                         
33                         List<Motor> motors = loader.load(new FileInputStream(filename), filename);
34                         
35                         for (Motor m: motors) {
36                                 String key = m.getManufacturer() + ":" + m.getDesignation();
37                                 Pair<List<Motor>, List<String>> pair = map.get(key);
38                                 if (pair == null) {
39                                         pair = new Pair<List<Motor>, List<String>>
40                                                 (new ArrayList<Motor>(), new ArrayList<String>());
41                                         map.put(key, pair);
42                                 }
43                                 pair.getU().add(m);
44                                 pair.getV().add(filename);
45                         }
46                 }
47                 
48                 Collator collator = Collator.getInstance();
49                 
50                 List<String> keys = new ArrayList<String>(map.keySet());
51                 Collections.sort(keys, collator);
52                 for (String basename: keys) {
53                         Pair<List<Motor>, List<String>> pair = map.get(basename);
54                         System.err.println(basename + ": " + pair.getV());
55                         MotorCompare.compare(pair.getU(), pair.getV());
56                 }
57         }
58
59 }