changeset 6508:b2eab164a441

Backend: WST parser. Detect ranges of years in column-datum
author Sascha L. Teichmann <teichmann@intevation.de>
date Fri, 28 Jun 2013 19:24:46 +0200
parents 1c68d4b2a1c0
children 49dd3e478ccd 1e6bd2831280
files backend/src/main/java/org/dive4elements/river/importer/parsers/WstParser.java
diffstat 1 files changed, 10 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/backend/src/main/java/org/dive4elements/river/importer/parsers/WstParser.java	Fri Jun 28 17:47:27 2013 +0200
+++ b/backend/src/main/java/org/dive4elements/river/importer/parsers/WstParser.java	Fri Jun 28 19:24:46 2013 +0200
@@ -61,6 +61,9 @@
     public static final Pattern UNIT =
         Pattern.compile("[^\\[]*\\[([^]]+)\\].*");
 
+    public static final Pattern YEAR_INTERVAL =
+        Pattern.compile("(\\d{4})\\s*[-/]\\s*(\\d{4})");
+
     public static final double INTERVAL_GAP = 0.00001d;
 
     protected ImportWst wst;
@@ -84,6 +87,13 @@
 
     public static ImportTimeInterval guessDate(String string) {
         try {
+            Matcher m = YEAR_INTERVAL.matcher(string);
+            if (m.matches()) {
+                return new ImportTimeInterval(
+                    DateGuesser.guessDate(m.group(1)),
+                    DateGuesser.guessDate(m.group(2)));
+            }
+
             return new ImportTimeInterval(
                 DateGuesser.guessDate(string));
         }

http://dive4elements.wald.intevation.org