Ignore:
Timestamp:
2013-01-05T16:09:17+01:00 (12 years ago)
Author:
malcolmh
Message:

save

File:
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/smed2/src/s57/S57val.java

    r29152 r29172  
    10521052                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));
    10531053                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));
    10551055                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));
    10561056                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));
     
    11341134                return "";
    11351135        }
    1136        
    1137         public static Enum<?> enumValue(String val, Att att) {           // Convert OSeaM attribute value string to OSeaM enumeration
     1136
     1137        public static Enum<?> enumValue(String val, Att att) { // Convert OSeaM attribute value string to OSeaM enumeration
    11381138                EnumMap<?, ?> map = keys.get(att).map;
    11391139                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                        }
    11441147                }
    11451148                return unkn;
    11461149        }
    1147        
    1148         public static AttVal convertValue(String val, Att att) {         // Convert OSeaM attribute value string to OSeaM value struct
     1150
     1151        public static AttVal convertValue(String val, Att att) {                                // Convert OSeaM attribute value string to OSeaM value struct
    11491152                switch (keys.get(att).conv) {
    11501153                case A:
    11511154                case S:
    1152                         return new AttVal(att, keys.get(att).conv, val);
     1155                        return new AttVal(att, Conv.S, val);
    11531156                case E:
    1154                                 return new AttVal(att, keys.get(att).conv, enumValue(val, att));
     1157                        return new AttVal(att, Conv.E, enumValue(val, att));
    11551158                case L:
    1156                         ArrayList list = new ArrayList();
     1159                        ArrayList<Enum<?>> list = new ArrayList<Enum<?>>();
    11571160                        for (String item : val.split(";")) {
    11581161                                list.add(enumValue(item, att));
    11591162                        }
    1160                         return new AttVal(att, keys.get(att).conv, list);
     1163                        return new AttVal(att, Conv.L, list);
    11611164                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                        }
    11631171                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                        }
    11651178                }
    11661179                return new AttVal(att, keys.get(att).conv, null);
Note: See TracChangeset for help on using the changeset viewer.