Ticket #18137: 18137.1.patch

File 18137.1.patch, 1.4 KB (added by taylor.smock, 6 years ago)

Check if we know if the latlon exists before we add it to the nextNodes variable, also modify if statements for if else if else.

  • src/org/openstreetmap/josm/data/validation/tests/UnconnectedWays.java

     
    447447                    if (isCandidate(way)) {
    448448                        List<Node> nextNodes = new ArrayList<>();
    449449                        int pos = way.getNodes().indexOf(node);
    450                         if (pos > 0) {
    451                             nextNodes.add(way.getNode(pos - 1));
    452                         }
     450                        Node temporaryNode;
    453451                        if (pos + 1 < way.getNodesCount()) {
    454                             nextNodes.add(way.getNode(pos + 1));
     452                            temporaryNode = way.getNode(pos + 1);
     453                        } else if (pos > 0) {
     454                            temporaryNode = way.getNode(pos - 1);
     455                        } else {
     456                            temporaryNode = null;
    455457                        }
     458                        if (temporaryNode != null && temporaryNode.isLatLonKnown()) {
     459                            nextNodes.add(temporaryNode);
     460                        }
    456461                        for (Node next : nextNodes) {
    457462                            final boolean containsN = visited.contains(next);
    458463                            visited.add(next);