Changeset 4796 in josm for trunk/src/org/openstreetmap/josm/gui
- Timestamp:
- 2012-01-15T21:28:46+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/widgets/OsmIdTextField.java
r4081 r4796 92 92 93 93 public boolean readOsmIds() { 94 String value 94 String value = getComponent().getText(); 95 95 char c; 96 if (value == null || value.trim().length() == 0) return false; 97 try { 98 ids.clear(); 99 StringTokenizer st = new StringTokenizer(value,",.+/ \t\n"); 100 String s; 101 while (st.hasMoreTokens()) { 102 s = st.nextToken(); 103 // convert tokens to int skipping v-words (version v2 etc) 104 c = s.charAt(0); 105 if (c=='v') { 106 continue; 107 } 108 else if (c=='n') { 109 ids.add(new SimplePrimitiveId(Long.parseLong(s.substring(1)), OsmPrimitiveType.NODE)); 110 } else if (c=='w') { 111 ids.add(new SimplePrimitiveId(Long.parseLong(s.substring(1)), OsmPrimitiveType.WAY)); 112 } else if (c=='r') { 113 ids.add(new SimplePrimitiveId(Long.parseLong(s.substring(1)), OsmPrimitiveType.RELATION)); 114 } else if (type==OsmPrimitiveType.NODE) { 115 ids.add(new SimplePrimitiveId(Long.parseLong(s), OsmPrimitiveType.NODE)); 116 } else if (type==OsmPrimitiveType.WAY) { 117 ids.add(new SimplePrimitiveId(Long.parseLong(s), OsmPrimitiveType.WAY)); 118 } else if (type==OsmPrimitiveType.RELATION) { 119 ids.add(new SimplePrimitiveId(Long.parseLong(s), OsmPrimitiveType.RELATION)); 96 if (value == null || value.trim().length() == 0) { 97 return false; 98 } 99 ids.clear(); 100 StringTokenizer st = new StringTokenizer(value, ",.+/ \t\n"); 101 String s; 102 while (st.hasMoreTokens()) { 103 s = st.nextToken(); 104 // convert tokens to int skipping v-words (version v2 etc) 105 c = s.charAt(0); 106 if (c == 'v') { 107 continue; 108 } else { 109 try { 110 ids.add(SimplePrimitiveId.fromString(s)); 111 } catch (IllegalArgumentException ex) { 112 if (type == OsmPrimitiveType.NODE) { 113 ids.add(new SimplePrimitiveId(Long.parseLong(s), OsmPrimitiveType.NODE)); 114 } else if (type == OsmPrimitiveType.WAY) { 115 ids.add(new SimplePrimitiveId(Long.parseLong(s), OsmPrimitiveType.WAY)); 116 } else if (type == OsmPrimitiveType.RELATION) { 117 ids.add(new SimplePrimitiveId(Long.parseLong(s), OsmPrimitiveType.RELATION)); 118 } else { 119 return false; 120 } 120 121 } 121 122 } 122 return true;123 } catch(NumberFormatException e) {124 return false;125 123 } 124 return true; 126 125 } 127 126 }
Note:
See TracChangeset
for help on using the changeset viewer.