Changeset 3129 in josm for trunk/src/org/openstreetmap/josm/io/OsmReader.java
- Timestamp:
- 13.03.2010 15:34:25 (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/io/OsmReader.java
r2971 r3129 32 32 import org.openstreetmap.josm.data.osm.RelationMember; 33 33 import org.openstreetmap.josm.data.osm.SimplePrimitiveId; 34 import org.openstreetmap.josm.data.osm.Storage; 34 35 import org.openstreetmap.josm.data.osm.User; 35 36 import org.openstreetmap.josm.data.osm.Way; … … 119 120 private long currentExternalId; 120 121 private String generator; 122 private Storage<String> internedStrings = new Storage<String>(); 123 124 // Memory optimization - see #2312 125 private String intern(String s) { 126 String result = internedStrings.get(s); 127 if (result == null) { 128 internedStrings.put(s); 129 return s; 130 } else 131 return result; 132 } 121 133 122 134 @Override public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException { 135 123 136 if (qName.equals("osm")) { 124 137 if (atts == null) { … … 258 271 String key = atts.getValue("k"); 259 272 String value = atts.getValue("v"); 260 currentPrimitive.put(key, value); 273 currentPrimitive.put(intern(key), intern(value)); 274 261 275 } else { 262 276 System.out.println(tr("Undefined element ''{0}'' found in input stream. Skipping.", qName));
Note: See TracChangeset
for help on using the changeset viewer.
