comparison artifacts/src/main/java/org/dive4elements/river/artifacts/model/FixingsFilterBuilder.java @ 8397:da67b2bca1c0

Fixing overview filter: Accept date range as UNIX time stamps, too.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 09 Oct 2014 11:57:17 +0200
parents af13ceeba52a
children ae750e3fa9ea
comparison
equal deleted inserted replaced
8396:a201d475e50d 8397:da67b2bca1c0
9 package org.dive4elements.river.artifacts.model; 9 package org.dive4elements.river.artifacts.model;
10 10
11 import org.dive4elements.river.artifacts.model.FixingsOverview.AndFilter; 11 import org.dive4elements.river.artifacts.model.FixingsOverview.AndFilter;
12 import org.dive4elements.river.artifacts.model.FixingsOverview.DateFilter; 12 import org.dive4elements.river.artifacts.model.FixingsOverview.DateFilter;
13 import org.dive4elements.river.artifacts.model.FixingsOverview.DateRangeFilter; 13 import org.dive4elements.river.artifacts.model.FixingsOverview.DateRangeFilter;
14
15 import org.dive4elements.river.artifacts.model.FixingsOverview.Fixing.Filter; 14 import org.dive4elements.river.artifacts.model.FixingsOverview.Fixing.Filter;
16
17 import org.dive4elements.river.artifacts.model.FixingsOverview.IdFilter; 15 import org.dive4elements.river.artifacts.model.FixingsOverview.IdFilter;
18 import org.dive4elements.river.artifacts.model.FixingsOverview.IdsFilter; 16 import org.dive4elements.river.artifacts.model.FixingsOverview.IdsFilter;
19 import org.dive4elements.river.artifacts.model.FixingsOverview.KmFilter; 17 import org.dive4elements.river.artifacts.model.FixingsOverview.KmFilter;
20 import org.dive4elements.river.artifacts.model.FixingsOverview.NotFilter; 18 import org.dive4elements.river.artifacts.model.FixingsOverview.NotFilter;
21 import org.dive4elements.river.artifacts.model.FixingsOverview.OrFilter; 19 import org.dive4elements.river.artifacts.model.FixingsOverview.OrFilter;
22 import org.dive4elements.river.artifacts.model.FixingsOverview.SectorFilter; 20 import org.dive4elements.river.artifacts.model.FixingsOverview.SectorFilter;
23 import org.dive4elements.river.artifacts.model.FixingsOverview.SectorRangeFilter; 21 import org.dive4elements.river.artifacts.model.FixingsOverview.SectorRangeFilter;
24 22
25 import java.text.ParsePosition; 23 import java.text.ParsePosition;
26 import java.text.SimpleDateFormat; 24 import java.text.SimpleDateFormat;
27
28 import java.util.ArrayList; 25 import java.util.ArrayList;
29 import java.util.Date; 26 import java.util.Date;
30 import java.util.List; 27 import java.util.List;
28 import java.util.regex.Matcher;
29 import java.util.regex.Pattern;
31 30
32 import org.apache.log4j.Logger; 31 import org.apache.log4j.Logger;
33
34 import org.w3c.dom.Document; 32 import org.w3c.dom.Document;
35 import org.w3c.dom.Element; 33 import org.w3c.dom.Element;
36 import org.w3c.dom.Node; 34 import org.w3c.dom.Node;
37 import org.w3c.dom.NodeList; 35 import org.w3c.dom.NodeList;
38 36
39 public class FixingsFilterBuilder 37 public class FixingsFilterBuilder
40 { 38 {
41 private static Logger log = Logger.getLogger(FixingsFilterBuilder.class); 39 private static Logger log = Logger.getLogger(FixingsFilterBuilder.class);
40
41 private static final Pattern IS_LONG = Pattern.compile("^\\s*(-?\\d+)\\s*$");
42 42
43 protected Filter filter; 43 protected Filter filter;
44 protected Range range; 44 protected Range range;
45 45
46 protected Document document; 46 protected Document document;
129 default: return new AndFilter(filters); 129 default: return new AndFilter(filters);
130 } 130 }
131 } 131 }
132 132
133 protected static final Date parseDate(String text) { 133 protected static final Date parseDate(String text) {
134 Matcher m = IS_LONG.matcher(text);
135 if (m.matches()) {
136 return new Date(Long.valueOf(m.group(1)));
137 }
134 SimpleDateFormat format = 138 SimpleDateFormat format =
135 new SimpleDateFormat(FixingsOverview.DATE_FORMAT); 139 new SimpleDateFormat(FixingsOverview.DATE_FORMAT);
136 return format.parse(text, new ParsePosition(0)); 140 return format.parse(text, new ParsePosition(0));
137 } 141 }
138 142

http://dive4elements.wald.intevation.org