diff --git a/core/src/net/sf/openrocket/preset/xml/OpenRocketComponentDTO.java b/core/src/net/sf/openrocket/preset/xml/OpenRocketComponentDTO.java index 8c60d656b..69da4e859 100644 --- a/core/src/net/sf/openrocket/preset/xml/OpenRocketComponentDTO.java +++ b/core/src/net/sf/openrocket/preset/xml/OpenRocketComponentDTO.java @@ -1,7 +1,7 @@ package net.sf.openrocket.preset.xml; -import net.sf.openrocket.preset.ComponentPreset; -import net.sf.openrocket.preset.InvalidComponentPresetException; +import java.util.ArrayList; +import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; @@ -10,8 +10,10 @@ import javax.xml.bind.annotation.XmlElementRef; import javax.xml.bind.annotation.XmlElementRefs; import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlRootElement; -import java.util.ArrayList; -import java.util.List; + +import net.sf.openrocket.material.Material; +import net.sf.openrocket.preset.ComponentPreset; +import net.sf.openrocket.preset.InvalidComponentPresetException; /** * The real 'root' element in an XML document. @@ -74,10 +76,18 @@ public class OpenRocketComponentDTO { } public List asComponentPresets() throws InvalidComponentPresetException { - List result = new ArrayList(); + List result = new ArrayList(components.size()); for (int i = 0; i < components.size(); i++) { result.add(components.get(i).asComponentPreset(materials)); } return result; } + + public List asMaterialList() { + List result = new ArrayList( materials.size() ); + for( MaterialDTO material : materials ) { + result.add( material.asMaterial() ); + } + return result; + } }