]> git.gag.com Git - debian/openrocket/blobdiff - core/src/net/sf/openrocket/preset/loader/SurfaceMaterialColumnParser.java
Implement MaterialHolder, a container for the Material objects loaded during processi...
[debian/openrocket] / core / src / net / sf / openrocket / preset / loader / SurfaceMaterialColumnParser.java
index fc797fbd872c9ce8ef193725f05731781785d789..2dad9f0a8ac829e386b1cc63823ab98451696f52 100644 (file)
@@ -1,19 +1,16 @@
 package net.sf.openrocket.preset.loader;
 
-import java.util.Collections;
-import java.util.Map;
-
 import net.sf.openrocket.material.Material;
 import net.sf.openrocket.preset.TypedKey;
 import net.sf.openrocket.preset.TypedPropertyMap;
 
 public class SurfaceMaterialColumnParser extends BaseColumnParser {
 
-       private Map<String,Material> materialMap = Collections.<String,Material>emptyMap();
+       private final MaterialHolder materialMap;
 
        private final TypedKey<Material> param;
        
-       public SurfaceMaterialColumnParser(Map<String,Material> materialMap, String columnName, TypedKey<Material> param) {
+       public SurfaceMaterialColumnParser(MaterialHolder materialMap, String columnName, TypedKey<Material> param) {
                super(columnName);
                this.param = param;
                this.materialMap = materialMap;
@@ -27,16 +24,8 @@ public class SurfaceMaterialColumnParser extends BaseColumnParser {
                        return;
                }
                
-               Material.Surface myMaterial;
-
-               Material m = materialMap.get(columnData);
-               
-               if ( m == null || m.getType() != Material.Type.SURFACE ) {
-                       myMaterial = new Material.Surface(columnData, 0.0, true);
-               } else {
-                       myMaterial =(Material.Surface) m;
-               }
-               
+               Material.Surface myMaterial = new Material.Surface(columnData, 0.0, true);
+               myMaterial = materialMap.getSurfaceMaterial(myMaterial, null);
                props.put(param, myMaterial);
 
        }