Changeset 16332 in josm for trunk/src/org/openstreetmap/josm


Ignore:
Timestamp:
2020-04-18T10:41:22+02:00 (4 years ago)
Author:
simon04
Message:

Java 8: use Stream

Location:
trunk/src/org/openstreetmap/josm/data/validation
Files:
3 edited

Legend:

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

    r16154 r16332  
    1010import java.util.Optional;
    1111import java.util.function.Predicate;
     12import java.util.stream.Collectors;
    1213
    1314import javax.swing.JCheckBox;
     
    336337     */
    337338    protected final Command deletePrimitivesIfNeeded(Collection<? extends OsmPrimitive> primitives) {
    338         Collection<OsmPrimitive> primitivesToDelete = new ArrayList<>();
    339         for (OsmPrimitive p : primitives) {
    340             if (!p.isDeleted()) {
    341                 primitivesToDelete.add(p);
    342             }
    343         }
     339        Collection<OsmPrimitive> primitivesToDelete = primitives.stream()
     340                .filter(p -> !p.isDeleted())
     341                .collect(Collectors.toList());
    344342        if (!primitivesToDelete.isEmpty()) {
    345343            return DeleteCommand.delete(primitivesToDelete);
  • trunk/src/org/openstreetmap/josm/data/validation/tests/DuplicateNode.java

    r14654 r16332  
    320320        if (nodes.size() >= 2) {
    321321            // Use first existing node or first node if all nodes are new
    322             Node target = null;
    323             for (Node n: nodes) {
    324                 if (!n.isNew()) {
    325                     target = n;
    326                     break;
    327                 }
    328             }
    329             if (target == null) {
    330                 target = nodes.iterator().next();
    331             }
     322            Node target = nodes.stream()
     323                    .filter(n -> !n.isNew())
     324                    .findFirst()
     325                    .orElseGet(() -> nodes.iterator().next());
    332326
    333327            if (Command.checkOutlyingOrIncompleteOperation(nodes, Collections.singleton(target)) == Command.IS_OK)
  • trunk/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java

    r16230 r16332  
    217217            if (isKeyIgnored(key))
    218218                continue;
    219             boolean allNumerical = true;
    220219            Set<String> values = TaggingPresets.getPresetValues(key);
    221             if (values.isEmpty())
    222                 allNumerical = false;
    223             for (String val : values) {
    224                 if (!isNum(val)) {
    225                     allNumerical = false;
    226                     break;
    227                 }
    228             }
     220            boolean allNumerical = values != null && !values.isEmpty()
     221                    && values.stream().allMatch(TagChecker::isNum);
    229222            if (allNumerical) {
    230223                ignoreForLevenshtein.add(key);
     
    394387    private static void initAdditionalPresetsValueData() {
    395388        additionalPresetsValueData = new HashSet<>();
    396         for (String a : AbstractPrimitive.getUninterestingKeys()) {
    397             additionalPresetsValueData.add(a);
    398         }
    399         for (String a : Config.getPref().getList(ValidatorPrefHelper.PREFIX + ".knownkeys",
    400                 Arrays.asList("is_in", "int_ref", "fixme", "population"))) {
    401             additionalPresetsValueData.add(a);
    402         }
     389        additionalPresetsValueData.addAll(AbstractPrimitive.getUninterestingKeys());
     390        additionalPresetsValueData.addAll(Config.getPref().getList(
     391                ValidatorPrefHelper.PREFIX + ".knownkeys",
     392                Arrays.asList("is_in", "int_ref", "fixme", "population")));
    403393    }
    404394
     
    575565     */
    576566    private static boolean isKeyIgnored(String key) {
    577         if (ignoreDataEquals.contains(key)) {
    578             return true;
    579         }
    580         for (String a : ignoreDataStartsWith) {
    581             if (key.startsWith(a)) {
    582                 return true;
    583             }
    584         }
    585         for (String a : ignoreDataEndsWith) {
    586             if (key.endsWith(a)) {
    587                 return true;
    588             }
    589         }
    590         return false;
     567        return ignoreDataEquals.contains(key)
     568                || ignoreDataStartsWith.stream().anyMatch(key::startsWith)
     569                || ignoreDataEndsWith.stream().anyMatch(key::endsWith);
    591570    }
    592571
     
    605584            return true;
    606585        if (!isTagInPresets(key, value)) {
    607             for (Tag a : ignoreDataTag) {
    608                 if (key.equals(a.getKey()) && value.equals(a.getValue())) {
    609                     return true;
    610                 }
    611             }
     586            return ignoreDataTag.stream()
     587                    .anyMatch(a -> key.equals(a.getKey()) && value.equals(a.getValue()));
    612588        }
    613589        return false;
     
    799775            fixedKey = isKeyInPresets(prettifiedKey) ? prettifiedKey : harmonizedKeys.get(prettifiedKey);
    800776        }
    801         if (fixedKey == null) {
    802             for (Tag a : ignoreDataTag) {
    803                 if (a.getKey().equals(prettifiedKey)) {
    804                     fixedKey = prettifiedKey;
    805                     break;
    806                 }
    807             }
     777        if (fixedKey == null && ignoreDataTag.stream().anyMatch(a -> a.getKey().equals(prettifiedKey))) {
     778            fixedKey = prettifiedKey;
    808779        }
    809780
     
    834805        if (harmonizedValue == null || harmonizedValue.isEmpty())
    835806            return;
    836         String fixedValue = null;
     807        String fixedValue;
    837808        List<Set<String>> sets = new ArrayList<>();
    838809        Set<String> presetValues = getPresetValues(key);
     
    842813        if (usedValues != null)
    843814            sets.add(usedValues);
    844         for (Set<String> possibleValues: sets) {
    845             if (possibleValues.contains(harmonizedValue)) {
    846                 fixedValue = harmonizedValue;
    847                 break;
    848             }
    849         }
     815        fixedValue = sets.stream().anyMatch(possibleValues -> possibleValues.contains(harmonizedValue))
     816                ? harmonizedValue : null;
    850817        if (fixedValue == null && !ignoreForLevenshtein.contains(key)) {
    851818            int maxPresetValueLen = 0;
Note: See TracChangeset for help on using the changeset viewer.