diff options
author | Henrik <henrik.hoiness@online.no> | 2018-08-08 16:03:21 +0200 |
---|---|---|
committer | Henrik <henrik.hoiness@online.no> | 2018-08-08 16:03:21 +0200 |
commit | fdd19a655e36c6b07497a77491d4c81b16d12f8d (patch) | |
tree | 718df31928e40b2b4855a75d60fd1d0b89bf9769 /container-search | |
parent | b9e3b6ec96e2dc164eba2e340d2caaec928b440e (diff) |
Now adding GroupingStep List to Select, instead of as a query-property
Diffstat (limited to 'container-search')
5 files changed, 12 insertions, 7 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/grouping/GroupingRequest.java b/container-search/src/main/java/com/yahoo/search/grouping/GroupingRequest.java index 4e6062e2c9b..e3f2af19449 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/GroupingRequest.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/GroupingRequest.java @@ -22,7 +22,7 @@ import java.util.*; */ public class GroupingRequest { - private final static CompoundName PROP_REQUEST = new CompoundName(GroupingRequest.class.getName() + ".Request"); + public final static String PROP_REQUEST = GroupingRequest.class.getName() + ".Request"; private final List<Continuation> continuations = new ArrayList<>(); private final int requestId; private GroupingOperation root; diff --git a/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingExecutor.java b/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingExecutor.java index c503503ad4b..2b3f80a4b8f 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingExecutor.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingExecutor.java @@ -46,7 +46,7 @@ import com.yahoo.vespa.objects.ObjectPredicate; public class GroupingExecutor extends Searcher { public final static String COMPONENT_NAME = "GroupingExecutor"; - public final static String GROUPING_LIST = "GroupingList"; + private final static String GROUPING_LIST = "GroupingList"; private final static CompoundName PROP_GROUPINGLIST = newCompoundName(GROUPING_LIST); private final static Logger log = Logger.getLogger(GroupingExecutor.class.getName()); diff --git a/container-search/src/main/java/com/yahoo/search/query/Select.java b/container-search/src/main/java/com/yahoo/search/query/Select.java index db3ce811b63..3093d65cd15 100644 --- a/container-search/src/main/java/com/yahoo/search/query/Select.java +++ b/container-search/src/main/java/com/yahoo/search/query/Select.java @@ -34,7 +34,7 @@ public class Select implements Cloneable { private Query parent; private String where = ""; private String grouping = ""; - private List<GroupingRequest> groupingRequests = new ArrayList<>(); + private List<GroupingRequest> groupingRequests = new ArrayList<>();3 static { argumentType = new QueryProfileType(SELECT); diff --git a/container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java b/container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java index 391333be7e8..8d59560b13b 100644 --- a/container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java +++ b/container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java @@ -140,7 +140,9 @@ public class QueryProperties extends Properties { if (key.toString().equals(Model.MODEL)) return query.getModel(); if (key.toString().equals(Ranking.RANKING)) return query.getRanking(); if (key.toString().equals(Presentation.PRESENTATION)) return query.getPresentation(); - if (key.toString().equals(GroupingExecutor.GROUPING_LIST)) return query.getSelect().getGrouping(); + + } else if (key.toString().equals(GroupingRequest.PROP_REQUEST)) { + return query.getSelect().getGrouping(); } return super.get(key, context, substitution); } @@ -277,10 +279,11 @@ public class QueryProperties extends Properties { query.setNoCache(asBoolean(value,false)); else if (key.equals(Query.GROUPING_SESSION_CACHE)) query.setGroupingSessionCache(asBoolean(value, false)); - else if (key.equals(GroupingExecutor.GROUPING_LIST)) - query.getSelect().setGrouping((List<GroupingRequest>)value); else super.set(key,value,context); + } else if (key.toString().equals(GroupingRequest.PROP_REQUEST)) { + query.getSelect().setGrouping((List<GroupingRequest>) value); + } else super.set(key,value,context); diff --git a/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java index 494602be7b3..2815bce41f5 100644 --- a/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java @@ -10,8 +10,10 @@ import com.yahoo.search.result.Hit; import org.junit.Test; import java.lang.reflect.Field; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; +import java.util.List; import static org.junit.Assert.*; @@ -119,8 +121,8 @@ public class GroupingRequestTestCase { Query query = new Query(); Field propName = GroupingRequest.class.getDeclaredField("PROP_REQUEST"); propName.setAccessible(true); - query.properties().set((CompoundName)propName.get(null), new Object()); try { + query.properties().set(propName.get(null).toString(), new Object()); GroupingRequest.getRequests(query); fail(); } catch (IllegalArgumentException e) { |