diff --git a/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java b/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java
index 3324f0b83..dc6a982b3 100644
|
a
|
b
|
|
| 22 | 22 | import java.util.Locale; |
| 23 | 23 | import java.util.Map; |
| 24 | 24 | import java.util.Map.Entry; |
| | 25 | import java.util.OptionalInt; |
| 25 | 26 | import java.util.Set; |
| 26 | 27 | import java.util.regex.Pattern; |
| 27 | 28 | import java.util.stream.Collectors; |
| … |
… |
static String removeUnwantedNonPrintingControlCharacters(String s) {
|
| 450 | 451 | } |
| 451 | 452 | |
| 452 | 453 | static boolean containsUnusualUnicodeCharacter(String key, String value) { |
| 453 | | return value != null && value.chars().anyMatch(c -> isUnusualUnicodeBlock(key, c)); |
| | 454 | return getUnusualUnicodeCharacter(key, value).isPresent(); |
| | 455 | } |
| | 456 | |
| | 457 | static OptionalInt getUnusualUnicodeCharacter(String key, String value) { |
| | 458 | return value == null |
| | 459 | ? OptionalInt.empty() |
| | 460 | : value.chars().filter(c -> isUnusualUnicodeBlock(key, c)).findFirst(); |
| 454 | 461 | } |
| 455 | 462 | |
| 456 | 463 | /** |
| … |
… |
private void checkSingleTagValueSimple(MultiMap<OsmPrimitive, String> withErrors
|
| 675 | 682 | .build()); |
| 676 | 683 | withErrors.put(p, "ICV"); |
| 677 | 684 | } |
| 678 | | if ((containsUnusualUnicodeCharacter(key, value)) && !withErrors.contains(p, "UUCV")) { |
| | 685 | final OptionalInt unusualUnicodeCharacter = getUnusualUnicodeCharacter(key, value); |
| | 686 | if (unusualUnicodeCharacter.isPresent() && !withErrors.contains(p, "UUCV")) { |
| | 687 | final String codepoint = String.format(Locale.ROOT, "U+%04X", unusualUnicodeCharacter.getAsInt()); |
| 679 | 688 | errors.add(TestError.builder(this, Severity.WARNING, UNUSUAL_UNICODE_CHAR_VALUE) |
| 680 | | .message(tr("Tag value contains unusual Unicode character"), s, key) |
| | 689 | .message(tr("Tag value contains unusual Unicode character {0}", codepoint), s, key) |
| 681 | 690 | .primitives(p) |
| 682 | 691 | .build()); |
| 683 | 692 | withErrors.put(p, "UUCV"); |