Mercurial > dive4elements > river
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 |