Changeset 30992 in osm for applications/editors/josm/plugins/seachart/src/s57/S57val.java
- Timestamp:
- 2015-02-15T19:38:42+01:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/seachart/src/s57/S57val.java
r30894 r30992 1105 1105 } 1106 1106 1107 public static Enum<?> s57Enum(String val, Att att) { // Convert S57 attribute value string toOSeaM enumeration1107 public static Enum<?> s57Enum(String val, Att att) { // Convert S57 attribute value string to SCM enumeration 1108 1108 EnumMap<?, ?> map = keys.get(att).map; 1109 1109 Enum<?> unkn = null; … … 1125 1125 } 1126 1126 1127 public static AttVal<?> decodeValue(String val, Att att) { // Convert S57 attribute value string toOSeaM attribute value1127 public static AttVal<?> decodeValue(String val, Att att) { // Convert S57 attribute value string to SCM attribute value 1128 1128 Conv conv = keys.get(att).conv; 1129 1129 switch (conv) { … … 1132 1132 return new AttVal<String>(att, conv, val); 1133 1133 case E: 1134 return new AttVal<Enum<?>>(att, Conv.E, s57Enum(val, att)); 1134 ArrayList<Enum<?>> list = new ArrayList<Enum<?>>(); 1135 list.add(s57Enum(val, att)); 1136 return new AttVal<ArrayList<?>>(att, Conv.E, list); 1135 1137 case L: 1136 ArrayList<Enum<?>>list = new ArrayList<Enum<?>>();1138 list = new ArrayList<Enum<?>>(); 1137 1139 for (String item : val.split(",")) { 1138 1140 list.add(s57Enum(item, att)); … … 1155 1157 } 1156 1158 1157 public static Integer encodeValue(String val, Att att) { // Convert OSeaM attribute value string to S57 attribute value1159 public static Integer encodeValue(String val, Att att) { // Convert OSM attribute value string to S57 attribute value 1158 1160 EnumMap<?, ?> map = keys.get(att).map; 1159 1161 for (Object item : map.keySet()) { … … 1165 1167 1166 1168 1167 public static String stringValue(AttVal<?> attval) { // ConvertOSeaM value object to OSeaM attribute value string1169 public static String stringValue(AttVal<?> attval) { // Convert SCM value object to OSM attribute value string 1168 1170 if (attval != null) { 1169 1171 switch (attval.conv) { … … 1173 1175 case E: 1174 1176 EnumMap<?, ?> map = keys.get(attval.att).map; 1175 return ((S57enum) map.get(attval.val)).val; 1177 return ((S57enum) map.get(((ArrayList<?>) attval.val).get(0))).val; 1176 1178 case L: 1177 1179 String str = ""; … … 1192 1194 } 1193 1195 1194 public static Enum<?> osmEnum(String val, Att att) { // Convert OSeaM attribute value string toOSeaM enumeration1196 public static Enum<?> osmEnum(String val, Att att) { // Convert OSM attribute value string to SCM enumeration 1195 1197 EnumMap<?, ?> map = keys.get(att).map; 1196 1198 Enum<?> unkn = null; … … 1206 1208 } 1207 1209 1208 public static AttVal<?> convertValue(String val, Att att) { // Convert OSeaM attribute value string toOSeaM value object1210 public static AttVal<?> convertValue(String val, Att att) { // Convert OSM attribute value string to SCM attribute value 1209 1211 switch (keys.get(att).conv) { 1210 1212 case A: … … 1212 1214 return new AttVal<String>(att, Conv.S, val); 1213 1215 case E: 1214 return new AttVal<Enum<?>>(att, Conv.E, osmEnum(val, att)); 1216 ArrayList<Enum<?>> list = new ArrayList<Enum<?>>(); 1217 list.add(osmEnum(val, att)); 1218 return new AttVal<ArrayList<?>>(att, Conv.E, list); 1215 1219 case L: 1216 ArrayList<Enum<?>>list = new ArrayList<Enum<?>>();1220 list = new ArrayList<Enum<?>>(); 1217 1221 for (String item : val.split(";")) { 1218 1222 list.add(osmEnum(item, att)); … … 1234 1238 return new AttVal<Object>(att, keys.get(att).conv, null); 1235 1239 } 1240 1241 public static Enum<?> unknAtt(Att att) { 1242 return (Enum<?>)(keys.get(att).map.keySet().toArray()[0]); 1243 } 1236 1244 1237 1245 }
Note:
See TracChangeset
for help on using the changeset viewer.
