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
No related branches found
No related tags found
No related merge requests found
......@@ -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();
}
......@@ -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;
}
}
......@@ -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()
......
......@@ -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;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment