From f8071ac8ae14150b3671ba7df5537bc18e78f148 Mon Sep 17 00:00:00 2001 From: reger Date: Thu, 28 Dec 2017 02:51:52 +0100 Subject: [PATCH] Make TokenizedStringNavigator (used for keyword search facet) active check case insensitive. As keywords are compared lower case, make sure user input keyword:Key or keyword:key will be shown as active in facet entry key. --- .../search/navigator/TokenizedStringNavigator.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/source/net/yacy/search/navigator/TokenizedStringNavigator.java b/source/net/yacy/search/navigator/TokenizedStringNavigator.java index 6a788f292..cd8325a01 100644 --- a/source/net/yacy/search/navigator/TokenizedStringNavigator.java +++ b/source/net/yacy/search/navigator/TokenizedStringNavigator.java @@ -26,6 +26,7 @@ import java.util.Collection; import java.util.StringTokenizer; import net.yacy.kelondro.data.meta.URIMetadataNode; import net.yacy.search.Switchboard; +import net.yacy.search.query.QueryModifier; import net.yacy.search.schema.CollectionSchema; /** @@ -77,4 +78,17 @@ public class TokenizedStringNavigator extends StringNavigator implements Naviga } } } + + /** + * Checks if query parameter/modifier with specific key is active. + * The comparison is case insensitive. + * + * @param modifier querymodifier to check + * @param key the key/term to check for + * @return true if the modifier contains the 'modifiername:key' + */ + @Override + public boolean modifieractive(final QueryModifier modifier, final String key) { + return modifier.toString().toLowerCase().contains(getQueryModifier(key)); + } }