Make preset favorites per component type. That is, a single preset can be a favorite...
[debian/openrocket] / core / src / net / sf / openrocket / preset / xml / OpenRocketComponentLoader.java
1 package net.sf.openrocket.preset.xml;
2
3 import java.io.InputStream;
4 import java.io.InputStreamReader;
5 import java.util.Collection;
6 import java.util.List;
7
8 import javax.xml.bind.JAXBException;
9
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;
16
17 public class OpenRocketComponentLoader  implements Loader<ComponentPreset> {
18
19         private static final LogHelper log = Application.getLogger();
20
21         @Override
22         public Collection<ComponentPreset> load(InputStream stream,     String filename) {
23
24                 log.debug("Loading presets from file " + filename);
25
26                 try {
27                         List<ComponentPreset> presets;
28                         presets = (new OpenRocketComponentSaver().unmarshalFromOpenRocketComponent( new InputStreamReader (stream))).asComponentPresets();
29                         log.debug("ComponentPreset file " + filename + " contained " + presets.size() + " presets");
30                         return 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);
35                 }
36
37         }
38
39 }