changeset 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 a201d475e50d
children ae750e3fa9ea
files artifacts/src/main/java/org/dive4elements/river/artifacts/model/FixingsFilterBuilder.java
diffstat 1 files changed, 8 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/FixingsFilterBuilder.java	Wed Oct 08 16:28:02 2014 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/FixingsFilterBuilder.java	Thu Oct 09 11:57:17 2014 +0200
@@ -11,9 +11,7 @@
 import org.dive4elements.river.artifacts.model.FixingsOverview.AndFilter;
 import org.dive4elements.river.artifacts.model.FixingsOverview.DateFilter;
 import org.dive4elements.river.artifacts.model.FixingsOverview.DateRangeFilter;
-
 import org.dive4elements.river.artifacts.model.FixingsOverview.Fixing.Filter;
-
 import org.dive4elements.river.artifacts.model.FixingsOverview.IdFilter;
 import org.dive4elements.river.artifacts.model.FixingsOverview.IdsFilter;
 import org.dive4elements.river.artifacts.model.FixingsOverview.KmFilter;
@@ -24,13 +22,13 @@
 
 import java.text.ParsePosition;
 import java.text.SimpleDateFormat;
-
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 import org.apache.log4j.Logger;
-
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -40,6 +38,8 @@
 {
     private static Logger log = Logger.getLogger(FixingsFilterBuilder.class);
 
+    private static final Pattern IS_LONG = Pattern.compile("^\\s*(-?\\d+)\\s*$");
+
     protected Filter   filter;
     protected Range    range;
 
@@ -131,6 +131,10 @@
     }
 
     protected static final Date parseDate(String text) {
+        Matcher m = IS_LONG.matcher(text);
+        if (m.matches()) {
+            return new Date(Long.valueOf(m.group(1)));
+        }
         SimpleDateFormat format =
             new SimpleDateFormat(FixingsOverview.DATE_FORMAT);
         return format.parse(text, new ParsePosition(0));

http://dive4elements.wald.intevation.org