String field = transformFacetField(facetFieldConfig, facetField.getName(), true); result.addFacetResult(field, new DiscoverResult.FacetResult(facetValue.getAsFilterQuery(), displayedValue, facetValue.getCount())); result.addFacetResult(facetField, new DiscoverResult.FacetResult(facetQuery, name, count));
DiscoverResult.FacetResult value = values.get(i); String displayedValue = value.getDisplayedValue(); String filterQuery = value.getAsFilterQuery(); cell.addContent(displayedValue + " (" + value.getCount() + ")"); } else { cell.addXref( URLEncoder.encode(filterQuery, "UTF-8") + (request.getQueryString() != null ? "&" + request.getQueryString() : ""), displayedValue + " (" + value.getCount() + ")" );
@Override public List doValueQuery() throws BrowseException { DiscoverResult resp = getSolrResponse(); List<FacetResult> facet = resp.getFacetResult(facetField); int count = doCountQuery(); int start = offset > 0 ? offset : 0; int max = limit > 0 ? limit : count; //if negative, return everything List<String[]> result = new ArrayList<>(); if (ascending) { for (int i = start; i < (start + max) && i < count; i++) { FacetResult c = facet.get(i); String freq = showFrequencies ? String.valueOf(c.getCount()) : ""; result.add(new String[] {c.getDisplayedValue(), c.getAuthorityKey(), freq}); } } else { for (int i = count - start - 1; i >= count - (start + max) && i >= 0; i--) { FacetResult c = facet.get(i); String freq = showFrequencies ? String.valueOf(c.getCount()) : ""; result.add(new String[] {c.getDisplayedValue(), c.getAuthorityKey(), freq}); } } return result; }
String displayedValue = value.getDisplayedValue(); String filterQuery = value.getAsFilterQuery(); filterValsList.addItem(Math.random() + "", "selected").addContent(displayedValue + " (" + value.getCount() + ")"); } else { String paramsQuery = retrieveParameters(request); "fq=" + URLEncoder.encode(filterQuery, "UTF-8"), displayedValue + " (" + value.getCount() + ")" );
new DiscoverResult.FacetResult(filterValue, displayedValue, authorityValue, sortValue, facetValue.getCount(), new DiscoverResult.FacetResult(filter, name, null, name, count, DiscoveryConfigurationParameters .TYPE_DATE));
val.add(facetValue.getAsFilterQuery() + facetValue.getCount());
validity.add(facetValue.getAsFilterQuery() + facetValue.getCount());
validity.add(facetValue.getAsFilterQuery() + facetValue.getCount());
List<FacetResult> collCount = sResponse.getFacetResult("location.coll"); for (FacetResult c : commCount) { communitiesCount.put(c.getAsFilterQuery(), (int) c.getCount()); collectionsCount.put(c.getAsFilterQuery(), (int) c.getCount());
for (DiscoverResult.FacetResult facetResult : facetValues) validity.add(facetResult.getAsFilterQuery() + facetResult.getCount());
private void renderFacetField(SearchFilterParam browseParams, DSpaceObject dso, String facetField, Table singleTable, List<String> filterQueries, DiscoverResult.FacetResult value) throws SQLException, WingException, UnsupportedEncodingException { String displayedValue = value.getDisplayedValue(); String filterQuery = value.getAsFilterQuery(); // if(field.getGap() != null){ // //We have a date get the year so we can display it // DateFormat simpleDateformat = new SimpleDateFormat("yyyy"); // displayedValue = simpleDateformat.format(SolrServiceImpl.toDate(displayedValue)); // filterQuery = ClientUtils.escapeQueryChars(value.getFacetField().getName()) + ":" + displayedValue + "*"; // } Cell cell = singleTable.addRow().addCell(); //No use in selecting the same filter twice if(filterQueries.contains(filterQuery)){ cell.addContent(displayedValue + " (" + value.getCount() + ")"); } else { //Add the basics Map<String, String> urlParams = new HashMap<String, String>(); urlParams.putAll(browseParams.getCommonBrowseParams()); String url = generateURL(contextPath + (dso == null ? "" : "/handle/" + dso.getHandle()) + "/discover", urlParams); //Add already existing filter queries url = addFilterQueriesToUrl(url); //Last add the current filter query url += "&fq=" + URLEncoder.encode(filterQuery, "UTF-8"); cell.addXref(url, displayedValue + " (" + value.getCount() + ")" ); } }
@Override public int compare(Object o1, Object o2) { String s1 = ""; String s2 = ""; if (o1 instanceof FacetResult && o2 instanceof String) { FacetResult c = (FacetResult) o1; s1 = c.getSortValue(); s2 = (String) o2; } else if (o2 instanceof FacetResult && o1 instanceof String) { FacetResult c = (FacetResult) o2; s1 = (String) o1; s2 = c.getSortValue(); } // both object are FacetResult so they are already sorted return s1.compareTo(s2); } }