From d4911f84d304a30d9f93a8648f2b770a0ab78518 Mon Sep 17 00:00:00 2001 From: Tor-Einar Skog <tor-einar.skog@bioforsk.no> Date: Fri, 20 Sep 2013 14:21:26 +0200 Subject: [PATCH] Improvements in DateMap and WeatherUtil Added warningStatus property of Result --- .../java/no/bioforsk/vips/entity/Result.java | 10 +++++++++ .../no/bioforsk/vips/entity/ResultImpl.java | 21 ++++++++++++++++++- .../java/no/bioforsk/vips/util/DateMap.java | 15 +++++++++++++ .../no/bioforsk/vips/util/WeatherUtil.java | 2 -- 4 files changed, 45 insertions(+), 3 deletions(-) diff --git a/src/main/java/no/bioforsk/vips/entity/Result.java b/src/main/java/no/bioforsk/vips/entity/Result.java index da5e8b7..5f9a3da 100644 --- a/src/main/java/no/bioforsk/vips/entity/Result.java +++ b/src/main/java/no/bioforsk/vips/entity/Result.java @@ -10,6 +10,13 @@ import java.util.Set; * @author Tor-Einar Skog <tor-einar.skog@hyper.no> */ public interface Result extends Comparable{ + + public final static Integer WARNING_STATUS_NO_WARNING = 0; + public final static Integer WARNING_STATUS_NO_WARNING_MISSING_DATA = 1; + public final static Integer WARNING_STATUS_NO_RISK = 2; + public final static Integer WARNING_STATUS_MINOR_RISK = 3; + public final static Integer WARNING_STATUS_HIGH_RISK = 4; + /* Time for which these results are valid */ public void setResultValidTime(Date time); public Date getResultValidTime(); @@ -22,4 +29,7 @@ public interface Result extends Comparable{ public void setValue(String key, String value); public String getValue(String key); public Map<String,String> getAllValues(); + + public void setWarningStatus(Integer warningStatus); + public Integer getWarningStatus(); } diff --git a/src/main/java/no/bioforsk/vips/entity/ResultImpl.java b/src/main/java/no/bioforsk/vips/entity/ResultImpl.java index dbb783d..970ab96 100644 --- a/src/main/java/no/bioforsk/vips/entity/ResultImpl.java +++ b/src/main/java/no/bioforsk/vips/entity/ResultImpl.java @@ -7,40 +7,48 @@ import java.util.Set; /** * Represents a result - * @copyright 2013 {@link http://www.bioforsk.no Bioforsk} + * @copyright 2013 <a href="http://www.bioforsk.no">Bioforsk</a> * @author Tor-Einar Skog <tor-einar.skog@bioforsk.no> */ public class ResultImpl implements Result{ private Date resultValidTime; private Set<String> keys; private HashMap<String, String> values; + private Integer warningStatus; + @Override public void setResultValidTime(Date time) { this.resultValidTime = time; } + @Override public Date getResultValidTime() { return this.resultValidTime; } + @Override public void setKeys(Set<String> keys) { this.keys = keys; } + @Override public Set<String> getKeys() { return this.values.keySet(); } + @Override public void setValue(String key, String value) { if(this.values == null) this.values = new HashMap(); this.values.put(key, value); } + @Override public String getValue(String key) { return this.values != null ? this.values.get(key) : null; } + @Override public Map<String, String> getAllValues() { return this.values; } @@ -50,8 +58,19 @@ public class ResultImpl implements Result{ * @param t * @return */ + @Override public int compareTo(Object t) { return this.getResultValidTime().compareTo(((Result) t).getResultValidTime()); } + + @Override + public void setWarningStatus(Integer warningStatus) { + this.warningStatus = warningStatus; + } + + @Override + public Integer getWarningStatus() { + return this.warningStatus != null ? this.warningStatus: WARNING_STATUS_NO_WARNING; + } } diff --git a/src/main/java/no/bioforsk/vips/util/DateMap.java b/src/main/java/no/bioforsk/vips/util/DateMap.java index eb85fc3..1318943 100644 --- a/src/main/java/no/bioforsk/vips/util/DateMap.java +++ b/src/main/java/no/bioforsk/vips/util/DateMap.java @@ -2,12 +2,14 @@ package no.bioforsk.vips.util; import java.text.DecimalFormat; import java.util.ArrayList; +import java.util.Calendar; import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Set; +import java.util.TimeZone; /** * Multiple parameters mapped by Date @@ -273,6 +275,19 @@ public class DateMap { Collections.sort(keys); return keys; } + + public List<Date> getSortedDateAtMidnightKeys(TimeZone timeZone) + { + List<Date> retVal = new ArrayList<>(); + Calendar cal = Calendar.getInstance(timeZone); + for(Date timeStamp:this.getSortedDateKeys()) + { + cal.setTime(timeStamp); + if(cal.get(Calendar.HOUR_OF_DAY) == 0) + retVal.add(timeStamp); + } + return retVal; + } @Override public String toString() diff --git a/src/main/java/no/bioforsk/vips/util/WeatherUtil.java b/src/main/java/no/bioforsk/vips/util/WeatherUtil.java index 736d357..eaf0685 100644 --- a/src/main/java/no/bioforsk/vips/util/WeatherUtil.java +++ b/src/main/java/no/bioforsk/vips/util/WeatherUtil.java @@ -5,10 +5,8 @@ import java.util.Calendar; import java.util.Collection; import java.util.Date; import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; -import java.util.Set; import java.util.TimeZone; import no.bioforsk.vips.entity.WeatherObservation; -- GitLab