Change OpenRocketComponentSaver unmarshal function to return the whole OpenRocketComp...
authorkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Wed, 6 Jun 2012 18:03:43 +0000 (18:03 +0000)
committerkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Wed, 6 Jun 2012 18:03:43 +0000 (18:03 +0000)
git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@767 180e2498-e6e9-4542-8430-84ac67f01cd8

core/src/net/sf/openrocket/gui/preset/ComponentPresetEditor.java
core/src/net/sf/openrocket/preset/xml/OpenRocketComponentLoader.java
core/src/net/sf/openrocket/preset/xml/OpenRocketComponentSaver.java

index 0c4ff3a269cb21504df3cf313cf48311fef70d80..9f11cdd66161a6bc68d6e387f1b5034717fd606d 100644 (file)
@@ -5,7 +5,7 @@ import java.awt.event.ActionListener;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
 import java.io.File;
-import java.io.FileInputStream;
+import java.io.FileReader;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
@@ -38,7 +38,7 @@ import net.sf.openrocket.material.Material;
 import net.sf.openrocket.preset.ComponentPreset;
 import net.sf.openrocket.preset.loader.MaterialHolder;
 import net.sf.openrocket.preset.loader.RocksimComponentFileTranslator;
-import net.sf.openrocket.preset.xml.OpenRocketComponentLoader;
+import net.sf.openrocket.preset.xml.OpenRocketComponentDTO;
 import net.sf.openrocket.preset.xml.OpenRocketComponentSaver;
 import net.sf.openrocket.startup.Application;
 
@@ -352,7 +352,9 @@ public class ComponentPresetEditor extends JPanel implements PresetResultListene
             List<ComponentPreset> presets = null;
 
             if (file.getName().toLowerCase().endsWith(".orc")) {
-                presets = (List<ComponentPreset>) new OpenRocketComponentLoader().load(new FileInputStream(file), file.getName());
+               OpenRocketComponentDTO fileContents = new OpenRocketComponentSaver().unmarshalFromOpenRocketComponent(new FileReader(file));
+               editContext.setMaterialsLoaded( new MaterialHolder(fileContents.asMaterialList()) );
+               presets = fileContents.asComponentPresets();
             }
             else {
                 if (file.getName().toLowerCase().endsWith(".csv")) {
index a84f7f68aa0e6cff4c2449175fa1f67c20a25326..fc6893195a1cdfd78f0114ba8b9488070f7783b8 100644 (file)
@@ -28,7 +28,7 @@ public class OpenRocketComponentLoader  implements Loader<ComponentPreset> {
 
                try {
                        List<ComponentPreset> presets;
-                       presets = new OpenRocketComponentSaver().unmarshalFromOpenRocketComponent( new InputStreamReader (stream));
+                       presets = (new OpenRocketComponentSaver().unmarshalFromOpenRocketComponent( new InputStreamReader (stream))).asComponentPresets();
                        for( ComponentPreset preset : presets ) {
                                if ( favorites.contains(preset.preferenceKey())) {
                                        preset.setFavorite(true);
index 6a70fe2c655384f75ef03692fadf10fc7174637a..934d4be5e88f5ab41f1aaf7625ff5272a392b893 100644 (file)
@@ -109,9 +109,9 @@ public class OpenRocketComponentSaver {
      * @throws InvalidComponentPresetException
      *
      */
-    public List<ComponentPreset> unmarshalFromOpenRocketComponent(Reader is) throws JAXBException,
+    public OpenRocketComponentDTO unmarshalFromOpenRocketComponent(Reader is) throws JAXBException,
                                                                                     InvalidComponentPresetException {
-        return fromOpenRocketComponent(is).asComponentPresets();
+        return fromOpenRocketComponent(is);
     }
 
     /**