create changelog entry
[debian/openrocket] / core / src / net / sf / openrocket / preset / loader / NoseConeLoader.java
1 package net.sf.openrocket.preset.loader;
2
3 import net.sf.openrocket.preset.ComponentPreset;
4 import net.sf.openrocket.preset.ComponentPreset.Type;
5 import net.sf.openrocket.preset.TypedPropertyMap;
6
7 import java.io.File;
8
9 public class NoseConeLoader extends BaseComponentLoader {
10
11         public NoseConeLoader(MaterialHolder materials, File theBasePath) {
12                 super(materials, theBasePath);
13                 fileColumns.add(new DoubleUnitColumnParser("Outer Dia","Units",ComponentPreset.AFT_OUTER_DIAMETER));
14                 fileColumns.add(new DoubleUnitColumnParser("Length","Units",ComponentPreset.LENGTH));
15                 fileColumns.add(new DoubleUnitColumnParser("Insert Length","Units",ComponentPreset.AFT_SHOULDER_LENGTH));
16                 fileColumns.add(new DoubleUnitColumnParser("Insert OD","Units",ComponentPreset.AFT_SHOULDER_DIAMETER));
17                 fileColumns.add(new DoubleUnitColumnParser("Thickness","Units",ComponentPreset.THICKNESS));
18                 fileColumns.add(new ShapeColumnParser() );
19         }
20
21         @Override
22         protected Type getComponentPresetType() {
23                 return ComponentPreset.Type.NOSE_CONE;
24         }
25
26         @Override
27         protected RocksimComponentFileType getFileType() {
28                 return RocksimComponentFileType.NOSE_CONE;
29         }
30
31         @Override
32         protected void postProcess(TypedPropertyMap props) {
33
34                 if ( props.containsKey( ComponentPreset.THICKNESS )) {
35                         double thickness = props.get(ComponentPreset.THICKNESS);
36                         if ( thickness == 0d ) {
37                                 props.remove( ComponentPreset.THICKNESS );
38                                 props.put(ComponentPreset.FILLED, true);
39                         }
40                 }
41                 super.postProcess(props);
42         }
43
44 }