From: kruland2607 Date: Thu, 10 May 2012 14:38:36 +0000 (+0000) Subject: A little refactoring of ComponentPreset xml file parsing since android does not suppo... X-Git-Tag: upstream/12.09^2~286 X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=5b151571d47ae9917234049b429ffa98983a3053;p=debian%2Fopenrocket A little refactoring of ComponentPreset xml file parsing since android does not support JAXB. git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@662 180e2498-e6e9-4542-8430-84ac67f01cd8 --- diff --git a/core/src/net/sf/openrocket/database/ComponentPresetDatabase.java b/core/src/net/sf/openrocket/database/ComponentPresetDatabase.java index 0fd0d419..8acafcff 100644 --- a/core/src/net/sf/openrocket/database/ComponentPresetDatabase.java +++ b/core/src/net/sf/openrocket/database/ComponentPresetDatabase.java @@ -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 implements ComponentPresetDao { - private static final LogHelper log = Application.getLogger(); - - public static class ComponentPresetLoader implements Loader { - - @Override - public Collection load(InputStream stream, String filename) { - - log.debug("Loading presets from file " + filename); - - Set favorites = Application.getPreferences().getComponentFavorites(); - - try { - List 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 index 00000000..a84f7f68 --- /dev/null +++ b/core/src/net/sf/openrocket/preset/xml/OpenRocketComponentLoader.java @@ -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 { + + private static final LogHelper log = Application.getLogger(); + + @Override + public Collection load(InputStream stream, String filename) { + + log.debug("Loading presets from file " + filename); + + Set favorites = Application.getPreferences().getComponentFavorites(); + + try { + List 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); + } + + } + +} diff --git a/core/src/net/sf/openrocket/startup/ConcurrentComponentPresetDatabaseLoader.java b/core/src/net/sf/openrocket/startup/ConcurrentComponentPresetDatabaseLoader.java index a97d688c..a4191da3 100644 --- a/core/src/net/sf/openrocket/startup/ConcurrentComponentPresetDatabaseLoader.java +++ b/core/src/net/sf/openrocket/startup/ConcurrentComponentPresetDatabaseLoader.java @@ -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 presets = loader.load(is, fileName); PresetWriter writer = new PresetWriter(presets); writerPool.execute(writer);