Changeset 2166 in josm for trunk/src/org/openstreetmap/josm/command
- Timestamp:
- 2009-09-20T11:07:46+02:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/command/DeleteCommand.java
r2070 r2166 163 163 public static Command deleteWithReferences(OsmDataLayer layer, Collection<? extends OsmPrimitive> selection, boolean simulate) { 164 164 CollectBackReferencesVisitor v = new CollectBackReferencesVisitor(layer.data); 165 v.initialize(); 165 166 for (OsmPrimitive osm : selection) { 166 167 osm.visit(v); 167 168 } 168 v. data.addAll(selection);169 if (v. data.isEmpty())169 v.getData().addAll(selection); 170 if (v.getData().isEmpty()) 170 171 return null; 171 if (!checkAndConfirmOutlyingDeletes(layer,v. data) && !simulate)172 if (!checkAndConfirmOutlyingDeletes(layer,v.getData()) && !simulate) 172 173 return null; 173 return new DeleteCommand(layer,v. data);174 return new DeleteCommand(layer,v.getData()); 174 175 } 175 176 … … 239 240 protected static Collection<Node> computeNodesToDelete(OsmDataLayer layer, Collection<OsmPrimitive> primitivesToDelete) { 240 241 Collection<Node> nodesToDelete = new HashSet<Node>(); 242 CollectBackReferencesVisitor v = new CollectBackReferencesVisitor(layer.data, false); 241 243 for (OsmPrimitive osm : primitivesToDelete) { 242 244 if (! (osm instanceof Way) ) { … … 247 249 continue; 248 250 } 249 CollectBackReferencesVisitor v = new CollectBackReferencesVisitor(layer.data, false);251 v.initialize(); 250 252 n.visit(v); 251 v. data.removeAll(primitivesToDelete);252 if (v. data.isEmpty()) {253 v.getData().removeAll(primitivesToDelete); 254 if (v.getData().isEmpty()) { 253 255 nodesToDelete.add(n); 254 256 } … … 297 299 return null; 298 300 301 CollectBackReferencesVisitor v = new CollectBackReferencesVisitor(layer.data, false); 299 302 for (OsmPrimitive osm : primitivesToDelete) { 300 CollectBackReferencesVisitor v = new CollectBackReferencesVisitor(layer.data, false);303 v.initialize(); 301 304 osm.visit(v); 302 for (OsmPrimitive ref : v. data) {305 for (OsmPrimitive ref : v.getData()) { 303 306 if (primitivesToDelete.contains(ref)) { 304 307 continue; … … 328 331 primitivesToDelete.add(w); 329 332 330 CollectBackReferencesVisitor v = new CollectBackReferencesVisitor(layer.data, false);333 v.initialize(); 331 334 w.visit(v); 332 for (OsmPrimitive ref : v. data) {335 for (OsmPrimitive ref : v.getData()) { 333 336 if (primitivesToDelete.contains(ref)) { 334 337 continue;
Note: See TracChangeset
for help on using the changeset viewer.