updates for 0.9.3
[debian/openrocket] / src / net / sf / openrocket / file / MotorLoader.java
index 2988a03e8b6ac4f78c1ec1f01b7be763d04103f9..004b14f1339e02c774cd2cc06f1eaa2dea34af15 100644 (file)
@@ -8,174 +8,15 @@ import java.nio.charset.Charset;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
-import net.sf.openrocket.rocketcomponent.Motor;
+import net.sf.openrocket.motor.Motor;
 import net.sf.openrocket.util.MathUtil;
 
 
 public abstract class MotorLoader implements Loader<Motor> {
        
        
-       /** 
-        * Manufacturer codes to expand.  These are general translations that are used
-        * both in RASP and RockSim engine files.
-        */
-       private static final Map<String,String> MANUFACTURER_CODES =
-               new HashMap<String,String>();
-       static {
-               
-               /*
-                * TODO: CRITICAL: Should names have Inc. LLC. etc?
-                */
-               
-               // AeroTech has many name combinations...
-               for (String s: new String[] { "A", "AT", "AERO", "AEROT", "AEROTECH" }) {
-                       MANUFACTURER_CODES.put(s, "AeroTech");
-                       MANUFACTURER_CODES.put(s+"-RMS", "AeroTech");
-                       MANUFACTURER_CODES.put(s+"/RMS", "AeroTech");
-                       MANUFACTURER_CODES.put(s+"-RCS", "AeroTech");
-                       MANUFACTURER_CODES.put(s+"/RCS", "AeroTech");
-                       MANUFACTURER_CODES.put("RCS-" + s, "AeroTech");
-                       MANUFACTURER_CODES.put("RCS/" + s, "AeroTech");
-                       MANUFACTURER_CODES.put(s+"-APOGEE", "AeroTech");
-                       MANUFACTURER_CODES.put(s+"/APOGEE", "AeroTech");
-               }
-               MANUFACTURER_CODES.put("ISP", "AeroTech");
-               
-               MANUFACTURER_CODES.put("AHR", "Alpha Hybrid Rocketry LLC");
-               MANUFACTURER_CODES.put("ALPHA", "Alpha Hybrid Rocketry LLC");
-               MANUFACTURER_CODES.put("ALPHA HYBRID", "Alpha Hybrid Rocketry LLC");
-               MANUFACTURER_CODES.put("ALPHA HYBRIDS", "Alpha Hybrid Rocketry LLC");
-               MANUFACTURER_CODES.put("ALPHA HYBRID ROCKETRY", "Alpha Hybrid Rocketry LLC");
-               MANUFACTURER_CODES.put("ALPHA HYBRIDS ROCKETRY", "Alpha Hybrid Rocketry LLC");
-               MANUFACTURER_CODES.put("ALPHA HYBRID ROCKETRY LLC", "Alpha Hybrid Rocketry LLC");
-               MANUFACTURER_CODES.put("ALPHA HYBRID ROCKETRY, LLC", "Alpha Hybrid Rocketry LLC");
-
-               MANUFACTURER_CODES.put("AMW", "Animal Motor Works");
-               MANUFACTURER_CODES.put("AW", "Animal Motor Works");
-               MANUFACTURER_CODES.put("ANIMAL", "Animal Motor Works");
-               MANUFACTURER_CODES.put("ANIMAL MOTOR WORKS", "Animal Motor Works");
-               
-               MANUFACTURER_CODES.put("AP", "Apogee");
-               MANUFACTURER_CODES.put("APOG", "Apogee");
-               MANUFACTURER_CODES.put("APOGEE", "Apogee");
-               MANUFACTURER_CODES.put("P", "Apogee");
-               
-               MANUFACTURER_CODES.put("CES", "Cesaroni Technology Inc.");
-               MANUFACTURER_CODES.put("CESARONI", "Cesaroni Technology Inc.");
-               MANUFACTURER_CODES.put("CESARONI TECHNOLOGY", "Cesaroni Technology Inc.");
-               MANUFACTURER_CODES.put("CESARONI TECHNOLOGY INC", "Cesaroni Technology Inc.");
-               MANUFACTURER_CODES.put("CESARONI TECHNOLOGY INC.", "Cesaroni Technology Inc.");
-               MANUFACTURER_CODES.put("CESARONI TECHNOLOGY INCORPORATED", "Cesaroni Technology Inc.");
-               MANUFACTURER_CODES.put("CTI", "Cesaroni Technology Inc.");
-               MANUFACTURER_CODES.put("CS", "Cesaroni Technology Inc.");
-               MANUFACTURER_CODES.put("CSR", "Cesaroni Technology Inc.");
-               MANUFACTURER_CODES.put("PRO38", "Cesaroni Technology Inc.");
-               
-               MANUFACTURER_CODES.put("CR", "Contrail Rockets");
-               MANUFACTURER_CODES.put("CONTR", "Contrail Rockets");
-               MANUFACTURER_CODES.put("CONTRAIL", "Contrail Rockets");
-               MANUFACTURER_CODES.put("CONTRAIL ROCKET", "Contrail Rockets");
-               MANUFACTURER_CODES.put("CONTRAIL ROCKETS", "Contrail Rockets");
-               
-               MANUFACTURER_CODES.put("E", "Estes");
-               MANUFACTURER_CODES.put("ES", "Estes");
-               MANUFACTURER_CODES.put("ESTES", "Estes");
-               
-               MANUFACTURER_CODES.put("EM", "Ellis Mountain");
-               MANUFACTURER_CODES.put("ELLIS", "Ellis Mountain");
-               MANUFACTURER_CODES.put("ELLIS MOUNTAIN", "Ellis Mountain");
-               MANUFACTURER_CODES.put("ELLIS MOUNTAIN ROCKET", "Ellis Mountain");
-               MANUFACTURER_CODES.put("ELLIS MOUNTAIN ROCKETS", "Ellis Mountain");
-               
-               MANUFACTURER_CODES.put("GR", "Gorilla Rocket Motors");
-               MANUFACTURER_CODES.put("GORILLA", "Gorilla Rocket Motors");
-               MANUFACTURER_CODES.put("GORILLA ROCKET", "Gorilla Rocket Motors");
-               MANUFACTURER_CODES.put("GORILLA ROCKETS", "Gorilla Rocket Motors");
-               MANUFACTURER_CODES.put("GORILLA MOTOR", "Gorilla Rocket Motors");
-               MANUFACTURER_CODES.put("GORILLA MOTORS", "Gorilla Rocket Motors");
-               MANUFACTURER_CODES.put("GORILLA ROCKET MOTOR", "Gorilla Rocket Motors");
-               MANUFACTURER_CODES.put("GORILLA ROCKET MOTORS", "Gorilla Rocket Motors");
-               
-               MANUFACTURER_CODES.put("H", "HyperTEK");
-               MANUFACTURER_CODES.put("HT", "HyperTEK");
-               MANUFACTURER_CODES.put("HYPER", "HyperTEK");
-               MANUFACTURER_CODES.put("HYPERTEK", "HyperTEK");
-               
-               MANUFACTURER_CODES.put("K", "Kosdon by AeroTech");
-               MANUFACTURER_CODES.put("KBA", "Kosdon by AeroTech");
-               MANUFACTURER_CODES.put("K/AT", "Kosdon by AeroTech");
-               MANUFACTURER_CODES.put("K-AT", "Kosdon by AeroTech");
-               MANUFACTURER_CODES.put("KOS", "Kosdon by AeroTech");
-               MANUFACTURER_CODES.put("KOSDON", "Kosdon by AeroTech");
-               MANUFACTURER_CODES.put("KOSDON/AT", "Kosdon by AeroTech");
-               MANUFACTURER_CODES.put("KOSDON-AT", "Kosdon by AeroTech");
-               MANUFACTURER_CODES.put("KOSDON/AEROTECH", "Kosdon by AeroTech");
-               MANUFACTURER_CODES.put("KOSDON-AEROTECH", "Kosdon by AeroTech");
-               MANUFACTURER_CODES.put("KOSDON-BY-AEROTECH", "Kosdon by AeroTech");
-               MANUFACTURER_CODES.put("KOSDON BY AEROTECH", "Kosdon by AeroTech");
-               
-               MANUFACTURER_CODES.put("LOKI", "Loki Research");
-               MANUFACTURER_CODES.put("LOKI RESEARCH", "Loki Research");
-               MANUFACTURER_CODES.put("LR", "Loki Research");
-               
-               MANUFACTURER_CODES.put("PM", "Public Missiles, Ltd.");
-               MANUFACTURER_CODES.put("PML", "Public Missiles, Ltd.");
-               MANUFACTURER_CODES.put("PUBLIC MISSILES", "Public Missiles, Ltd.");
-               MANUFACTURER_CODES.put("PUBLIC MISSILES LTD", "Public Missiles, Ltd.");
-               MANUFACTURER_CODES.put("PUBLIC MISSILES, LTD", "Public Missiles, Ltd.");
-               MANUFACTURER_CODES.put("PUBLIC MISSILES LTD.", "Public Missiles, Ltd.");
-               MANUFACTURER_CODES.put("PUBLIC MISSILES, LTD.", "Public Missiles, Ltd.");
-               MANUFACTURER_CODES.put("PUBLIC MISSILES LIMITED", "Public Missiles, Ltd.");
-               MANUFACTURER_CODES.put("PUBLIC MISSILES, LIMITED", "Public Missiles, Ltd.");
-               
-               MANUFACTURER_CODES.put("PP", "Propulsion Polymers");
-               MANUFACTURER_CODES.put("PROP", "Propulsion Polymers");
-               MANUFACTURER_CODES.put("PROPULSION", "Propulsion Polymers");
-               MANUFACTURER_CODES.put("PROPULSION-POLYMERS", "Propulsion Polymers");
-               MANUFACTURER_CODES.put("PROPULSION POLYMERS", "Propulsion Polymers");
-               
-               MANUFACTURER_CODES.put("Q", "Quest");
-               MANUFACTURER_CODES.put("QU", "Quest");
-               MANUFACTURER_CODES.put("QUEST", "Quest");
-               
-               MANUFACTURER_CODES.put("RATT", "RATT Works");
-               MANUFACTURER_CODES.put("RATT WORKS", "RATT Works");
-               MANUFACTURER_CODES.put("RT", "RATT Works");
-               MANUFACTURER_CODES.put("RTW", "RATT Works");
-               
-               MANUFACTURER_CODES.put("RR", "Roadrunner Rocketry");
-               MANUFACTURER_CODES.put("ROADRUNNER", "Roadrunner Rocketry");
-               MANUFACTURER_CODES.put("ROADRUNNER ROCKETRY", "Roadrunner Rocketry");
-               
-               MANUFACTURER_CODES.put("RV", "Rocketvision");
-               MANUFACTURER_CODES.put("ROCKETVISION", "Rocketvision");
-
-               MANUFACTURER_CODES.put("SR", "Sky Ripper Systems");
-               MANUFACTURER_CODES.put("SRS", "Sky Ripper Systems");
-               MANUFACTURER_CODES.put("SKYR", "Sky Ripper Systems");
-               MANUFACTURER_CODES.put("SKYRIPPER", "Sky Ripper Systems");
-               MANUFACTURER_CODES.put("SKYRIPPER SYSTEMS", "Sky Ripper Systems");
-               MANUFACTURER_CODES.put("SKY RIPPER SYSTEMS", "Sky Ripper Systems");
-               
-               MANUFACTURER_CODES.put("WCH", "West Coast Hybrids");
-               MANUFACTURER_CODES.put("WCR", "West Coast Hybrids");
-               MANUFACTURER_CODES.put("WEST COAST HYBRIDS", "West Coast Hybrids");
-               
-               MANUFACTURER_CODES.put("SF", "WECO Feuerwerk");  // Previously Sachsen Feuerwerks
-               MANUFACTURER_CODES.put("SACHSEN FEUERWERK", "WECO Feuerwerk");
-               MANUFACTURER_CODES.put("SACHSEN FEUERWERKS", "WECO Feuerwerk");
-               MANUFACTURER_CODES.put("WECO", "WECO Feuerwerk");
-               MANUFACTURER_CODES.put("WECO FEUERWERK", "WECO Feuerwerk");
-               MANUFACTURER_CODES.put("WECO FEUERWERKS", "WECO Feuerwerk");
-       }
-
-       
-       
-       
        /**
         * Load motors from the specified <code>InputStream</code>.  The file is read using
         * the default charset returned by {@link #getDefaultCharset()}.
@@ -330,28 +171,7 @@ public abstract class MotorLoader implements Loader<Motor> {
                } while (index < primary.size()-1);
        }
        
-       
-       /**
-        * Convert a manufacturer string.  This should be done for all manufacturers
-        * for overall consistency.  This includes both RASP name expansions and some
-        * general renaming.  This should also be performed when loading designs in order
-        * to identify manufacturers correctly.
-        * 
-        * @param mfg   the original manufacturer / manufacturer code.
-        * @return              the manufacturer name.
-        */
-       public static String convertManufacturer(String mfg) {
-               // Replace underscore and trim
-               mfg = mfg.replace('_', ' ').trim();
-               
-               // Check for conversion
-               String conv = MANUFACTURER_CODES.get(mfg.toUpperCase());
-               if (conv != null)
-                       return conv;
-               else
-                       return mfg;
-       }
-       
+
        
        @SuppressWarnings("unchecked")
        protected static void finalizeThrustCurve(List<Double> time, List<Double> thrust,