Commit 59fc4f99 authored by Noel Alonso's avatar Noel Alonso
Browse files

Elimina componentes por cambio en el planteamiento

A consecuencia del cambio de planteamiento a la hora de obtener los
datos para windRose, de han dejado de usar dto y converter
parent ca664e03
Loading
Loading
Loading
Loading
+0 −68
Original line number Diff line number Diff line
package es.redmic.timeseriesview.converter;

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

import org.springframework.stereotype.Component;

import es.redmic.elasticsearchlib.common.utils.ElasticSearchUtils;
import es.redmic.models.es.geojson.common.model.Aggregations;
import es.redmic.timeseriesview.dto.windrose.DatesByDirectionDTO;
import es.redmic.timeseriesview.dto.windrose.DatesByDirectionListDTO;
import ma.glasnost.orika.CustomConverter;
import ma.glasnost.orika.MappingContext;
import ma.glasnost.orika.metadata.Type;

/**
 * Convierte el resultado de la agregación de fechas por sectores, en un objeto
 * para usar en la query de windrose
 */

@Component
public class DirectionDatesConverter extends CustomConverter<Aggregations, DatesByDirectionListDTO> {

	@SuppressWarnings("unchecked")
	@Override
	public DatesByDirectionListDTO convert(Aggregations source, Type<? extends DatesByDirectionListDTO> destinationType,
			MappingContext mappingContext) {

		DatesByDirectionListDTO result = new DatesByDirectionListDTO();

		Map<String, Object> aggregations = source.getAttributes();

		if (aggregations == null || aggregations.size() == 0)
			return result;

		// @formatter:off
		// Extrae los datos hasta el resultado de cada filtro 
		Map<String, Object> directions = (Map<String, Object>) aggregations.get("filters#direction_ranges"),
				sectors = (Map<String, Object>) directions.get("buckets");

		// @formatter:on

		// Para el resultado de cada filtro = sector
		for (int i = 0; i < sectors.size(); i++) {
			result.add(getDatesByDirection((Map<String, Object>) sectors.get(i + ""))); // se usa como índice el orden
																						// en la representación
		}
		return result;
	}

	/*
	 * Obtiene las fechas agregadas en el sector especificado
	 */
	private DatesByDirectionDTO getDatesByDirection(Map<String, Object> sector) {

		DatesByDirectionDTO datesByDirectionDTO = new DatesByDirectionDTO();

		// Extrae los buckets
		List<Map<String, Object>> dates = ElasticSearchUtils.getBucketsFromAggregations(sector);

		// Guarda cada una de las fechas obtenidas
		for (int j = 0; j < dates.size(); j++) {
			datesByDirectionDTO.getDates().add(dates.get(j).get("key_as_string").toString());
		}

		return datesByDirectionDTO;
	}
}
+0 −39
Original line number Diff line number Diff line
package es.redmic.timeseriesview.converter;

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

import org.springframework.stereotype.Component;

import es.redmic.elasticsearchlib.common.utils.ElasticSearchUtils;
import es.redmic.models.es.geojson.common.model.Aggregations;
import es.redmic.timeseriesview.dto.windrose.WindroseItemDTO;
import es.redmic.timeseriesview.dto.windrose.WindroseSectorDTO;
import ma.glasnost.orika.CustomConverter;
import ma.glasnost.orika.MappingContext;
import ma.glasnost.orika.metadata.Type;

@Component
public class WindroseSectorConverter extends CustomConverter<Aggregations, WindroseSectorDTO> {

	@SuppressWarnings("unchecked")
	@Override
	public WindroseSectorDTO convert(Aggregations source, Type<? extends WindroseSectorDTO> destinationType,
			MappingContext mappingContext) {

		WindroseSectorDTO result = new WindroseSectorDTO();

		Map<String, Object> aggregations = source.getAttributes();
		if (aggregations == null || aggregations.size() == 0)
			return result;

		List<Map<String, Object>> sector = ElasticSearchUtils.getBucketsFromAggregations(aggregations);

		for (int i = 0; i < sector.size(); i++) {

			Integer count = (Integer) ((Map<String, Object>) sector.get(i).get("value_count#count")).get("value");
			result.add(new WindroseItemDTO(count));
		}
		return result;
	}
}
+0 −21
Original line number Diff line number Diff line
package es.redmic.timeseriesview.dto.windrose;

import java.util.ArrayList;
import java.util.List;

public class DatesByDirectionDTO {

	private List<String> dates;

	public DatesByDirectionDTO() {
		dates = new ArrayList<String>();
	}

	public List<String> getDates() {
		return dates;
	}

	public void setDates(List<String> dates) {
		this.dates = dates;
	}
}
+0 −12
Original line number Diff line number Diff line
package es.redmic.timeseriesview.dto.windrose;

import java.util.ArrayList;

public class DatesByDirectionListDTO extends ArrayList<DatesByDirectionDTO> {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

}