- Timestamp:
- 2006-02-14T21:07:29+01:00 (20 years ago)
- Location:
- src/org/openstreetmap/josm/io
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/org/openstreetmap/josm/io/OsmReader.java
r47 r53 104 104 for (Object o : e.getChildren()) { 105 105 Element child = (Element)o; 106 if (child.getName().equals("deleted")) { 107 for (Object delObj : child.getChildren()) { 108 OsmPrimitive osm = parseObject((Element)delObj, data); 109 if (osm != null) { 110 osm.visit(visitor); 111 osm.setDeleted(true); 112 } 113 } 114 } else { 115 OsmPrimitive osm = parseObject(child, data); 116 if (osm != null) 117 osm.visit(visitor); 118 } 106 OsmPrimitive osm = parseObject(child, data); 107 if (osm != null) 108 osm.visit(visitor); 119 109 } 120 110 … … 201 191 } 202 192 } 193 194 String action = e.getAttributeValue("action"); 195 if ("delete".equals(action)) 196 data.setDeleted(true); 197 else if ("modify".equals(action)) 198 data.modified = data.modifiedProperties = true; 199 else if ("modify/property".equals(action)) 200 data.modifiedProperties = true; 201 else if ("modify/object".equals(action)) 202 data.modified = true; 203 203 } 204 204 -
src/org/openstreetmap/josm/io/OsmWriter.java
r49 r53 69 69 List<Element> list = root.getChildren(); 70 70 properties = new LinkedList<Element>(); 71 for (OsmPrimitive osm : ds.all NonDeletedPrimitives()) {71 for (OsmPrimitive osm : ds.allPrimitives()) { 72 72 osm.visit(this); 73 73 list.add(element); 74 74 } 75 75 list.addAll(properties); 76 properties = new LinkedList<Element>();77 Element deleted = new Element("deleted");78 Collection<Element> allDeleted = deleted.getChildren();79 for (OsmPrimitive osm : ds.allPrimitives()) {80 if (osm.isDeleted() && osm.id != 0) {81 osm.visit(this);82 allDeleted.add(element);83 }84 }85 allDeleted.addAll(properties);86 if (!allDeleted.isEmpty())87 list.add(deleted);88 76 89 77 Document d = new Document(root); … … 117 105 for (Entry<Key, String> entry : osm.keys.entrySet()) 118 106 properties.add(parseProperty(osm, entry)); 107 if (osm.isDeleted()) 108 e.setAttribute("action", "delete"); 109 else if (osm.modified && osm.modifiedProperties) 110 e.setAttribute("action", "modify"); 111 else if (osm.modified && !osm.modifiedProperties) 112 e.setAttribute("action", "modify/object"); 113 else if (!osm.modified && osm.modifiedProperties) 114 e.setAttribute("action", "modify/property"); 119 115 } 120 116
Note:
See TracChangeset
for help on using the changeset viewer.