Changeset 16445 in josm for trunk/src/org/openstreetmap/josm/data/validation/tests/DuplicateWay.java
- Timestamp:
- 2020-05-17T17:02:28+02:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/validation/tests/DuplicateWay.java
r14654 r16445 14 14 import java.util.Set; 15 15 import java.util.stream.Collectors; 16 import java.util.stream.IntStream; 16 17 17 18 import org.openstreetmap.josm.command.ChangeCommand; … … 227 228 } 228 229 } 229 for (int i =lowestIndex; i <wNodes.size()-1; i++) {230 wNodesToUse.add(wNodes.get(i));231 }230 IntStream.range(lowestIndex, wNodes.size() - 1) 231 .mapToObj(wNodes::get) 232 .forEach(wNodesToUse::add); 232 233 for (int i = 0; i < lowestIndex; i++) { 233 234 wNodesToUse.add(wNodes.get(i)); … … 238 239 } 239 240 // Build the list of lat/lon 240 List<LatLon> wLat = new ArrayList<>(wNodesToUse.size()); 241 for (Node node : wNodesToUse) { 242 wLat.add(node.getCoor()); 243 } 244 return wLat; 241 242 return wNodesToUse.stream() 243 .map(Node::getCoor) 244 .collect(Collectors.toList()); 245 245 } 246 246 … … 250 250 @Override 251 251 public Command fixError(TestError testError) { 252 Collection<? extends OsmPrimitive> sel = testError.getPrimitives(); 253 Set<Way> wayz = new HashSet<>(); 254 255 for (OsmPrimitive osm : sel) { 256 if (osm instanceof Way && !osm.isDeleted()) { 257 wayz.add((Way) osm); 258 } 259 } 252 Set<Way> wayz = testError.primitives(Way.class) 253 .filter(w -> !w.isDeleted()) 254 .collect(Collectors.toSet()); 260 255 261 256 if (wayz.size() < 2) … … 315 310 316 311 // We fix it only if there is no more than one way that is relation member. 317 Collection<? extends OsmPrimitive> sel = testError.getPrimitives(); 318 Set<Way> wayz = new HashSet<>(); 319 320 for (OsmPrimitive osm : sel) { 321 if (osm instanceof Way) { 322 wayz.add((Way) osm); 323 } 324 } 325 312 Set<Way> wayz = testError.primitives(Way.class).collect(Collectors.toSet()); 326 313 if (wayz.size() < 2) 327 314 return false; 328 315 329 int waysWithRelations = 0; 330 for (Way w : wayz) { 331 List<Relation> rel = w.referrers(Relation.class).collect(Collectors.toList()); 332 if (!rel.isEmpty()) { 333 ++waysWithRelations; 334 } 335 } 316 long waysWithRelations = wayz.stream() 317 .filter(w -> w.referrers(Relation.class).anyMatch(x -> true)) 318 .count(); 336 319 return waysWithRelations <= 1; 337 320 }
Note:
See TracChangeset
for help on using the changeset viewer.
