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

Añade clases para manejar resultados de consultas

parent def3eae6
Loading
Loading
Loading
Loading
+21 −0
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;
	}
}
+12 −0
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;

}
+31 −0
Original line number Diff line number Diff line
package es.redmic.timeseriesview.dto.windrose;

import es.redmic.models.es.utils.DecimalUtils;

public class LimitsDTO {

	private Double min;

	private Double max;

	public LimitsDTO(Double min, Double max) {
		setMin(min);
		setMax(max);
	}

	public Double getMin() {
		return DecimalUtils.roundDecimals(min);
	}

	public void setMin(Double min) {
		this.min = min;
	}

	public Double getMax() {
		return DecimalUtils.roundDecimals(max);
	}

	public void setMax(Double max) {
		this.max = max;
	}
}
+21 −0
Original line number Diff line number Diff line
package es.redmic.timeseriesview.dto.windrose;

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

public class RangesOfSplitsDTO {

	private List<LimitsDTO> limits = new ArrayList<LimitsDTO>();

	public List<LimitsDTO> getLimits() {
		return limits;
	}

	public void setLimits(List<LimitsDTO> limits) {
		this.limits = limits;
	}

	public void addRange(Double min, Double max) {
		limits.add(new LimitsDTO(min, max));
	}
}
+53 −0
Original line number Diff line number Diff line
package es.redmic.timeseriesview.dto.windrose;

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

import es.redmic.exception.elasticsearch.ESTermQueryException;

public class WindroseDataDTO extends RangesOfSplitsDTO {

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

	public WindroseDataDTO() {
		super();
	}

	public WindroseDataDTO(Double min, Double max, Integer partitionNumber) {
		super();
		this.setLimits(min, max, partitionNumber);
	}

	public List<WindroseSectorDTO> getData() {
		return data;
	}

	public void setData(List<WindroseSectorDTO> data) {
		this.data = data;
	}

	public void addSectorData(WindroseSectorDTO sectorData) {

		if (data == null)
			data = new ArrayList<WindroseSectorDTO>();
		data.add(sectorData);
	}

	private void setLimits(Double min, Double max, Integer partitionNumber) {

		if (min == null || max == null || (min > max) || min == max || partitionNumber == null || partitionNumber == 0)
			throw new ESTermQueryException("partitionNumber", partitionNumber.toString());

		double partitionLength = (max - min) / partitionNumber;

		List<LimitsDTO> limits = new ArrayList<LimitsDTO>();

		double limit = min;
		for (int i = 0; i < partitionNumber; i++) {
			limits.add(new LimitsDTO(limit, limit + partitionLength));
			limit += partitionLength;
		}

		this.setLimits(limits);
	}
}
Loading