comparison artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadDataValueFilter.java @ 8180:00066d3add94

The existing implementation respects the fact that months are 0-based.
author Tom Gottfried <tom@intevation.de>
date Wed, 03 Sep 2014 18:21:35 +0200
parents 9ecd6267323b
children a1ceacf15d3a
comparison
equal deleted inserted replaced
8179:705f8b92fd66 8180:00066d3add94
9 9
10 import java.util.ArrayList; 10 import java.util.ArrayList;
11 import java.util.Calendar; 11 import java.util.Calendar;
12 import java.util.Date; 12 import java.util.Date;
13 import java.util.List; 13 import java.util.List;
14
15 import org.dive4elements.river.utils.DateUtil;
14 16
15 import org.dive4elements.river.artifacts.model.minfo.SedimentLoadData.Value; 17 import org.dive4elements.river.artifacts.model.minfo.SedimentLoadData.Value;
16 import org.dive4elements.river.artifacts.model.minfo.SedimentLoadData.Value.Filter; 18 import org.dive4elements.river.artifacts.model.minfo.SedimentLoadData.Value.Filter;
17 19
18 public final class SedimentLoadDataValueFilter { 20 public final class SedimentLoadDataValueFilter {
129 public TimeRangeIntersects(int year) { 131 public TimeRangeIntersects(int year) {
130 this(year, year); 132 this(year, year);
131 } 133 }
132 134
133 public TimeRangeIntersects(int startYear, int endYear) { 135 public TimeRangeIntersects(int startYear, int endYear) {
134 this(firstJan(Math.min(startYear, endYear)), 136 this(DateUtil.getStartDateFromYear(Math.min(startYear, endYear)),
135 lastDec(Math.max(startYear, endYear))); 137 DateUtil.getEndDateFromYear(Math.max(startYear, endYear)));
136 }
137
138 private static Date firstJan(int year) {
139 Calendar cal = Calendar.getInstance();
140 cal.set(year, 1, 1, 0, 0, 0);
141 return cal.getTime();
142 }
143
144 private static Date lastDec(int year) {
145 Calendar cal = Calendar.getInstance();
146 cal.set(year, 12, 31, 23, 59, 59);
147 return cal.getTime();
148 } 138 }
149 139
150 public TimeRangeIntersects(Date a, Date b) { 140 public TimeRangeIntersects(Date a, Date b) {
151 if (a.after(b)) { 141 if (a.after(b)) {
152 this.b = a; 142 this.b = a;

http://dive4elements.wald.intevation.org