Skip to content
Snippets Groups Projects
Commit d4911f84 authored by Tor-Einar Skog's avatar Tor-Einar Skog
Browse files

Improvements in DateMap and WeatherUtil

Added warningStatus property of Result
parent 8b6d8eb5
Branches
No related tags found
No related merge requests found
...@@ -10,6 +10,13 @@ import java.util.Set; ...@@ -10,6 +10,13 @@ import java.util.Set;
* @author Tor-Einar Skog <tor-einar.skog@hyper.no> * @author Tor-Einar Skog <tor-einar.skog@hyper.no>
*/ */
public interface Result extends Comparable{ 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 */ /* Time for which these results are valid */
public void setResultValidTime(Date time); public void setResultValidTime(Date time);
public Date getResultValidTime(); public Date getResultValidTime();
...@@ -22,4 +29,7 @@ public interface Result extends Comparable{ ...@@ -22,4 +29,7 @@ public interface Result extends Comparable{
public void setValue(String key, String value); public void setValue(String key, String value);
public String getValue(String key); public String getValue(String key);
public Map<String,String> getAllValues(); public Map<String,String> getAllValues();
public void setWarningStatus(Integer warningStatus);
public Integer getWarningStatus();
} }
...@@ -7,40 +7,48 @@ import java.util.Set; ...@@ -7,40 +7,48 @@ import java.util.Set;
/** /**
* Represents a result * 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> * @author Tor-Einar Skog <tor-einar.skog@bioforsk.no>
*/ */
public class ResultImpl implements Result{ public class ResultImpl implements Result{
private Date resultValidTime; private Date resultValidTime;
private Set<String> keys; private Set<String> keys;
private HashMap<String, String> values; private HashMap<String, String> values;
private Integer warningStatus;
@Override
public void setResultValidTime(Date time) { public void setResultValidTime(Date time) {
this.resultValidTime = time; this.resultValidTime = time;
} }
@Override
public Date getResultValidTime() { public Date getResultValidTime() {
return this.resultValidTime; return this.resultValidTime;
} }
@Override
public void setKeys(Set<String> keys) { public void setKeys(Set<String> keys) {
this.keys = keys; this.keys = keys;
} }
@Override
public Set<String> getKeys() { public Set<String> getKeys() {
return this.values.keySet(); return this.values.keySet();
} }
@Override
public void setValue(String key, String value) { public void setValue(String key, String value) {
if(this.values == null) if(this.values == null)
this.values = new HashMap(); this.values = new HashMap();
this.values.put(key, value); this.values.put(key, value);
} }
@Override
public String getValue(String key) { public String getValue(String key) {
return this.values != null ? this.values.get(key) : null; return this.values != null ? this.values.get(key) : null;
} }
@Override
public Map<String, String> getAllValues() { public Map<String, String> getAllValues() {
return this.values; return this.values;
} }
...@@ -50,8 +58,19 @@ public class ResultImpl implements Result{ ...@@ -50,8 +58,19 @@ public class ResultImpl implements Result{
* @param t * @param t
* @return * @return
*/ */
@Override
public int compareTo(Object t) { public int compareTo(Object t) {
return this.getResultValidTime().compareTo(((Result) t).getResultValidTime()); 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;
}
} }
...@@ -2,12 +2,14 @@ package no.bioforsk.vips.util; ...@@ -2,12 +2,14 @@ package no.bioforsk.vips.util;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections; import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.TimeZone;
/** /**
* Multiple parameters mapped by Date * Multiple parameters mapped by Date
...@@ -273,6 +275,19 @@ public class DateMap { ...@@ -273,6 +275,19 @@ public class DateMap {
Collections.sort(keys); Collections.sort(keys);
return 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 @Override
public String toString() public String toString()
......
...@@ -5,10 +5,8 @@ import java.util.Calendar; ...@@ -5,10 +5,8 @@ import java.util.Calendar;
import java.util.Collection; import java.util.Collection;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
import java.util.TimeZone; import java.util.TimeZone;
import no.bioforsk.vips.entity.WeatherObservation; import no.bioforsk.vips.entity.WeatherObservation;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment