diff --git a/core/src/net/sf/openrocket/file/openrocket/importt/DocumentConfig.java b/core/src/net/sf/openrocket/file/openrocket/importt/DocumentConfig.java index dc14486d0..2e909207d 100644 --- a/core/src/net/sf/openrocket/file/openrocket/importt/DocumentConfig.java +++ b/core/src/net/sf/openrocket/file/openrocket/importt/DocumentConfig.java @@ -314,6 +314,14 @@ class DocumentConfig { // MassComponent setters.put("MassComponent:mass", new DoubleSetter( Reflection.findMethod(MassComponent.class, "setComponentMass", double.class))); + /*setters.put("MassComponent:masscomponenttype", new DoubleSetter( + Reflection.findMethod(MassComponent.class, "setMassComponentType", double.class)));*/ + setters.put("MassComponent:masscomponenttype", new EnumSetter( + Reflection.findMethod(MassComponent.class, "setMassComponentType", MassComponent.MassComponentType.class), + MassComponent.MassComponentType.class)); + /* setters.put("Transition:shape", new EnumSetter( + Reflection.findMethod(Transition.class, "setType", Transition.Shape.class), + Transition.Shape.class));*/ // ShockCord setters.put("ShockCord:cordlength", new DoubleSetter( diff --git a/core/src/net/sf/openrocket/file/openrocket/savers/MassComponentSaver.java b/core/src/net/sf/openrocket/file/openrocket/savers/MassComponentSaver.java index 093303c26..8cfddff50 100644 --- a/core/src/net/sf/openrocket/file/openrocket/savers/MassComponentSaver.java +++ b/core/src/net/sf/openrocket/file/openrocket/savers/MassComponentSaver.java @@ -2,31 +2,36 @@ package net.sf.openrocket.file.openrocket.savers; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import net.sf.openrocket.rocketcomponent.MassComponent; +import net.sf.openrocket.rocketcomponent.MassComponent.MassComponentType; public class MassComponentSaver extends MassObjectSaver { - + private static final MassComponentSaver instance = new MassComponentSaver(); - + public static List getElements(net.sf.openrocket.rocketcomponent.RocketComponent c) { List list = new ArrayList(); - + list.add(""); instance.addParams(c, list); list.add(""); - + return list; } - + @Override protected void addParams(net.sf.openrocket.rocketcomponent.RocketComponent c, List elements) { super.addParams(c, elements); - + MassComponent mass = (MassComponent) c; - + elements.add("" + mass.getMass() + ""); + + MassComponentType type = mass.getMassComponentType(); + elements.add("" + type.name().toLowerCase(Locale.ENGLISH) + ""); + } - } diff --git a/core/src/net/sf/openrocket/rocketcomponent/MassComponent.java b/core/src/net/sf/openrocket/rocketcomponent/MassComponent.java index 4710debcf..e49421a2c 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/MassComponent.java +++ b/core/src/net/sf/openrocket/rocketcomponent/MassComponent.java @@ -15,7 +15,7 @@ public class MassComponent extends MassObject { private double mass = 0; - public enum MassComponentType { + public static enum MassComponentType { MASSCOMPONENT(Application.getTranslator().get("MassComponent.MassComponent")), ALTIMETER(Application.getTranslator().get("MassComponent.Altimeter")), FLIGHTCOMPUTER(Application.getTranslator().get("MassComponent.FlightComputer")),