- Timestamp:
- 2020-03-01T23:36:13+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSStyleIndex.java
r15989 r15991 5 5 6 6 import java.text.MessageFormat; 7 import java.util.Collections; 7 8 import java.util.Iterator; 8 9 import java.util.Map; 10 import java.util.Set; 9 11 import java.util.stream.Collectors; 10 12 import java.util.stream.Stream; … … 72 74 // optimization: filter rules for different primitive types 73 75 ruleStream.forEach(rule -> { 74 final Map<String, MapCSSRule> selectorsByBase = rule.selectors.stream() 75 .collect(Collectors.groupingBy(Selector::getBase, 76 Collectors.collectingAndThen(Collectors.toList(), selectors -> new MapCSSRule(selectors, rule.declaration)))); 76 final Map<String, MapCSSRule> selectorsByBase; 77 final Set<String> bases = rule.selectors.stream().map(Selector::getBase).collect(Collectors.toSet()); 78 if (bases.size() == 1) { 79 // reuse rule 80 selectorsByBase = Collections.singletonMap(bases.iterator().next(), rule); 81 } else { 82 selectorsByBase = rule.selectors.stream() 83 .collect(Collectors.groupingBy(Selector::getBase, 84 Collectors.collectingAndThen(Collectors.toList(), selectors -> new MapCSSRule(selectors, rule.declaration)))); 85 } 77 86 selectorsByBase.forEach((base, optRule) -> { 78 87 switch (base) {
Note:
See TracChangeset
for help on using the changeset viewer.