Example usage for org.springframework.data.solr.core.query.result SolrResultPage SolrResultPage

List of usage examples for org.springframework.data.solr.core.query.result SolrResultPage SolrResultPage

Introduction

In this page you can find the example usage for org.springframework.data.solr.core.query.result SolrResultPage SolrResultPage.

Prototype

public SolrResultPage(List<T> content, Pageable pageable, long total, @Nullable Float maxScore) 

Source Link

Usage

From source file:org.springframework.data.solr.core.ResultHelper.java

static Map<Field, Page<FacetFieldEntry>> convertFacetQueryResponseToFacetPageMap(FacetQuery query,
        QueryResponse response) {/*  w  w w  . j a  v a2s . c  om*/
    Assert.notNull(query, "Cannot convert response for 'null', query");

    if (!hasFacets(query, response)) {
        return Collections.emptyMap();
    }
    Map<Field, Page<FacetFieldEntry>> facetResult = new HashMap<Field, Page<FacetFieldEntry>>();

    if (CollectionUtils.isNotEmpty(response.getFacetFields())) {
        int initalPageSize = query.getFacetOptions().getPageable().getPageSize();
        for (FacetField facetField : response.getFacetFields()) {
            if (facetField != null && StringUtils.hasText(facetField.getName())) {
                Field field = new SimpleField(facetField.getName());
                if (CollectionUtils.isNotEmpty(facetField.getValues())) {
                    List<FacetFieldEntry> pageEntries = new ArrayList<FacetFieldEntry>(initalPageSize);
                    for (Count count : facetField.getValues()) {
                        if (count != null) {
                            pageEntries
                                    .add(new SimpleFacetFieldEntry(field, count.getName(), count.getCount()));
                        }
                    }
                    facetResult.put(field, new SolrResultPage<FacetFieldEntry>(pageEntries,
                            query.getFacetOptions().getPageable(), facetField.getValueCount(), null));
                } else {
                    facetResult.put(field,
                            new SolrResultPage<FacetFieldEntry>(Collections.<FacetFieldEntry>emptyList(),
                                    query.getFacetOptions().getPageable(), 0, null));
                }
            }
        }
    }
    return facetResult;
}