Commit 5cf22bc0 authored by Noel Alonso's avatar Noel Alonso
Browse files

Cambia clases para crear y devolver windrose

parent 59fc4f99
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -4,10 +4,13 @@ import com.fasterxml.jackson.annotation.JsonIgnore;

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

public class WindroseItemDTO {
public class WindRoseItemDTO {

	public WindroseItemDTO(Integer count) {
		setCount(count);
	private Integer total;

	public WindRoseItemDTO(Integer total) {
		this.total = total;
		this.count = 0;
	}

	private Double value;
@@ -31,7 +34,11 @@ public class WindroseItemDTO {
		this.count = count;
	}

	public void calculateValue(Integer total) {
	public void addCount() {
		this.count++;
	}

	public void calculate() {
		double aux = (double) count / total;
		setValue(aux * 100);
	}
+28 −0
Original line number Diff line number Diff line
@@ -2,15 +2,27 @@ package es.redmic.timeseriesview.dto.windrose;

import java.util.ArrayList;

public class WindroseSectorDTO extends ArrayList<WindroseItemDTO> {
public class WindRoseSectorDTO extends ArrayList<WindRoseItemDTO> {

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

	public void calculateValue(Integer total) {
	public WindRoseSectorDTO(Integer total, Integer partitionNumber) {
		super();
		initialize(total, partitionNumber);
	}

	private void initialize(Integer total, Integer partitionNumber) {

		for (int i = 0; i < partitionNumber; i++) {
			add(new WindRoseItemDTO(total));
		}
	}

	public void calculate() {
		for (int i = 0; i < size(); i++)
			get(i).calculateValue(total);
			get(i).calculate();
	}
}
+0 −48
Original line number Diff line number Diff line
package es.redmic.timeseriesview.dto.windrose;

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

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) {

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

		double partitionLength = (max - min) / partitionNumber;

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

		this.setLimits(limits);
	}
}