Changeset 12057 in josm for trunk/src/org/openstreetmap/josm/data/osm/DataSet.java
- Timestamp:
- 2017-05-03T22:19:58+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/osm/DataSet.java
r12056 r12057 22 22 import java.util.function.Function; 23 23 import java.util.function.Predicate; 24 import java.util.stream.Collectors;25 24 import java.util.stream.Stream; 26 25 … … 575 574 if (primitive == null) 576 575 return; 576 clearSelection(primitiveId); 577 577 super.removePrimitive(primitive); 578 clearSelection(primitiveId);579 578 allPrimitives.remove(primitive); 580 579 primitive.setDataset(null); … … 1246 1245 beginUpdate(); 1247 1246 try { 1248 cleanupDeleted(Stream.concat( 1249 getNodes().stream(), Stream.concat(getNodes().stream(), getNodes().stream()))); 1247 Collection<OsmPrimitive> toCleanUp = getPrimitives(primitive -> primitive.isDeleted() && (!primitive.isVisible() || primitive.isNew())); 1248 if (!toCleanUp.isEmpty()) { 1249 clearSelection(toCleanUp.stream().map(OsmPrimitive::getPrimitiveId)); 1250 for (OsmPrimitive primitive : toCleanUp) { 1251 allPrimitives.remove(primitive); 1252 removePrimitive(primitive); 1253 primitive.setDataset(null); 1254 } 1255 firePrimitivesRemoved(toCleanUp, false); 1256 } 1250 1257 } finally { 1251 1258 endUpdate(); 1252 1259 } 1253 }1254 1255 private void cleanupDeleted(Stream<? extends OsmPrimitive> it) {1256 it.filter(primitive -> primitive.isDeleted() && (!primitive.isVisible() || primitive.isNew()))1257 .collect(Collectors.toList())1258 .forEach(primitive -> this.removePrimitive(primitive.getPrimitiveId()));1259 1260 1260 } 1261 1261
Note:
See TracChangeset
for help on using the changeset viewer.