| 928 | | if (fixVals.size() < 2) { |
| 929 | | fixedValue = fixVals.get(0); |
| 930 | | } else { |
| 931 | | Collections.sort(fixVals); |
| 932 | | // misspelled preset value with multiple good alternatives |
| 933 | | errors.add(TestError.builder(this, Severity.WARNING, MISSPELLED_VALUE_NO_FIX) |
| 934 | | .message(tr("Unknown property value"), |
| 935 | | marktr("Value ''{0}'' for key ''{1}'' is unknown, maybe one of {2} is meant?"), |
| 936 | | value, key, fixVals) |
| 937 | | .primitives(p).build()); |
| 938 | | withErrors.put(p, "WPV"); |
| 939 | | return; |
| | 929 | filterDeprecatedTags(p, key, fixVals); |
| | 930 | if (!fixVals.isEmpty()) { |
| | 931 | if (fixVals.size() < 2) { |
| | 932 | fixedValue = fixVals.get(0); |
| | 933 | } else { |
| | 934 | Collections.sort(fixVals); |
| | 935 | // misspelled preset value with multiple good alternatives |
| | 936 | errors.add(TestError.builder(this, Severity.WARNING, MISSPELLED_VALUE_NO_FIX) |
| | 937 | .message(tr("Unknown property value"), |
| | 938 | marktr("Value ''{0}'' for key ''{1}'' is unknown, maybe one of {2} is meant?"), |
| | 939 | value, key, fixVals) |
| | 940 | .primitives(p).build()); |
| | 941 | withErrors.put(p, "WPV"); |
| | 942 | return; |
| | 943 | } |
| 968 | | String origVal = p.get(key); |
| 969 | | try { |
| 970 | | int unchangedDeprecated = countDeprecated(p); |
| 971 | | Iterator<String> iter = fixVals.iterator(); |
| 972 | | while (iter.hasNext()) { |
| 973 | | p.put(key, iter.next()); |
| 974 | | if (countDeprecated(p) > unchangedDeprecated) |
| 975 | | iter.remove(); |
| 976 | | } |
| 977 | | } finally { |
| 978 | | // restore original value |
| 979 | | p.put(key, origVal); |
| | 972 | int unchangedDeprecated = countDeprecated(p); |
| | 973 | Iterator<String> iter = fixVals.iterator(); |
| | 974 | OsmPrimitive clone; |
| | 975 | if (p instanceof Node) { |
| | 976 | clone = new Node((Node) p); |
| | 977 | } else if (p instanceof Way) { |
| | 978 | clone = new Way((Way) p); |
| | 979 | } else if (p instanceof Relation) { |
| | 980 | clone = new Relation((Relation) p); |
| | 981 | } else { |
| | 982 | return; // should not happen |