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

Corrige y refactoriza base de timeseries

parent fb3bb34d
Loading
Loading
Loading
Loading
+25 −16
Original line number Diff line number Diff line
@@ -518,23 +518,10 @@ public abstract class RBaseESRepository<TModel extends BaseES<?>, TQueryDTO exte

		LOGGER.debug("Find en {} {} con queryDTO {} y query interna.", getIndex(), getType(), queryDTO);

		QueryBuilder termQuery = getTermQuery(queryDTO.getTerms());

		BoolQueryBuilder partialQuery = null;
		if (serviceQuery != null) {
			partialQuery = QueryBuilders.boolQuery().must(serviceQuery);
		}

		if (termQuery != null && partialQuery != null) {
			partialQuery.must(termQuery);
		} else if (termQuery != null) {
			partialQuery = QueryBuilders.boolQuery().must(termQuery);
		}

		BoolQueryBuilder queryBuilder = getQuery(queryDTO, getInternalQuery(), partialQuery);

		SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();

		BoolQueryBuilder queryBuilder = getQueryBuilder(queryDTO, serviceQuery);

		searchSourceBuilder.query(queryBuilder);

		QueryBuilder postFilter = getPostFilter(queryDTO.getPostFilter());
@@ -543,7 +530,7 @@ public abstract class RBaseESRepository<TModel extends BaseES<?>, TQueryDTO exte
			searchSourceBuilder.postFilter(postFilter);
		}

		List<BaseAggregationBuilder> aggs = getAggs(queryDTO.getAggs());
		List<BaseAggregationBuilder> aggs = getAggs(queryDTO);

		if (aggs != null) {
			for (BaseAggregationBuilder term : aggs) {
@@ -578,6 +565,24 @@ public abstract class RBaseESRepository<TModel extends BaseES<?>, TQueryDTO exte
		return searchSourceBuilder;
	}

	protected BoolQueryBuilder getQueryBuilder(TQueryDTO queryDTO, QueryBuilder serviceQuery) {

		QueryBuilder termQuery = getTermQuery(queryDTO.getTerms());

		BoolQueryBuilder partialQuery = null;
		if (serviceQuery != null) {
			partialQuery = QueryBuilders.boolQuery().must(serviceQuery);
		}

		if (termQuery != null && partialQuery != null) {
			partialQuery.must(termQuery);
		} else if (termQuery != null) {
			partialQuery = QueryBuilders.boolQuery().must(termQuery);
		}

		return getQuery(queryDTO, getInternalQuery(), partialQuery);
	}

	private List<SortBuilder<?>> getSorts(List<SortDTO> sortDTOList) {

		// Se obtiene la ordenación enviada desde el exterior
@@ -694,6 +699,10 @@ public abstract class RBaseESRepository<TModel extends BaseES<?>, TQueryDTO exte
	 * @return aggs de elastic.
	 */

	protected List<BaseAggregationBuilder> getAggs(TQueryDTO queryDTO) {
		return getAggs(queryDTO.getAggs());
	}

	protected List<BaseAggregationBuilder> getAggs(List<AggsPropertiesDTO> aggs) {
		return ElasticSearchUtils.getAggs(aggs);
	}
+6 −6
Original line number Diff line number Diff line
@@ -46,14 +46,14 @@ import es.redmic.models.es.data.common.model.DataSearchWrapper;
public abstract class RDataESRepository<TModel extends BaseES<?>, TQueryDTO extends SimpleQueryDTO>
		extends RBaseESRepository<TModel, TQueryDTO> {

	public RDataESRepository() {
	protected RDataESRepository() {
	}

	public RDataESRepository(String[] index, String type) {
	protected RDataESRepository(String[] index, String type) {
		super(index, type);
	}

	public RDataESRepository(String[] index, String type, Boolean rollOverIndex) {
	protected RDataESRepository(String[] index, String type, Boolean rollOverIndex) {
		super(index, type, rollOverIndex);
	}

+4 −2
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@ import org.elasticsearch.search.sort.SortBuilder;
import org.elasticsearch.search.sort.SortBuilders;
import org.elasticsearch.search.sort.SortOrder;

import es.redmic.elasticsearchlib.common.query.SeriesQueryUtils;

/*-
 * #%L
 * elasticsearch-lib
@@ -36,7 +38,6 @@ import org.elasticsearch.search.sort.SortOrder;
 * #L%
 */

import es.redmic.elasticsearchlib.common.query.SeriesQueryUtils;
import es.redmic.elasticsearchlib.common.repository.RBaseESRepository;
import es.redmic.exception.data.ItemNotFoundException;
import es.redmic.models.es.common.model.BaseAbstractStringES;
@@ -109,12 +110,13 @@ public abstract class RSeriesESRepository<TModel extends BaseAbstractStringES, T
				getSourceType(SeriesSearchWrapper.class));
	}

	@SuppressWarnings("unchecked")
	@Override
	public SeriesSearchWrapper<TModel> find(DataQueryDTO queryDTO) {

		QueryBuilder serviceQuery = SeriesQueryUtils.getQuery(queryDTO);

		SearchResponse result = searchRequest(serviceQuery);
		SearchResponse result = searchRequest((TQueryDTO) queryDTO, serviceQuery);

		if (result.getFailedShards() > 0)
			return null;