Ticket #19951: 19951.patch

File 19951.patch, 1.4 KB (added by GerdP, 5 years ago)

simple solution without new I18n strings shows Multipolygon is not closed

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

     
    184184    private void checkGeometryAndRoles(Relation r, Multipolygon polygon) {
    185185        int oldErrorsSize = errors.size();
    186186
     187        Map<Long, RelationMember> wayMap = r.getMembers().stream()
     188                .filter(RelationMember::isWay)
     189                .collect(Collectors.toMap(mem -> mem.getWay().getUniqueId(), mem -> mem, (a, b) -> b));
    187190        List<Node> openNodes = polygon.getOpenEnds();
    188         if (!openNodes.isEmpty()) {
     191        if (!openNodes.isEmpty() || wayMap.isEmpty()) {
    189192            errors.add(TestError.builder(this, Severity.ERROR, NON_CLOSED_WAY)
    190193                    .message(tr("Multipolygon is not closed"))
    191194                    .primitives(combineRelAndPrimitives(r, openNodes))
     
    193196                    .build());
    194197        }
    195198
    196         Map<Long, RelationMember> wayMap = r.getMembers().stream()
    197                 .filter(RelationMember::isWay)
    198                 .collect(Collectors.toMap(mem -> mem.getWay().getUniqueId(), mem -> mem, (a, b) -> b));
    199199        // duplicate members were checked before
    200200        if (wayMap.isEmpty())
    201201            return;