1 package net.sf.openrocket.preset.xml;
3 import java.io.InputStream;
4 import java.io.InputStreamReader;
5 import java.util.Collection;
8 import javax.xml.bind.JAXBException;
10 import net.sf.openrocket.file.Loader;
11 import net.sf.openrocket.logging.LogHelper;
12 import net.sf.openrocket.preset.ComponentPreset;
13 import net.sf.openrocket.preset.InvalidComponentPresetException;
14 import net.sf.openrocket.startup.Application;
15 import net.sf.openrocket.util.BugException;
17 public class OpenRocketComponentLoader implements Loader<ComponentPreset> {
19 private static final LogHelper log = Application.getLogger();
22 public Collection<ComponentPreset> load(InputStream stream, String filename) {
24 log.debug("Loading presets from file " + filename);
27 List<ComponentPreset> presets;
28 presets = (new OpenRocketComponentSaver().unmarshalFromOpenRocketComponent( new InputStreamReader (stream))).asComponentPresets();
29 log.debug("ComponentPreset file " + filename + " contained " + presets.size() + " presets");
31 } catch (JAXBException e) {
32 throw new BugException("Unable to parse file: "+ filename, e);
33 } catch (InvalidComponentPresetException e) {
34 throw new BugException("Unable to parse file: "+ filename, e);