From fcdd464008a4a41767953d34df06848d00bcb2ea Mon Sep 17 00:00:00 2001 From: "marcin.sciesinski" Date: Wed, 2 Oct 2019 17:19:42 -0700 Subject: [PATCH] Fixed filtering based on names with removing special characters --- .../com/gempukku/lotro/game/SortAndFilterCards.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/SortAndFilterCards.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/SortAndFilterCards.java index 8530e6799..68c4ed759 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/SortAndFilterCards.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/SortAndFilterCards.java @@ -211,7 +211,7 @@ public class SortAndFilterCards { List result = new LinkedList(); for (String filterParam : filterParams) { if (filterParam.startsWith("name:")) - result.add(filterParam.substring("name:".length())); + result.add(replaceSpecialCharacters(filterParam.substring("name:".length()).toLowerCase())); } return result; } @@ -242,12 +242,19 @@ public class SortAndFilterCards { private boolean containsAllWords(LotroCardBlueprint blueprint, List words) { for (String word : words) { - if (blueprint == null || !GameUtils.getFullName(blueprint).toLowerCase().contains(word.toLowerCase())) + if (blueprint == null || !replaceSpecialCharacters(GameUtils.getFullName(blueprint).toLowerCase()).contains(word)) return false; } return true; } + private String replaceSpecialCharacters(String text) { + return text + .replace('é', 'e') + .replace('ú', 'u') + .replace('ë', 'e'); + } + private Set getEnumFilter(T[] enumValues, Class enumType, String prefix, Set defaultResult, String[] filterParams) { for (String filterParam : filterParams) { if (filterParam.startsWith(prefix + ":")) {