@Override public TimeSeries<Long, Double> from(BinaryTimeSeries binaryTimeSeries, long queryStart, long queryEnd) { //This is a hack MetricTimeSeries metricTimeSeries = new MetricTimeSeriesConverter().from(binaryTimeSeries, queryStart, queryEnd); TimeSeries<Long, Double> timeSeries = new TimeSeries<>(map(metricTimeSeries.points())); metricTimeSeries.getAttributesReference().forEach(timeSeries::addAttribute); return timeSeries; }
/** * Converts a solr document to a time series. * <p> * The resulting time series does not contain user defined attributes present in the solr document * (see {@link de.qaware.chronix.Schema#isUserDefined(String)} ). * * @param solrDoc the solr document * @return time series representing the given solr document */ public MetricTimeSeries toTimeSeries(SolrDocument solrDoc) { BinaryTimeSeries.Builder btsBuilder = new BinaryTimeSeries.Builder(); solrDoc.forEach(field -> btsBuilder.field(field.getKey(), field.getValue())); BinaryTimeSeries bts = btsBuilder.build(); long start = (long) solrDoc.get(START); long end = (long) solrDoc.get(END); return converter.from(bts, start, end); }