@Test public void testSearchExtensionFacetExplicitly() throws Exception { // essai de facettiser sur les extensions WikittyQuery query = new WikittyQueryMaker().keyword("*").end(); query.setOffset(0); query.setLimit(0); query.setFacetExtension(true); WikittyQueryResult<String> result = wikittyClient.findAllByQuery(query); Assert.assertEquals(1, result.getFacetNames().size()); //TODO echatellier 20120112 : revue this code //Assert.assertNotNull(result.getFacets().get(Element.EXTENSION)); // is more convenient, but wont work Assert.assertNotNull(result.getFacets().get(Element.EXTENSION.getValue())); }
@Override public boolean visitEnter(WikittyQuery o) { WikittyQuery q = getQuery(); q.setFacetExtension(q.isFacetExtension()); q.setFacetField(new ArrayList<Element>(o.getFacetField())); q.setFacetLimit(o.getFacetLimit()); q.setFacetMinCount(o.getFacetMinCount()); q.setOffset(o.getOffset()); q.setLimit(o.getLimit()); q.setFacetSort(o.getFacetSort()); q.setName(o.getName()); q.setSortAscending(new ArrayList<Element>(o.getSortAscending())); q.setSortDescending(new ArrayList<Element>(o.getSortDescending())); q.setWikittyFieldSearchDepth(o.getWikittyFieldSearchDepth()); for (FacetQuery c : o.getFacetQuery()) { WikittyQueryVisitorCopy v = new WikittyQueryVisitorCopy(); c.getCondition().accept(v); Condition condition = v.getCondition(); q.addFacetQuery(c.getName(), condition); } return true; }
query.setFacetExtension(false); query.setFacetField(); query.setFacetQuery();