Changeset 15671 in josm for trunk/src/org


Ignore:
Timestamp:
2020-01-10T00:07:20+01:00 (5 years ago)
Author:
simon04
Message:

Refactoring: OsmUtils.splitMultipleValues

Location:
trunk/src/org/openstreetmap/josm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/osm/OsmUtils.java

    r14486 r15671  
    88import java.util.Map;
    99import java.util.Set;
     10import java.util.regex.Pattern;
     11import java.util.stream.Stream;
    1012
    1113import org.openstreetmap.josm.data.coor.LatLon;
     
    207209        return ds == null || !ds.isLocked();
    208210    }
     211
     212    /**
     213     * Splits a tag value by <a href="https://wiki.openstreetmap.org/wiki/Semi-colon_value_separator">semi-colon value separator</a>.
     214     * Spaces around the ; are ignored.
     215     *
     216     * @param value the value to separate
     217     * @return the separated values as Stream
     218     * @since xxx
     219     */
     220    public static Stream<String> splitMultipleValues(String value) {
     221        return Pattern.compile("\\s*;\\s*").splitAsStream(value);
     222    }
    209223}
  • trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/ConditionFactory.java

    r15245 r15671  
    44import java.lang.reflect.Method;
    55import java.text.MessageFormat;
    6 import java.util.Arrays;
    76import java.util.EnumSet;
    87import java.util.Map;
     
    173172        /** The reference is treated as a list separated by ';'. Spaces around the ; are ignored.
    174173         *  The value needs to be equal one of the list elements. */
    175         ONE_OF((test, prototype) -> Arrays.asList(test.split("\\s*;\\s*")).contains(prototype)),
     174        ONE_OF((test, prototype) -> OsmUtils.splitMultipleValues(test).anyMatch(prototype::equals)),
    176175        /** The value needs to begin with the reference string. */
    177176        BEGINS_WITH(String::startsWith),
Note: See TracChangeset for help on using the changeset viewer.