@Override public String getType() { return definition.getType(); }
@Override public List<AggregateRangeDateDefinition> getDateRanges() { return definition.getDateRanges(); }
@Override public String getField() { return definition.getDocumentField(); }
for (AggregateDefinition ag : ags) { HashMap<String, Serializable> agData = new HashMap<>(); agData.put("type", ag.getType()); agData.put("id", ag.getId()); agData.put("field", ag.getDocumentField()); agData.putAll(ag.getProperties()); ArrayList<HashMap<String, Serializable>> rangesData = new ArrayList<>(); if (ag.getDateRanges() != null) { for (AggregateRangeDateDefinition range : ag.getDateRanges()) { HashMap<String, Serializable> rangeData = new HashMap<>(); rangeData.put("from", range.getFromAsString()); rangesData.add(rangeData); for (AggregateRangeDefinition range : ag.getRanges()) { HashMap<String, Serializable> rangeData = new HashMap<>(); rangeData.put("from-dbl", range.getFrom());
@Override public void resetSelection() { PredicateFieldDefinition field = definition.getSearchField(); if (searchDocument != null) { searchDocument.setProperty(field.getSchema(), field.getName(), null); selection = Collections.<String> emptyList(); } }
@Override public String getId() { return definition.getId(); }
@Override public Map<String, String> getProperties() { return definition.getProperties(); }
@Override public List<AggregateRangeDefinition> getRanges() { return definition.getRanges(); }
@Override public int compare(BucketRange arg0, BucketRange arg1) { return definition.getAggregateRangeDefinitionOrderMap() .get(arg0.getKey()) .compareTo(definition.getAggregateRangeDefinitionOrderMap().get(arg1.getKey())); } }
@Override public int compare(BucketRangeDate arg0, BucketRangeDate arg1) { return definition.getAggregateDateRangeDefinitionOrderMap() .get(arg0.getKey()) .compareTo(definition.getAggregateDateRangeDefinitionOrderMap().get(arg1.getKey())); } }
@SuppressWarnings("unchecked") @Override public List<String> getSelection() { if (selection == null) { PredicateFieldDefinition field = definition.getSearchField(); if (searchDocument != null) { // property must be nxs:stringList List<String> value = null; Object resolvedProperties = searchDocument.getProperty(field.getSchema(), field.getName()); if (resolvedProperties instanceof String[]) { value = Arrays.asList((String[]) resolvedProperties); } else if (resolvedProperties instanceof List<?>) { value = (List<String>) searchDocument.getProperty(field.getSchema(), field.getName()); } selection = value; } if (selection == null) { selection = Collections.<String> emptyList(); } } return selection; }
public SingleValueMetricAggregate(AggregateDefinition definition, DocumentModel searchDocument) { super(definition, searchDocument); this.aggregationBuilder = toBuilder(definition.getType()); }
@Override public void parseAggregation(NumericMetricsAggregation.SingleValue aggregation) { this.value = aggregation.value(); this.buckets = Collections.singletonList(new BucketTerm(definition.getType(), value.longValue())); }
@Override public void parseAggregation(SingleBucketAggregation aggregation) { this.docCount = aggregation.getDocCount(); this.buckets = Collections.singletonList(new BucketTerm(definition.getType(), docCount)); }
public static AggregateEsBase<? extends Aggregation, ? extends Bucket> create(AggregateDefinition def, DocumentModel searchDocumentModel) { switch (def.getType()) { case AGG_TYPE_TERMS: return new TermAggregate(def, searchDocumentModel); case AGG_TYPE_RANGE: return new RangeAggregate(def, searchDocumentModel); case AGG_TYPE_DATE_HISTOGRAM: return new DateHistogramAggregate(def, searchDocumentModel); case AGG_TYPE_SIGNIFICANT_TERMS: return new SignificantTermAggregate(def, searchDocumentModel); case AGG_TYPE_HISTOGRAM: return new HistogramAggregate(def, searchDocumentModel); case AGG_TYPE_DATE_RANGE: return new DateRangeAggregate(def, searchDocumentModel); case AGG_CARDINALITY: case AGG_COUNT: case AGG_SUM: case AGG_AVG: case AGG_MAX: case AGG_MIN: return new SingleValueMetricAggregate(def, searchDocumentModel); case AGG_MISSING: return new MissingAggregate(def, searchDocumentModel); default: throw new IllegalArgumentException("Unknown aggregate type: " + def.getType()); } } }