From d8969f38ebe52d3b24480a93f58300615ee8cc8f Mon Sep 17 00:00:00 2001 From: Taylor Smock Date: Tue, 18 Aug 2020 11:43:37 -0600 Subject: [PATCH] FIXUP: Don't try to use non-highway objects when adding a node to another way Signed-off-by: Taylor Smock --- .../commands/cleanup/MissingConnectionTags.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/openstreetmap/josm/plugins/mapwithai/commands/cleanup/MissingConnectionTags.java b/src/main/java/org/openstreetmap/josm/plugins/mapwithai/commands/cleanup/MissingConnectionTags.java index 22d76cb..3819406 100644 --- a/src/main/java/org/openstreetmap/josm/plugins/mapwithai/commands/cleanup/MissingConnectionTags.java +++ b/src/main/java/org/openstreetmap/josm/plugins/mapwithai/commands/cleanup/MissingConnectionTags.java @@ -190,12 +190,12 @@ public class MissingConnectionTags extends AbstractConflationCommand { for (Way way : Utils.filteredCollection(possiblyAffectedPrimitives, Way.class)) { Collection seenFix = new HashSet<>(); crossingWays.startTest(NullProgressMonitor.INSTANCE); - way.getDataSet().searchWays(way.getBBox()).forEach(crossingWays::visit); + way.getDataSet().searchWays(way.getBBox()).stream().filter(w -> w.hasKey(HIGHWAY)) + .forEach(crossingWays::visit); crossingWays.endTest(); for (TestError error : crossingWays.getErrors()) { - if (seenFix.containsAll(error.getPrimitives()) - || error.getPrimitives().stream().filter(Way.class::isInstance).map(Way.class::cast) - .filter(w -> w.hasKey(HIGHWAY)).count() == 0L) { + if (seenFix.containsAll(error.getPrimitives()) || error.getPrimitives().stream() + .filter(Way.class::isInstance).map(Way.class::cast).noneMatch(w -> w.hasKey(HIGHWAY))) { continue; } TestError.Builder fixError = TestError.builder(error.getTester(), error.getSeverity(), error.getCode()) @@ -229,7 +229,7 @@ public class MissingConnectionTags extends AbstractConflationCommand { Collection commands = new ArrayList<>(); if (intersectionNodes.stream().anyMatch(way::containsNode)) { Collection searchWays = way.getDataSet().searchWays(way.getBBox()).parallelStream() - .collect(Collectors.toList()); + .filter(w -> w.hasKey(HIGHWAY)).collect(Collectors.toList()); searchWays.remove(way); for (Way potential : searchWays) { for (Node node : way.getNodes()) {