comparison 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
comparison
equal deleted inserted replaced
4192:34337e357a54 4193:f63b39799d2d
1 package de.intevation.flys.importer.parsers; 1 package de.intevation.flys.importer.parsers;
2 2
3 import java.io.File; 3 import java.io.File;
4 4
5 import java.text.DateFormat;
6 import java.text.NumberFormat;
7 import java.text.ParseException;
8 import java.text.SimpleDateFormat;
5 import java.util.Calendar; 9 import java.util.Calendar;
6 import java.util.Date; 10 import java.util.Date;
7 import java.util.Locale; 11 import java.util.Locale;
8 12
9 import java.io.IOException; 13 import java.io.IOException;
24 28
25 public static final String START_META_CHAR = "#"; 29 public static final String START_META_CHAR = "#";
26 public static final String SEPERATOR_CHAR = ";"; 30 public static final String SEPERATOR_CHAR = ";";
27 31
28 32
29 protected abstract void handleLine(String line); 33 protected abstract void handleLine(int lineNum, String line);
30 34
31 protected abstract void reset(); 35 protected abstract void reset();
32 36
33 protected abstract void finish(); 37 protected abstract void finish();
34 38
50 in = 54 in =
51 new LineNumberReader( 55 new LineNumberReader(
52 new InputStreamReader( 56 new InputStreamReader(
53 new FileInputStream(file), ENCODING)); 57 new FileInputStream(file), ENCODING));
54 58
55 String line = null; 59 String line = null;
60 int lineNum = 1;
56 while ((line = in.readLine()) != null) { 61 while ((line = in.readLine()) != null) {
57 if ((line = line.trim()).length() == 0) { 62 if ((line = line.trim()).length() == 0) {
63 lineNum++;
58 continue; 64 continue;
59 } 65 }
60 66
61 handleLine(line); 67 handleLine(lineNum++, line);
62 } 68 }
63 } 69 }
64 finally { 70 finally {
65 if (in != null) { 71 if (in != null) {
66 in.close(); 72 in.close();
80 else { 86 else {
81 return tmp; 87 return tmp;
82 } 88 }
83 } 89 }
84 90
91 public static double getDouble(String doubleString) throws ParseException {
92 NumberFormat nf = NumberFormat.getInstance(DEFAULT_LOCALE);
93 Number value = nf.parse(doubleString);
94
95 return value.doubleValue();
96 }
97
98 public static Date getDate(String dateString) throws ParseException {
99 DateFormat df = SimpleDateFormat.getDateInstance(
100 SimpleDateFormat.MEDIUM, DEFAULT_LOCALE);
101
102 return df.parse(dateString);
103 }
104
85 105
86 public static Date getDateFromYear(int year) { 106 public static Date getDateFromYear(int year) {
87 Calendar cal = Calendar.getInstance(); 107 Calendar cal = Calendar.getInstance();
88 cal.set(year, 0, 1); 108 cal.set(year, 0, 1);
89 109

http://dive4elements.wald.intevation.org