Example usage for org.apache.solr.client.solrj.response RangeFacet.Numeric getCounts

List of usage examples for org.apache.solr.client.solrj.response RangeFacet.Numeric getCounts

Introduction

In this page you can find the example usage for org.apache.solr.client.solrj.response RangeFacet.Numeric getCounts.

Prototype

public List<Count> getCounts() 

Source Link

Usage

From source file:com.nridge.ds.solr.SolrResponseBuilder.java

License:Open Source License

@SuppressWarnings({ "unchecked", "rawtypes" })
private void populateFacet(DataTable aTable, RangeFacet aRangeFacet) {
    DataField schemaField;// w w w  .j a v a  2  s.  c o  m
    Logger appLogger = mAppMgr.getLogger(this, "populateFacet");

    appLogger.trace(mAppMgr.LOGMSG_TRACE_ENTER);

    DataBag resultBag = mBag;
    String fieldName = aRangeFacet.getName();
    schemaField = resultBag.getFieldByName(fieldName);
    Field.Type fieldType = facetRangeToFieldType(aRangeFacet, schemaField);
    if (Field.isDateOrTime(fieldType)) {
        RangeFacet<Date, Date> facetRangeDate = (RangeFacet<Date, Date>) aRangeFacet;

        aTable.newRow();
        aTable.setValueByName("field_name", fieldName);
        if ((schemaField != null) && (StringUtils.isNotEmpty(schemaField.getTitle())))
            aTable.setValueByName("field_title", schemaField.getTitle());
        else
            aTable.setValueByName("field_title", Field.nameToTitle(fieldName));
        aTable.setValueByName("field_type", Field.typeToString(fieldType));
        Object objectValue = facetRangeDate.getStart();
        if (objectValue != null)
            aTable.setValueByName("field_start", facetRangeDate.getStart());
        objectValue = facetRangeDate.getEnd();
        if (objectValue != null)
            aTable.setValueByName("field_finish", facetRangeDate.getEnd());
        objectValue = facetRangeDate.getGap();
        if (objectValue != null)
            aTable.setValueByName("field_gap", objectValue.toString());
        objectValue = facetRangeDate.getAfter();
        if (objectValue != null)
            aTable.setValueByName("count_after", objectValue.toString());
        objectValue = facetRangeDate.getBefore();
        if (objectValue != null)
            aTable.setValueByName("count_before", objectValue.toString());
        objectValue = facetRangeDate.getBetween();
        if (objectValue != null)
            aTable.setValueByName("count_between", objectValue.toString());
        ArrayList<String> fieldValueList = new ArrayList<>();
        for (RangeFacet.Count rfCount : facetRangeDate.getCounts())
            fieldValueList.add(String.format("%s (%d)", rfCount.getValue(), rfCount.getCount()));
        aTable.setValuesByName("facet_name_count", fieldValueList);
        aTable.addRow();
    } else {
        RangeFacet.Numeric facetRangeNumber = (RangeFacet.Numeric) aRangeFacet;

        aTable.newRow();
        aTable.setValueByName("field_name", fieldName);
        if ((schemaField != null) && (StringUtils.isNotEmpty(schemaField.getTitle())))
            aTable.setValueByName("field_title", schemaField.getTitle());
        else
            aTable.setValueByName("field_title", Field.nameToTitle(fieldName));
        aTable.setValueByName("field_type", Field.typeToString(fieldType));
        Object objectValue = facetRangeNumber.getStart();
        if (objectValue != null)
            aTable.setValueByName("field_start", objectValue.toString());
        objectValue = facetRangeNumber.getEnd();
        if (objectValue != null)
            aTable.setValueByName("field_finish", objectValue.toString());
        objectValue = facetRangeNumber.getGap();
        if (objectValue != null)
            aTable.setValueByName("field_gap", objectValue.toString());
        objectValue = facetRangeNumber.getAfter();
        if (objectValue != null)
            aTable.setValueByName("count_after", objectValue.toString());
        objectValue = facetRangeNumber.getBefore();
        if (objectValue != null)
            aTable.setValueByName("count_before", objectValue.toString());
        objectValue = facetRangeNumber.getBetween();
        if (objectValue != null)
            aTable.setValueByName("count_between", objectValue.toString());
        ArrayList<String> fieldValueList = new ArrayList<>();
        for (RangeFacet.Count rfCount : facetRangeNumber.getCounts())
            fieldValueList.add(String.format("%s (%d)", rfCount.getValue(), rfCount.getCount()));
        aTable.setValuesByName("facet_name_count", fieldValueList);
        aTable.addRow();
    }

    appLogger.trace(mAppMgr.LOGMSG_TRACE_DEPART);
}

From source file:fr.cnes.sitools.metacatalogue.representation.GeoJsonMDEORepresentation.java

License:Open Source License

private void writeFacetRanges(JsonGenerator jGenerator) throws JsonGenerationException, IOException {

    jGenerator.writeObjectFieldStart("facet_ranges");
    if (this.rangesFacets != null) {
        for (RangeFacet facet : this.rangesFacets) {
            jGenerator.writeObjectFieldStart(facet.getName());
            jGenerator.writeArrayFieldStart("counts");
            if (facet instanceof RangeFacet.Date) {
                RangeFacet.Date facetDate = (RangeFacet.Date) facet;
                for (RangeFacet.Count count : facetDate.getCounts()) {
                    jGenerator.writeString(count.getValue());
                    jGenerator.writeNumber(count.getCount());
                }//from  ww w.j ava  2 s .c  om
                jGenerator.writeEndArray();
                jGenerator.writeStringField("start", formatDate(facetDate.getStart()));
                jGenerator.writeStringField("end", formatDate(facetDate.getEnd()));
                jGenerator.writeStringField("gap", facetDate.getGap());
                writeNumber(jGenerator, "after", facetDate.getAfter());
                writeNumber(jGenerator, "before", facetDate.getBefore());
                writeNumber(jGenerator, "between", facetDate.getBetween());
            }
            if (facet instanceof RangeFacet.Numeric) {
                RangeFacet.Numeric facetNumeric = (RangeFacet.Numeric) facet;
                for (RangeFacet.Count count : facetNumeric.getCounts()) {
                    jGenerator.writeString(count.getValue());
                    jGenerator.writeNumber(count.getCount());
                }
                jGenerator.writeEndArray();
                writeNumber(jGenerator, "start", facetNumeric.getStart());
                writeNumber(jGenerator, "end", facetNumeric.getEnd());
                writeNumber(jGenerator, "gap", facetNumeric.getGap());
                writeNumber(jGenerator, "after", facetNumeric.getAfter());
                writeNumber(jGenerator, "before", facetNumeric.getBefore());
                writeNumber(jGenerator, "between", facetNumeric.getBetween());
            }

            jGenerator.writeEndObject();
        }
    }
    jGenerator.writeEndObject();
}