Changeset 29172 in osm for applications/editors/josm/plugins/smed2/src/s57
- Timestamp:
- 2013-01-05T16:09:17+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/smed2/src/s57/S57val.java
r29152 r29172 1052 1052 keys.put(Att.VALMXR, new S57key(Conv.F, null)); keys.put(Att.VALNMR, new S57key(Conv.F, null)); keys.put(Att.VALSOU, new S57key(Conv.F, null)); 1053 1053 keys.put(Att.VERACC, new S57key(Conv.F, null)); keys.put(Att.VERCLR, new S57key(Conv.F, null)); keys.put(Att.VERCCL, new S57key(Conv.F, null)); 1054 keys.put(Att.VERCOP, new S57key(Conv.F, null)); keys.put(Att.VERCSA, new S57key(Conv.F, null)); keys.put(Att.VERDAT, new S57key(Conv.E, null));1054 keys.put(Att.VERCOP, new S57key(Conv.F, null)); keys.put(Att.VERCSA, new S57key(Conv.F, null)); keys.put(Att.VERDAT, new S57key(Conv.E, Verdat)); 1055 1055 keys.put(Att.VERLEN, new S57key(Conv.F, null)); keys.put(Att.WATLEV, new S57key(Conv.E, Watlev)); keys.put(Att.CAT_TS, new S57key(Conv.E, Cat_ts)); 1056 1056 keys.put(Att.PUNITS, new S57key(Conv.E, Punits)); keys.put(Att.NINFOM, new S57key(Conv.S, null)); keys.put(Att.NOBJNM, new S57key(Conv.S, null)); … … 1134 1134 return ""; 1135 1135 } 1136 1137 public static Enum<?> enumValue(String val, Att att) { 1136 1137 public static Enum<?> enumValue(String val, Att att) { // Convert OSeaM attribute value string to OSeaM enumeration 1138 1138 EnumMap<?, ?> map = keys.get(att).map; 1139 1139 Enum<?> unkn = null; 1140 for (Object item : map.keySet()) { 1141 if (unkn == null) unkn = (Enum<?>)item; 1142 if (((S57enum)map.get(item)).val.equals(val)) 1143 return (Enum<?>)item; 1140 if (map != null) { 1141 for (Object item : map.keySet()) { 1142 if (unkn == null) 1143 unkn = (Enum<?>) item; 1144 if (((S57enum) map.get(item)).val.equals(val)) 1145 return (Enum<?>) item; 1146 } 1144 1147 } 1145 1148 return unkn; 1146 1149 } 1147 1148 public static AttVal convertValue(String val, Att att) { 1150 1151 public static AttVal convertValue(String val, Att att) { // Convert OSeaM attribute value string to OSeaM value struct 1149 1152 switch (keys.get(att).conv) { 1150 1153 case A: 1151 1154 case S: 1152 return new AttVal(att, keys.get(att).conv, val);1155 return new AttVal(att, Conv.S, val); 1153 1156 case E: 1154 keys.get(att).conv, enumValue(val, att));1157 return new AttVal(att, Conv.E, enumValue(val, att)); 1155 1158 case L: 1156 ArrayList list = new ArrayList(); 1159 ArrayList<Enum<?>> list = new ArrayList<Enum<?>>(); 1157 1160 for (String item : val.split(";")) { 1158 1161 list.add(enumValue(item, att)); 1159 1162 } 1160 return new AttVal(att, keys.get(att).conv, list);1163 return new AttVal(att, Conv.L, list); 1161 1164 case I: 1162 return new AttVal(att, keys.get(att).conv, Integer.parseInt(val)); 1165 try { 1166 long i = Long.parseLong(val); 1167 return new AttVal(att, Conv.I, i); 1168 } catch (Exception e) { 1169 break; 1170 } 1163 1171 case F: 1164 return new AttVal(att, keys.get(att).conv, Float.parseFloat(val)); 1172 try { 1173 double f = Double.parseDouble(val); 1174 return new AttVal(att, Conv.F, f); 1175 } catch (Exception e) { 1176 break; 1177 } 1165 1178 } 1166 1179 return new AttVal(att, keys.get(att).conv, null);
Note:
See TracChangeset
for help on using the changeset viewer.