Changeset 19172 in josm for trunk/src/org


Ignore:
Timestamp:
2024-08-07T16:34:44+02:00 (5 months ago)
Author:
taylor.smock
Message:

Fix #23290: Use checks in checkgroups when looking for out-of-region tags

Also fix an i18n issue and update a test to use a key that is currently invalid
in a region.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java

    r19170 r19172  
    417417                    } else if (i instanceof CheckGroup) {
    418418                        for (Check c : ((CheckGroup) i).checks) {
     419                            if (!"none".equals(c.match))
     420                                minData.add(c);
    419421                            addPresetValue(c);
    420422                        }
     
    422424                }
    423425                if (!minData.isEmpty()) {
    424                     presetIndex .put(p, minData);
     426                    presetIndex.put(p, minData);
    425427                }
    426428            }
     
    855857    private static boolean primitiveInRegions(IPrimitive primitive, Collection<String> regions, boolean excludeRegions) {
    856858        if (primitive instanceof INode) {
    857             return latLonInRegions((INode) primitive, regions) == excludeRegions;
     859            // 4 options:
     860            // In Region    | excluding region  | expected
     861            // true         | false             | true
     862            // true         | true              | false
     863            // false        | false             | false
     864            // false        | true              | true
     865            return latLonInRegions((INode) primitive, regions) != excludeRegions;
    858866        } else if (primitive instanceof IWay) {
    859867            return ((IWay<?>) primitive).getNodes().stream().anyMatch(n -> primitiveInRegions(n, regions, excludeRegions));
Note: See TracChangeset for help on using the changeset viewer.