summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-01-25 15:14:54 +0100
committerJon Bratseth <bratseth@oath.com>2018-01-25 15:14:54 +0100
commit1ee253837a1955cea2e789e49d4f661a5b764f54 (patch)
treee02205f3b140c91c707c6756c3b288cab95b5164 /container-search/src/main/java/com/yahoo/search
parenta73feb8828a357ea79990f944bb13eb54748ec69 (diff)
Let profile.type override profile.inherited.type in listTypes
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search')
-rw-r--r--container-search/src/main/java/com/yahoo/search/Query.java2
-rw-r--r--container-search/src/main/java/com/yahoo/search/query/profile/AllTypesQueryProfileVisitor.java2
-rw-r--r--container-search/src/main/java/com/yahoo/search/query/profile/QueryProfile.java7
3 files changed, 8 insertions, 3 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/Query.java b/container-search/src/main/java/com/yahoo/search/Query.java
index b2349ed6dfc..20f87afacc1 100644
--- a/container-search/src/main/java/com/yahoo/search/Query.java
+++ b/container-search/src/main/java/com/yahoo/search/Query.java
@@ -464,7 +464,7 @@ public class Query extends com.yahoo.processing.Request implements Cloneable {
QueryProfileProperties queryProfileProperties = properties().getInstance(QueryProfileProperties.class);
if (queryProfileProperties == null) return null; // Valid
StringBuilder missingName = new StringBuilder();
- if (! queryProfileProperties.isComplete(missingName, httpRequest.propertyMap()))
+ if ( ! queryProfileProperties.isComplete(missingName, httpRequest.propertyMap()))
return "Incomplete query: Parameter '" + missingName + "' is mandatory in " +
queryProfileProperties.getQueryProfile() + " but is not set";
else
diff --git a/container-search/src/main/java/com/yahoo/search/query/profile/AllTypesQueryProfileVisitor.java b/container-search/src/main/java/com/yahoo/search/query/profile/AllTypesQueryProfileVisitor.java
index c194ec235bd..4b83b716635 100644
--- a/container-search/src/main/java/com/yahoo/search/query/profile/AllTypesQueryProfileVisitor.java
+++ b/container-search/src/main/java/com/yahoo/search/query/profile/AllTypesQueryProfileVisitor.java
@@ -32,7 +32,7 @@ final class AllTypesQueryProfileVisitor extends PrefixQueryProfileVisitor {
}
private void addReachableTypes(CompoundName name, QueryProfileType type) {
- types.put(name, type);
+ types.putIfAbsent(name, type); // Types visited earlier has precedence: profile.type overrides profile.inherited.type
for (FieldDescription fieldDescription : type.fields().values()) {
if ( ! (fieldDescription.getType() instanceof QueryProfileFieldType)) continue;
QueryProfileFieldType fieldType = (QueryProfileFieldType)fieldDescription.getType();
diff --git a/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfile.java b/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfile.java
index ecbdebf1524..04dd3ee9005 100644
--- a/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfile.java
+++ b/container-search/src/main/java/com/yahoo/search/query/profile/QueryProfile.java
@@ -12,7 +12,12 @@ import com.yahoo.search.query.profile.types.FieldDescription;
import com.yahoo.search.query.profile.types.QueryProfileFieldType;
import com.yahoo.search.query.profile.types.QueryProfileType;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;