Commit d8a27bbe authored by Noel Alonso's avatar Noel Alonso
Browse files

Añade termquery común para todas las timeseries

parent 79ccd26f
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
package es.redmic.elasticsearchlib.timeseries.repository;

import java.util.List;
import java.util.Map;

import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.joda.time.format.DateTimeFormat;

import es.redmic.elasticsearchlib.data.repository.RDataESRepository;
@@ -17,4 +23,20 @@ public abstract class RTimeSeriesESRepository<TModel extends BaseTimeDataAbstrac
	protected String getIndex(final TModel modelToIndex) {
		return getIndex()[0] + "-" + modelToIndex.getDate().toString(DateTimeFormat.forPattern("yyyy-MM-dd"));
	}

	@SuppressWarnings("unchecked")
	@Override
	public QueryBuilder getTermQuery(Map<String, Object> terms, BoolQueryBuilder query) {

		if (terms.containsKey("dataDefinition")) {
			List<Integer> ids = (List<Integer>) terms.get("dataDefinition");
			query.must(QueryBuilders.boolQuery().filter(QueryBuilders.termsQuery("dataDefinition", ids)));
		}

		if (terms.containsKey("dates")) {
			List<String> dates = (List<String>) terms.get("dates");
			query.must(QueryBuilders.boolQuery().filter(QueryBuilders.termsQuery("date", dates)));
		}
		return super.getTermQuery(terms, query);
	}
}