A little refactoring of ComponentPreset xml file parsing since android does not suppo...
authorkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Thu, 10 May 2012 14:38:36 +0000 (14:38 +0000)
committerkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Thu, 10 May 2012 14:38:36 +0000 (14:38 +0000)
git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@662 180e2498-e6e9-4542-8430-84ac67f01cd8

core/src/net/sf/openrocket/database/ComponentPresetDatabase.java
core/src/net/sf/openrocket/preset/xml/OpenRocketComponentLoader.java [new file with mode: 0644]
core/src/net/sf/openrocket/startup/ConcurrentComponentPresetDatabaseLoader.java

index 0fd0d419e8d9adf620eef5c5eb501abcb227aad4..8acafcff57c1fa13362a8a16132ac1518036337b 100644 (file)
@@ -1,58 +1,16 @@
 package net.sf.openrocket.database;
 
-import java.io.InputStream;
-import java.io.InputStreamReader;
 import java.util.ArrayList;
-import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
-import java.util.Set;
 
-import javax.xml.bind.JAXBException;
-
-import net.sf.openrocket.file.Loader;
-import net.sf.openrocket.logging.LogHelper;
 import net.sf.openrocket.preset.ComponentPreset;
-import net.sf.openrocket.preset.InvalidComponentPresetException;
-import net.sf.openrocket.preset.xml.OpenRocketComponentSaver;
 import net.sf.openrocket.startup.Application;
-import net.sf.openrocket.util.BugException;
 
 public class ComponentPresetDatabase extends Database<ComponentPreset> implements ComponentPresetDao {
 
-       private static final LogHelper log = Application.getLogger();
-
-       public static class ComponentPresetLoader implements Loader<ComponentPreset> {
-
-               @Override
-               public Collection<ComponentPreset> load(InputStream stream,     String filename) {
-
-                       log.debug("Loading presets from file " + filename);
-
-                       Set<String> favorites = Application.getPreferences().getComponentFavorites();
-
-                       try {
-                               List<ComponentPreset> presets;
-                               presets = new OpenRocketComponentSaver().unmarshalFromOpenRocketComponent( new InputStreamReader (stream));
-                               for( ComponentPreset preset : presets ) {
-                                       if ( favorites.contains(preset.preferenceKey())) {
-                                               preset.setFavorite(true);
-                                       }
-                               }                               
-                               log.debug("ComponentPreset file " + filename + " contained " + presets.size() + " presets");
-                               return presets;
-                       } catch (JAXBException e) {
-                               throw new BugException("Unable to parser file: "+ filename, e);
-                       } catch (InvalidComponentPresetException e) {
-                               throw new BugException("Unable to parser file: "+ filename, e);
-                       }
-
-               }
-
-       }
-
        public ComponentPresetDatabase() {
-               super(new ComponentPresetLoader());
+               super();
        }
 
        @Override
diff --git a/core/src/net/sf/openrocket/preset/xml/OpenRocketComponentLoader.java b/core/src/net/sf/openrocket/preset/xml/OpenRocketComponentLoader.java
new file mode 100644 (file)
index 0000000..a84f7f6
--- /dev/null
@@ -0,0 +1,47 @@
+package net.sf.openrocket.preset.xml;
+
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.Collection;
+import java.util.List;
+import java.util.Set;
+
+import javax.xml.bind.JAXBException;
+
+import net.sf.openrocket.file.Loader;
+import net.sf.openrocket.logging.LogHelper;
+import net.sf.openrocket.preset.ComponentPreset;
+import net.sf.openrocket.preset.InvalidComponentPresetException;
+import net.sf.openrocket.startup.Application;
+import net.sf.openrocket.util.BugException;
+
+public class OpenRocketComponentLoader  implements Loader<ComponentPreset> {
+
+       private static final LogHelper log = Application.getLogger();
+
+       @Override
+       public Collection<ComponentPreset> load(InputStream stream,     String filename) {
+
+               log.debug("Loading presets from file " + filename);
+
+               Set<String> favorites = Application.getPreferences().getComponentFavorites();
+
+               try {
+                       List<ComponentPreset> presets;
+                       presets = new OpenRocketComponentSaver().unmarshalFromOpenRocketComponent( new InputStreamReader (stream));
+                       for( ComponentPreset preset : presets ) {
+                               if ( favorites.contains(preset.preferenceKey())) {
+                                       preset.setFavorite(true);
+                               }
+                       }                               
+                       log.debug("ComponentPreset file " + filename + " contained " + presets.size() + " presets");
+                       return presets;
+               } catch (JAXBException e) {
+                       throw new BugException("Unable to parse file: "+ filename, e);
+               } catch (InvalidComponentPresetException e) {
+                       throw new BugException("Unable to parse file: "+ filename, e);
+               }
+
+       }
+
+}
index a97d688cd0f69b57f1e18d59c46188b5a47a7717..a4191da3cf6a4e33e82fd805b3d9a5dcce8483c7 100644 (file)
@@ -14,6 +14,7 @@ import net.sf.openrocket.file.iterator.FileIterator;
 import net.sf.openrocket.gui.util.SimpleFileFilter;
 import net.sf.openrocket.logging.LogHelper;
 import net.sf.openrocket.preset.ComponentPreset;
+import net.sf.openrocket.preset.xml.OpenRocketComponentLoader;
 import net.sf.openrocket.util.Pair;
 
 public class ConcurrentComponentPresetDatabaseLoader {
@@ -115,7 +116,7 @@ public class ConcurrentComponentPresetDatabaseLoader {
 
                @Override
                public void run() {
-                       ComponentPresetDatabase.ComponentPresetLoader loader = new ComponentPresetDatabase.ComponentPresetLoader();
+                       OpenRocketComponentLoader loader = new OpenRocketComponentLoader();
                        Collection<ComponentPreset> presets = loader.load(is, fileName);
                        PresetWriter writer = new PresetWriter(presets);
                        writerPool.execute(writer);