projects
/
debian
/
openrocket
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
create changelog entry
[debian/openrocket]
/
core
/
src
/
net
/
sf
/
openrocket
/
preset
/
loader
/
MaterialColumnParser.java
diff --git
a/core/src/net/sf/openrocket/preset/loader/MaterialColumnParser.java
b/core/src/net/sf/openrocket/preset/loader/MaterialColumnParser.java
index c6ef8c5fa0cd4529d7da73244f314dd9cd5a2764..2d559bb747e1a92496ef30dde29cf4696bb3933e 100644
(file)
--- a/
core/src/net/sf/openrocket/preset/loader/MaterialColumnParser.java
+++ b/
core/src/net/sf/openrocket/preset/loader/MaterialColumnParser.java
@@
-1,31
+1,39
@@
package net.sf.openrocket.preset.loader;
package net.sf.openrocket.preset.loader;
-import java.util.Collections;
-import java.util.Map;
-
+import net.sf.openrocket.database.Databases;
import net.sf.openrocket.material.Material;
import net.sf.openrocket.preset.ComponentPreset;
import net.sf.openrocket.material.Material;
import net.sf.openrocket.preset.ComponentPreset;
+import net.sf.openrocket.preset.TypedKey;
import net.sf.openrocket.preset.TypedPropertyMap;
public class MaterialColumnParser extends BaseColumnParser {
import net.sf.openrocket.preset.TypedPropertyMap;
public class MaterialColumnParser extends BaseColumnParser {
-
- private Map<String,Material> materialMap = Collections.<String,Material>emptyMap();
- // FIXME - BULK vs other types.
+ private final MaterialHolder materialMap;
- public MaterialColumnParser(Map<String,Material> materialMap) {
- super("Material");
+ private final TypedKey<Material> param;
+
+ public MaterialColumnParser(MaterialHolder materialMap, String columnName, TypedKey<Material> param) {
+ super(columnName);
+ this.param = param;
+ this.materialMap = materialMap;
}
}
-
+
+ public MaterialColumnParser(MaterialHolder materialMap) {
+ this(materialMap, "Material", ComponentPreset.MATERIAL);
+ }
+
+
@Override
protected void doParse(String columnData, String[] data, TypedPropertyMap props) {
@Override
protected void doParse(String columnData, String[] data, TypedPropertyMap props) {
-
- Material m = materialMap.get(columnData);
- if ( m == null ) {
- m = new Material.Bulk(columnData, 0.0, true);
+
+ if (columnData == null || "".equals(columnData.trim())) {
+ return;
}
}
- props.put(ComponentPreset.MATERIAL, m);
+
+ Material.Bulk tmpMaterial = (Material.Bulk) Databases.findMaterial(Material.Type.BULK, columnData, 0.0);
+ Material.Bulk m = materialMap.getBulkMaterial(tmpMaterial);
+ props.put(param, m != null ? m : tmpMaterial);
}
}
-
+
}
}