Changeset 9932 in josm for trunk/src/org/openstreetmap
- Timestamp:
- 2016-03-05T17:57:04+01:00 (9 years ago)
- Location:
- trunk/src/org/openstreetmap/josm
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/validation/tests/RelationChecker.java
r9574 r9932 25 25 import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetType; 26 26 import org.openstreetmap.josm.gui.tagging.presets.TaggingPresets; 27 import org.openstreetmap.josm.gui.tagging.presets.items.Key ;27 import org.openstreetmap.josm.gui.tagging.presets.items.KeyedItem; 28 28 import org.openstreetmap.josm.gui.tagging.presets.items.Roles; 29 29 import org.openstreetmap.josm.gui.tagging.presets.items.Roles.Role; … … 145 145 146 146 for (TaggingPreset p : relationpresets) { 147 boolean matches = true; 148 Roles r = null; 149 for (TaggingPresetItem i : p.data) { 150 if (i instanceof Key) { 151 Key k = (Key) i; 152 if (!k.value.equals(n.get(k.key))) { 153 matches = false; 154 break; 155 } 156 } else if (i instanceof Roles) { 157 r = (Roles) i; 158 } 159 } 147 final boolean matches = TaggingPresetItem.matches(Utils.filteredCollection(p.data, KeyedItem.class), n.getKeys()); 148 final Roles r = Utils.find(p.data, Roles.class); 160 149 if (matches && r != null) { 161 150 for (Role role: r.roles) { -
trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPreset.java
r9623 r9932 562 562 else if (!typeMatches(t)) 563 563 return false; 564 boolean atLeastOnePositiveMatch = false; 565 for (TaggingPresetItem item : data) { 566 Boolean m = item.matches(tags); 567 if (m != null && !m) 568 return false; 569 else if (m != null) { 570 atLeastOnePositiveMatch = true; 571 } 572 } 573 return atLeastOnePositiveMatch; 564 else 565 return TaggingPresetItem.matches(data, tags); 574 566 } 575 567 -
trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetItem.java
r9574 r9932 134 134 return imgProv.get(); 135 135 } 136 137 /** 138 * Determine whether the given preset items match the tags 139 * @param data the preset items 140 * @param tags the tags to match 141 * @return whether the given preset items match the tags 142 * @sice 9932 143 */ 144 public static boolean matches(Iterable<? extends TaggingPresetItem> data, Map<String, String> tags) { 145 boolean atLeastOnePositiveMatch = false; 146 for (TaggingPresetItem item : data) { 147 Boolean m = item.matches(tags); 148 if (m != null && !m) 149 return false; 150 else if (m != null) { 151 atLeastOnePositiveMatch = true; 152 } 153 } 154 return atLeastOnePositiveMatch; 155 } 136 156 }
Note:
See TracChangeset
for help on using the changeset viewer.