Commit 1cc68fb7 authored by Noel Alonso's avatar Noel Alonso
Browse files

Añade estadísticas a los resultados de windrose

Adapta los tests
parent 9848ee38
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ import org.springframework.stereotype.Component;
import es.redmic.elasticsearchlib.common.utils.ElasticSearchUtils;
import es.redmic.exception.common.NoContentException;
import es.redmic.models.es.geojson.common.model.Aggregations;
import es.redmic.timeseriesview.dto.timeseries.StatsDTO;
import es.redmic.timeseriesview.dto.windrose.LimitsDTO;
import es.redmic.timeseriesview.dto.windrose.WindRoseDataDTO;
import ma.glasnost.orika.CustomConverter;
@@ -36,9 +37,9 @@ public class WindRoseDataConverter extends CustomConverter<Aggregations, WindRos
		
		partitionNumber = (Integer) mappingContext.getProperty("partitionNumber");

		Map<String, Object> stats = ElasticSearchUtils.getMapValue(
		StatsDTO stats = (StatsDTO) ElasticSearchUtils.getStatsFromAggregation(
				ElasticSearchUtils.getMapValue(source.getAttributes(), "filter#dataDefinitionFilter"),
					"stats#speed_stats");
					"stats#speed_stats", StatsDTO.class);
		
		List<Map<String, Object>> values = (List<Map<String, Object>>) 
				(ElasticSearchUtils.getMapValue(source.getAttributes(), "date_histogram#avg_values_by_interval"))
@@ -55,11 +56,14 @@ public class WindRoseDataConverter extends CustomConverter<Aggregations, WindRos
		
		// @formatter:on

		Double max = (Double) stats.get("max");
		Double max = stats.getMax();

		// Eliminar max
		WindRoseDataDTO windRoseDataDTO = new WindRoseDataDTO(values.size(), max, partitionNumber, numSectors);

		// Se guardan las estadísticas
		windRoseDataDTO.setStats(stats);

		List<LimitsDTO> limits = windRoseDataDTO.getLimits();

		for (int i = 0; i < values.size(); i++) {
+12 −0
Original line number Diff line number Diff line
@@ -3,10 +3,14 @@ package es.redmic.timeseriesview.dto.windrose;
import java.util.ArrayList;
import java.util.List;

import es.redmic.timeseriesview.dto.timeseries.StatsDTO;

public class WindRoseDataDTO extends RangesOfSplitsDTO {

	private List<WindRoseSectorDTO> data = new ArrayList<WindRoseSectorDTO>();

	private StatsDTO stats;

	private Integer numSectors;

	private Integer partitionNumber;
@@ -38,6 +42,14 @@ public class WindRoseDataDTO extends RangesOfSplitsDTO {
		this.data = data;
	}

	public StatsDTO getStats() {
		return stats;
	}

	public void setStats(StatsDTO stats) {
		this.stats = stats;
	}

	public void addSectorData(WindRoseSectorDTO sectorData) {

		if (data == null)
+8 −1
Original line number Diff line number Diff line
@@ -227,5 +227,12 @@
		}, {
			"value": 0.0
		}]
	]
	],
	"stats": {
		"min": 0.0,
		"max": 25.3,
		"count": 1211,
		"sum": 10344.25,
		"avg": 8.542
	}
}
 No newline at end of file
+8 −1
Original line number Diff line number Diff line
@@ -787,5 +787,12 @@
		}, {
			"value": 0.0
		}]
	]
	],
	"stats": {
		"min": 0.0,
		"max": 25.3,
		"count": 1211,
		"sum": 10344.25,
		"avg": 8.542
	}
}
 No newline at end of file