List of usage examples for org.apache.solr.client.solrj.response FacetField FacetField
public FacetField(final String n)
From source file:at.pagu.soldockr.core.ResultHelperTest.java
License:Apache License
@Test public void testConvertFacetQueryResponseForQueryResultWithSingleFacetFieldWithoutValues() { List<FacetField> fieldList = new ArrayList<FacetField>(1); FacetField ffield = new FacetField("field_1"); fieldList.add(ffield);/* w ww . j ava 2 s . c om*/ Mockito.when(response.getFacetFields()).thenReturn(fieldList); Map<Field, Page<FacetEntry>> result = ResultHelper .convertFacetQueryResponseToFacetPageMap(createFacetQuery("field_1"), response); Assert.assertNotNull(result); Assert.assertEquals(1, result.size()); Entry<Field, Page<FacetEntry>> resultEntry = result.entrySet().iterator().next(); Assert.assertEquals(ffield.getName(), resultEntry.getKey().getName()); Assert.assertTrue(resultEntry.getValue().getContent().isEmpty()); }
From source file:at.pagu.soldockr.core.ResultHelperTest.java
License:Apache License
private FacetField createFacetField(String fieldName, long... values) { FacetField ffield = new FacetField(fieldName); for (int i = 1; i <= values.length; i++) { ffield.add("value_" + i, values[i - 1]); }//from www . j ava 2 s.c o m return ffield; }
From source file:com.github.fengtan.sophie.tables.DocumentsTable.java
License:Open Source License
/** * Add new field to the table. No values are provided to the filter. * //from w ww .j av a 2s . c om * @param fieldName * Field name. * @param field * Field definition. */ public void addField(String fieldName, FieldInfo field) { FacetField facet = new FacetField(fieldName); int index = table.getColumnCount(); addField(fieldName, field, facet, index); }
From source file:eu.europeana.corelib.search.utils.SearchUtils.java
License:Creative Commons License
/** * The QueryFacets are in this form:/*from w ww . j a v a 2s . com*/ * {!id=REUSABILITY:Limited}RIGHTS:(http\:\ * /\/creativecommons.org\/licenses\/by-nc\/* OR * http\:\/\/creativecommons.org\/licenses\/by-nc-sa\/* OR * http\:\/\/creativecommons.org\/licenses\/by-nc-nd\/* OR * http\:\/\/creativecommons.org\/licenses\/by-nd\/* OR * http\:\/\/www.europeana.eu\/rights\/out-of-copyright-non-commercial\/*) * * this function creates a hierarchy: REUSABILITY Limited: x Free: y ... * * @param queryFacets * @return */ public static List<FacetField> extractQueryFacets(Map<String, Integer> queryFacets) { Map<String, FacetField> map = new HashMap<>(); for (String query : queryFacets.keySet()) { Matcher matcher = ID_PATTERN.matcher(query); if (!matcher.find()) { continue; } String field = matcher.group(1); String value = matcher.group(2); if (!map.containsKey(field)) { map.put(field, new FacetField(field)); } map.get(field).add(value, queryFacets.get(query)); } return new ArrayList<>(map.values()); }
From source file:fr.paris.lutece.plugins.search.solr.business.SolrSearchEngine.java
License:Open Source License
/** * Return the result with facets. Does NOT support authentification yet. * @param strQuery the query//from w ww.jav a 2 s .co m * @param facetQueries The selected facets * @param sortName The facet name to sort by * @param sortOrder "asc" or "desc" * @param nLimit Maximal number of results. * @return the result with facets */ public SolrFacetedResult getFacetedSearchResults(String strQuery, String[] facetQueries, String sortName, String sortOrder, int nLimit, int nCurrentPageIndex, int nItemsPerPage, Boolean bSpellCheck) { SolrFacetedResult facetedResult = new SolrFacetedResult(); SolrClient solrServer = SolrServerService.getInstance().getSolrServer(); List<SolrSearchResult> results = new ArrayList<SolrSearchResult>(); Hashtable<Field, List<String>> myValuesList = new Hashtable<Field, List<String>>(); if (solrServer != null) { SolrQuery query = new SolrQuery(strQuery); query.setHighlight(true); query.setHighlightSimplePre(SOLR_HIGHLIGHT_PRE); query.setHighlightSimplePost(SOLR_HIGHLIGHT_POST); query.setHighlightSnippets(SOLR_HIGHLIGHT_SNIPPETS); query.setHighlightFragsize(SOLR_HIGHLIGHT_FRAGSIZE); query.setFacet(true); query.setFacetLimit(SOLR_FACET_LIMIT); // query.setFacetMinCount( 1 ); for (Field field : SolrFieldManager.getFacetList().values()) { //Add facet Field if (field.getEnableFacet()) { if (field.getName().equalsIgnoreCase("date") || field.getName().toLowerCase().endsWith("_date")) { query.setParam("facet.date", field.getName()); query.setParam("facet.date.start", SOLR_FACET_DATE_START); query.setParam("facet.date.gap", SOLR_FACET_DATE_GAP); query.setParam("facet.date.end", SOLR_FACET_DATE_END); query.setParam("facet.date.mincount", "0"); } else { query.addFacetField(field.getSolrName()); query.setParam("f." + field.getSolrName() + ".facet.mincount", String.valueOf(field.getFacetMincount())); } myValuesList.put(field, new ArrayList<String>()); } } //Facet intersection List<String> treeParam = new ArrayList<String>(); for (FacetIntersection intersect : SolrFieldManager.getIntersectionlist()) { treeParam.add(intersect.getField1().getSolrName() + "," + intersect.getField2().getSolrName()); } //(String []) al.toArray (new String [0]); query.setParam("facet.tree", (String[]) treeParam.toArray(new String[0])); query.setParam("spellcheck", bSpellCheck); //sort order if ((sortName != null) && !"".equals(sortName)) { if (sortOrder.equals("asc")) { query.setSort(sortName, ORDER.asc); } else { query.setSort(sortName, ORDER.desc); } } else { for (Field field : SolrFieldManager.getSortList()) { if (field.getDefaultSort()) { query.setSort(field.getName(), ORDER.desc); } } } //Treat HttpRequest //FacetQuery if (facetQueries != null) { for (String strFacetQuery : facetQueries) { // if ( strFacetQuery.contains( DATE_COLON ) ) // { // query.addFilterQuery( strFacetQuery ); // } // else // { String myValues[] = strFacetQuery.split(":", 2); if (myValues != null && myValues.length == 2) { myValuesList = getFieldArrange(myValues, myValuesList); } //strFacetQueryWithColon = strFacetQuery.replaceFirst( SolrConstants.CONSTANT_COLON, COLON_QUOTE ); //strFacetQueryWithColon += SolrConstants.CONSTANT_QUOTE; // query.addFilterQuery( strFacetQuery ); // } } for (Field tmpFieldValue : myValuesList.keySet()) { List<String> strValues = myValuesList.get(tmpFieldValue); String strFacetString = ""; if (strValues.size() > 0) { strFacetString = extractQuery(strValues, tmpFieldValue.getOperator()); if (tmpFieldValue.getName().equalsIgnoreCase("date") || tmpFieldValue.getName().toLowerCase().endsWith("_date")) { strFacetString = strFacetString.replaceAll("\"", ""); } query.addFilterQuery(tmpFieldValue.getName() + ":" + strFacetString); } } } try { // count query query.setRows(0); QueryResponse response = solrServer.query(query); int nResults = (int) response.getResults().getNumFound(); facetedResult.setCount(nResults > nLimit ? nLimit : nResults); query.setStart((nCurrentPageIndex - 1) * nItemsPerPage); query.setRows(nItemsPerPage > nLimit ? nLimit : nItemsPerPage); query.setParam("defType", DEF_TYPE); String strWeightValue = generateQueryWeightValue(); query.setParam("qf", strWeightValue); response = solrServer.query(query); //HighLight Map<String, Map<String, List<String>>> highlightsMap = response.getHighlighting(); SolrHighlights highlights = null; if (highlightsMap != null) { highlights = new SolrHighlights(highlightsMap); } //resultList List<SolrItem> itemList = response.getBeans(SolrItem.class); results = SolrUtil.transformSolrItemsToSolrSearchResults(itemList, highlights); //set the spellcheckresult facetedResult.setSolrSpellCheckResponse(response.getSpellCheckResponse()); //Date facet if ((response.getFacetDates() != null) && !response.getFacetDates().isEmpty()) { facetedResult.setFacetDateList(response.getFacetDates()); } //FacetField facetedResult.setFacetFields(response.getFacetFields()); //Facet intersection (facet tree) NamedList<Object> resp = (NamedList<Object>) response.getResponse().get("facet_counts"); if (resp != null) { NamedList<NamedList<NamedList<Integer>>> trees = (NamedList<NamedList<NamedList<Integer>>>) resp .get("trees"); Map<String, ArrayList<FacetField>> treesResult = new HashMap<String, ArrayList<FacetField>>(); if (trees != null) { for (Entry<String, NamedList<NamedList<Integer>>> selectedFacet : trees) { //Selected Facet (ex : type,categorie ) //System.out.println(selectedFacet.getKey()); ArrayList<FacetField> facetFields = new ArrayList<FacetField>( selectedFacet.getValue().size()); for (Entry<String, NamedList<Integer>> facetField : selectedFacet.getValue()) { FacetField ff = new FacetField(facetField.getKey()); //System.out.println("\t" + facetField.getKey()); for (Entry<String, Integer> value : facetField.getValue()) { // Second Level ff.add(value.getKey(), value.getValue()); //System.out.println("\t\t" + value.getKey() + " : " + value.getValue()); } facetFields.add(ff); } treesResult.put(selectedFacet.getKey(), facetFields); } } facetedResult.setFacetIntersection(treesResult); } } catch (SolrServerException e) { AppLogService.error(e.getMessage(), e); } catch (IOException e) { AppLogService.error(e.getMessage(), e); } } else { facetedResult.setFacetFields(new ArrayList<FacetField>()); } facetedResult.setSolrSearchResults(results); return facetedResult; }
From source file:org.apache.jackrabbit.core.query.lucene.FacetHandler.java
License:Open Source License
private void extractFacetInfo(NamedList<Object> info, SolrParams solrParams) { // Parse the queries _facetQuery = new LinkedHashMap<String, Long>(); NamedList<Long> fq = (NamedList<Long>) info.get("facet_queries"); if (fq != null) { for (Map.Entry<String, Long> entry : fq) { _facetQuery.put(entry.getKey(), entry.getValue()); }/* ww w . j av a 2 s. c o m*/ } // Parse the facet info into fields // TODO?? The list could be <int> or <long>? If always <long> then we can switch to <Long> NamedList<NamedList<Number>> ff = (NamedList<NamedList<Number>>) info.get("facet_fields"); Map<String, FieldType> fieldTypeMap = new HashMap<>(); if (ff != null) { _facetFields = new ArrayList<FacetField>(ff.size()); _limitingFacets = new ArrayList<FacetField>(ff.size()); long minsize = totalSize; for (Map.Entry<String, NamedList<Number>> facet : ff) { String key = StringUtils.substringBeforeLast(facet.getKey(), SimpleJahiaJcrFacets.PROPNAME_INDEX_SEPARATOR); String fieldInIndex = StringUtils.substringAfterLast(facet.getKey(), SimpleJahiaJcrFacets.PROPNAME_INDEX_SEPARATOR); FacetField f = new FacetField(key); if (!fieldTypeMap.containsKey(key)) { try { //Find a key like f.field_name#unknownumber.facet.nodetype Pattern facetNodetype = Pattern.compile("f\\." + key + "#[0-9]+\\.facet\\.nodetype"); String nodetypeName = null; Iterator<String> parameterNamesIterator = solrParams.getParameterNamesIterator(); while (parameterNamesIterator.hasNext()) { String next = parameterNamesIterator.next(); if (facetNodetype.matcher(next).matches()) { nodetypeName = solrParams.get(next); break; } } ExtendedPropertyDefinition epd = NodeTypeRegistry.getInstance().getNodeType(nodetypeName) .getPropertyDefinition(key); fieldTypeMap.put(key, getType(epd)); } catch (NoSuchNodeTypeException e) { log.error(e.getMessage(), e); } } for (Map.Entry<String, Number> entry : facet.getValue()) { String facetValue = entry.getKey(); String query = fieldTypeMap.get(key).toInternal(entry.getKey()); Matcher matcher = valueWithQuery.matcher(facetValue); if (matcher.matches()) { query = matcher.group(2); facetValue = matcher.replaceFirst("$1"); } f.add(facetValue, entry.getValue().longValue()); f.getValues().get(f.getValueCount() - 1).setFilterQuery( ClientUtils.escapeQueryChars(fieldInIndex) + ":" + ClientUtils.escapeQueryChars(query)); } _facetFields.add(f); FacetField nl = f.getLimitingFields(minsize); if (nl.getValueCount() > 0) { _limitingFacets.add(nl); } } } // Parse date facets NamedList<NamedList<Object>> df = (NamedList<NamedList<Object>>) info.get("facet_dates"); if (df != null) { // System.out.println(df); _facetDates = new ArrayList<FacetField>(df.size()); for (Map.Entry<String, NamedList<Object>> facet : df) { // System.out.println("Key: " + facet.getKey() + " Value: " + facet.getValue()); NamedList<Object> values = facet.getValue(); String gap = (String) values.get("gap"); Date end = (Date) values.get("end"); FacetField f = new FacetField(StringUtils.substringBeforeLast(facet.getKey(), SimpleJahiaJcrFacets.PROPNAME_INDEX_SEPARATOR), gap, end); for (Map.Entry<String, Object> entry : values) { try { String key = StringUtils.substringBeforeLast(entry.getKey(), SimpleJahiaJcrFacets.PROPNAME_INDEX_SEPARATOR); String query = StringUtils.substringAfterLast(entry.getKey(), SimpleJahiaJcrFacets.PROPNAME_INDEX_SEPARATOR); f.add(key, Long.parseLong(entry.getValue().toString())); if (!StringUtils.isEmpty(query)) { String rangePrefix = null; if (query.contains(RANGEFROM_EXCLUSIVE_PREFIX)) { rangePrefix = RANGEFROM_EXCLUSIVE_PREFIX; } else if (query.contains(RANGEFROM_INCLUSIVE_PREFIX)) { rangePrefix = RANGEFROM_INCLUSIVE_PREFIX; } if (!StringUtils.isEmpty(rangePrefix)) { f.getValues().get(f.getValueCount() - 1) .setFilterQuery(ClientUtils .escapeQueryChars(StringUtils.substringBefore(query, rangePrefix)) + rangePrefix + StringUtils.substringAfter(query, rangePrefix)); } } } catch (NumberFormatException e) { // Ignore for non-number responses which are already handled above } } _facetDates.add(f); } } // Parse range facets NamedList<NamedList<Object>> rf = (NamedList<NamedList<Object>>) info.get("facet_ranges"); if (rf != null) { // System.out.println(df); _facetRanges = new ArrayList<RangeFacet>(rf.size()); for (Map.Entry<String, NamedList<Object>> facet : rf) { NamedList<Object> values = facet.getValue(); Object rawGap = values.get("gap"); RangeFacet rangeFacet; if (rawGap instanceof Number) { Number gap = (Number) rawGap; Number start = (Number) values.get("start"); Number end = (Number) values.get("end"); Number before = (Number) values.get("before"); Number after = (Number) values.get("after"); rangeFacet = new RangeFacet.Numeric(StringUtils.substringBeforeLast(facet.getKey(), SimpleJahiaJcrFacets.PROPNAME_INDEX_SEPARATOR), start, end, gap, before, after); } else { String gap = (String) rawGap; Date start = (Date) values.get("start"); Date end = (Date) values.get("end"); Number before = (Number) values.get("before"); Number after = (Number) values.get("after"); rangeFacet = new RangeFacet.Date(StringUtils.substringBeforeLast(facet.getKey(), SimpleJahiaJcrFacets.PROPNAME_INDEX_SEPARATOR), start, end, gap, before, after); } NamedList<Integer> counts = (NamedList<Integer>) values.get("counts"); for (Map.Entry<String, Integer> entry : counts) { try { String key = StringUtils.substringBeforeLast(entry.getKey(), SimpleJahiaJcrFacets.PROPNAME_INDEX_SEPARATOR); String query = StringUtils.substringAfterLast(entry.getKey(), SimpleJahiaJcrFacets.PROPNAME_INDEX_SEPARATOR); rangeFacet.addCount(key, entry.getValue()); if (!StringUtils.isEmpty(query)) { String rangePrefix = null; if (query.contains(RANGEFROM_EXCLUSIVE_PREFIX)) { rangePrefix = RANGEFROM_EXCLUSIVE_PREFIX; } else if (query.contains(RANGEFROM_INCLUSIVE_PREFIX)) { rangePrefix = RANGEFROM_INCLUSIVE_PREFIX; } if (!StringUtils.isEmpty(rangePrefix)) { ((RangeFacet.Count) rangeFacet.getCounts().get(rangeFacet.getCounts().size() - 1)) .setFilterQuery(ClientUtils .escapeQueryChars(StringUtils.substringBefore(query, rangePrefix)) + rangePrefix + StringUtils.substringAfter(query, rangePrefix)); } } } catch (NumberFormatException e) { // Ignore for non-number responses which are already handled above } } _facetRanges.add(rangeFacet); } } }
From source file:org.apache.metron.solr.dao.SolrSearchDaoTest.java
License:Apache License
@Test public void getFacetCountsShouldProperlyReturnFacetCounts() { QueryResponse queryResponse = mock(QueryResponse.class); FacetField facetField1 = new FacetField("field1"); facetField1.add("value1", 1); facetField1.add("value2", 2); FacetField facetField2 = new FacetField("field2"); facetField2.add("value3", 3); facetField2.add("value4", 4); when(queryResponse.getFacetField("field1")).thenReturn(facetField1); when(queryResponse.getFacetField("field2")).thenReturn(facetField2); Map<String, Map<String, Long>> expectedFacetCounts = new HashMap<String, Map<String, Long>>() { {/*from www . ja va2 s .c om*/ put("field1", new HashMap<String, Long>() { { put("value1", 1L); put("value2", 2L); } }); put("field2", new HashMap<String, Long>() { { put("value3", 3L); put("value4", 4L); } }); } }; assertEquals(expectedFacetCounts, solrSearchDao.getFacetCounts(Arrays.asList("field1", "field2"), queryResponse)); }
From source file:org.mousephenotype.cda.solr.service.ExpressionService.java
License:Apache License
/** * * @param acc// w w w.j a v a2s. c o m * mgi_accession for gene * @param topMaNameFilter * Only include images under the top level ma term specified here * @param parameterStableId TODO * @param imagesOverview * If imagesOverview true then restrict response to only certain * fields as we are only displaying annotations for a dataset not * a specific thumbnail * @param imagesOverview * If true we want some images data/stats added to the model for * display in the tabbed pane on the gene page. * @throws SolrServerException, IOException * @throws SQLException */ public ExpressionImagesBean getLacImageDataForGene(String acc, String topMaNameFilter, String parameterStableId, boolean imagesOverview) throws SolrServerException, IOException { QueryResponse laczResponse = null; String noTopTermId = ""; String topLevelField = "";// type ma or emap imageDTO field for top // level terms String termIdField = ""; if (parameterStableId != null && parameterStableId.contains("ELZ")) { // use EMAP terms and top level terms noTopTermId = "TS20 embryo or Unassigned";// currently if unassigned they either have embryo TS20 as there EMAP id but our system doesn't find any selected_top_level emap or nothing is assigned but we know they are embryo so assign this id to unassigned topLevelField = ImageDTO.SELECTED_TOP_LEVEL_ANATOMY_TERM; termIdField = ImageDTO.ANATOMY_ID; if (imagesOverview) { laczResponse = getEmbryoLaczImageFacetsForGene(acc, parameterStableId, ImageDTO.OMERO_ID, ImageDTO.JPEG_URL, ImageDTO.THUMBNAIL_URL, topLevelField, ImageDTO.PARAMETER_ASSOCIATION_NAME, ImageDTO.PARAMETER_ASSOCIATION_VALUE, ImageDTO.ANATOMY_ID, ImageDTO.ANATOMY_TERM); } else { laczResponse = getEmbryoLaczImageFacetsForGene(acc, parameterStableId, ImageDTO.OMERO_ID, ImageDTO.JPEG_URL, ImageDTO.THUMBNAIL_URL, topLevelField, ImageDTO.PARAMETER_ASSOCIATION_NAME, ImageDTO.PARAMETER_ASSOCIATION_VALUE, ImageDTO.ZYGOSITY, ImageDTO.SEX, ImageDTO.ALLELE_SYMBOL, ImageDTO.DOWNLOAD_URL, ImageDTO.IMAGE_LINK, ImageDTO.ANATOMY_ID, ImageDTO.ANATOMY_TERM); } } else { noTopTermId = "Unassigned Top Level MA"; topLevelField = ImageDTO.SELECTED_TOP_LEVEL_ANATOMY_TERM; termIdField = ImageDTO.ANATOMY_ID; if (imagesOverview) { laczResponse = getAdultLaczImageFacetsForGene(acc, parameterStableId, ImageDTO.OMERO_ID, ImageDTO.JPEG_URL, ImageDTO.THUMBNAIL_URL, topLevelField, ImageDTO.PARAMETER_ASSOCIATION_NAME, ImageDTO.PARAMETER_ASSOCIATION_VALUE, ImageDTO.ANATOMY_ID, ImageDTO.UBERON_ID, ImageDTO.EFO_ID); } else { laczResponse = getAdultLaczImageFacetsForGene(acc, parameterStableId, ImageDTO.OMERO_ID, ImageDTO.JPEG_URL, ImageDTO.THUMBNAIL_URL, topLevelField, ImageDTO.PARAMETER_ASSOCIATION_NAME, ImageDTO.PARAMETER_ASSOCIATION_VALUE, ImageDTO.ZYGOSITY, ImageDTO.SEX, ImageDTO.ALLELE_SYMBOL, ImageDTO.DOWNLOAD_URL, ImageDTO.IMAGE_LINK, ImageDTO.ANATOMY_ID, ImageDTO.UBERON_ID, ImageDTO.EFO_ID); } } SolrDocumentList imagesResponse = laczResponse.getResults(); List<FacetField> fields = laczResponse.getFacetFields(); // we have the unique ma top level terms associated and all the images // now we need lists of images with these top level ma terms in their // annotation Map<String, SolrDocumentList> expFacetToDocs = new HashMap<>(); Map<String, Boolean> haveImpcImages = new HashMap<>(); expFacetToDocs.put(noTopTermId, new SolrDocumentList()); for (SolrDocument doc : imagesResponse) { List<String> tops = getListFromCollection(doc.getFieldValues(topLevelField)); // work out list of uberon/efo ids with/without expressions // noTopLevelCount.setCount(c); if (tops.isEmpty()) {// if no top level found this image then add it to the "No top level" term docs so we can display orphaned terms and images expFacetToDocs.get(noTopTermId).add(doc); } else { for (String top : tops) { SolrDocumentList list = null; if (!expFacetToDocs.containsKey(top)) { expFacetToDocs.put(top, new SolrDocumentList()); } list = expFacetToDocs.get(top); list.add(doc); } } } List<Count> topLevelAnatomyTerms = new ArrayList<>(); List<Count> filteredTopLevelAnatomyTerms = new ArrayList<>(); // if (fields.get(0).getValues().size() > 0) { topLevelAnatomyTerms.addAll(fields.get(0).getValues()); if (expFacetToDocs.get(noTopTermId).size() > 0) {// only add this // facet for no // top levels // found if // there are any Count dummyCountForImagesWithNoHigherLevelAnatomy = new Count(new FacetField(noTopTermId), noTopTermId, expFacetToDocs.get(noTopTermId).size()); topLevelAnatomyTerms.add(dummyCountForImagesWithNoHigherLevelAnatomy); } if (topMaNameFilter != null) { for (Count topLevel : topLevelAnatomyTerms) { if (topLevel.getName().equals(topMaNameFilter)) { filteredTopLevelAnatomyTerms.add(topLevel); } } } else { filteredTopLevelAnatomyTerms = topLevelAnatomyTerms; } for (Count count : filteredTopLevelAnatomyTerms) { Boolean hasImages = false; if (count.getCount() > 0) { hasImages = true; } haveImpcImages.put(count.getName(), hasImages); } ImageServiceUtil.sortHigherLevelTermCountsAlphabetically(filteredTopLevelAnatomyTerms); ImageServiceUtil.sortDocsByExpressionAlphabetically(expFacetToDocs); ExpressionImagesBean bean = null; // if (parameterStableId.contains("EZ")) {//embryo // model.addAttribute("impcEmbryoExpressionImageFacets", filteredTopLevelAnatomyTerms); // model.addAttribute("haveImpcEmbryoImages", haveImpcImages); // model.addAttribute("impcEmbryoExpressionFacetToDocs", expFacetToDocs); bean = new ExpressionImagesBean(filteredTopLevelAnatomyTerms, haveImpcImages, expFacetToDocs); // } else { // model.addAttribute("impcAdultExpressionImageFacets", filteredTopLevelAnatomyTerms); // model.addAttribute("haveImpcAdultImages", haveImpcImages); // model.addAttribute("impcAdultExpressionFacetToDocs", expFacetToDocs); // } // } return bean; }
From source file:org.opencommercesearch.FacetManagerTest.java
License:Apache License
@Test public void testGetFacetNameFacetField() { addFacets();//from www . j av a 2 s. c o m FacetField facetField = new FacetField("facetName"); assertEquals("facetName", manager.getFacetName(facetField)); facetField = new FacetField("rangeName"); assertEquals("rangeName", manager.getFacetName(facetField)); }
From source file:org.opencommercesearch.FacetManagerTest.java
License:Apache License
@Test public void testIsMultiSelectFacet() { addFacets();//from w w w . j a va 2 s.co m when(fieldFacet.getPropertyValue(FacetProperty.IS_MULTI_SELECT)).thenReturn(false); assertFalse((Boolean) manager.isMultiSelectFacet(new FacetField("fieldName"))); when(fieldFacet.getPropertyValue(FacetProperty.IS_MULTI_SELECT)).thenReturn(true); assertTrue((Boolean) manager.isMultiSelectFacet(new FacetField("fieldName"))); assertFalse((Boolean) manager.isMultiSelectFacet(new FacetField("sdfjk"))); FacetField facetField = null; assertFalse((Boolean) manager.isMultiSelectFacet(facetField)); }