diff flys-backend/src/main/java/de/intevation/flys/importer/parsers/LineParser.java @ 4193:f63b39799d2d

Adapted DB schema (added relation measurement_station); improved importer to read files from filesystem with measurement stations.
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 22 Oct 2012 09:02:26 +0200
parents 3febaed762b8
children 23392c25fc11
line wrap: on
line diff
--- a/flys-backend/src/main/java/de/intevation/flys/importer/parsers/LineParser.java	Fri Oct 19 13:59:51 2012 +0200
+++ b/flys-backend/src/main/java/de/intevation/flys/importer/parsers/LineParser.java	Mon Oct 22 09:02:26 2012 +0200
@@ -2,6 +2,10 @@
 
 import java.io.File;
 
+import java.text.DateFormat;
+import java.text.NumberFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.Locale;
@@ -26,7 +30,7 @@
     public static final String SEPERATOR_CHAR  = ";";
 
 
-    protected abstract void handleLine(String line);
+    protected abstract void handleLine(int lineNum, String line);
 
     protected abstract void reset();
 
@@ -52,13 +56,15 @@
                 new InputStreamReader(
                 new FileInputStream(file), ENCODING));
 
-            String line = null;
+            String line    = null;
+            int    lineNum = 1;
             while ((line = in.readLine()) != null) {
                 if ((line = line.trim()).length() == 0) {
+                    lineNum++;
                     continue;
                 }
 
-                handleLine(line);
+                handleLine(lineNum++, line);
             }
         }
         finally {
@@ -82,6 +88,20 @@
         }
     }
 
+    public static double getDouble(String doubleString) throws ParseException {
+        NumberFormat nf = NumberFormat.getInstance(DEFAULT_LOCALE);
+        Number value = nf.parse(doubleString);
+
+        return value.doubleValue();
+    }
+
+    public static Date getDate(String dateString) throws ParseException {
+        DateFormat df = SimpleDateFormat.getDateInstance(
+            SimpleDateFormat.MEDIUM, DEFAULT_LOCALE);
+
+        return df.parse(dateString);
+    }
+
 
     public static Date getDateFromYear(int year) {
         Calendar cal = Calendar.getInstance();

http://dive4elements.wald.intevation.org