annotate backend/src/main/java/org/dive4elements/river/importer/parsers/LineParser.java @ 9801:1d7a72a50183 3.2.x tip

Assume Compose V2, consistently
author Tom Gottfried <tom@intevation.de>
date Thu, 23 Nov 2023 10:14:13 +0100
parents 0a5239a1e46e
children
rev   line source
5844
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5992
4c3ccf2b0304 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5845
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5844
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5992
4c3ccf2b0304 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5845
diff changeset
6 * documentation coming with Dive4Elements River for details.
5844
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5829
18619c1e7c2a Repaired internal references.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5828
diff changeset
9 package org.dive4elements.river.importer.parsers;
2815
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 import java.io.File;
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12
4193
f63b39799d2d Adapted DB schema (added relation measurement_station); improved importer to read files from filesystem with measurement stations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2815
diff changeset
13 import java.text.DateFormat;
f63b39799d2d Adapted DB schema (added relation measurement_station); improved importer to read files from filesystem with measurement stations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2815
diff changeset
14 import java.text.NumberFormat;
f63b39799d2d Adapted DB schema (added relation measurement_station); improved importer to read files from filesystem with measurement stations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2815
diff changeset
15 import java.text.ParseException;
f63b39799d2d Adapted DB schema (added relation measurement_station); improved importer to read files from filesystem with measurement stations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2815
diff changeset
16 import java.text.SimpleDateFormat;
2815
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17 import java.util.Date;
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18 import java.util.Locale;
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 import java.io.IOException;
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21 import java.io.LineNumberReader;
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 import java.io.FileInputStream;
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 import java.io.InputStreamReader;
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24
9726
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8856
diff changeset
25 import org.apache.logging.log4j.Logger;
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8856
diff changeset
26 import org.apache.logging.log4j.LogManager;
2815
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28
4679
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4193
diff changeset
29 /**
6288
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5992
diff changeset
30 * Base-Class for parsers for line-based file formats.
4679
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4193
diff changeset
31 * Calls reset(), then read line by line, calling handleLine() for each,
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4193
diff changeset
32 * then calls finish().
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4193
diff changeset
33 */
2815
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 public abstract class LineParser {
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35
8200
9d2e69f971f5 sed -i src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8042
diff changeset
36 /** Private log. */
9726
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8856
diff changeset
37 private static final Logger log = LogManager.getLogger(LineParser.class);
2815
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 public static final String ENCODING = "ISO-8859-1";
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 public static final Locale DEFAULT_LOCALE = Locale.GERMAN;
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 public static final String START_META_CHAR = "#";
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 public static final String SEPERATOR_CHAR = ";";
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45
8042
9342d7fe0ee7 Introduce LineParserException for CSV file parsing.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8032
diff changeset
46 public static class LineParserException extends Exception {
9342d7fe0ee7 Introduce LineParserException for CSV file parsing.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8032
diff changeset
47 public LineParserException() {
9342d7fe0ee7 Introduce LineParserException for CSV file parsing.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8032
diff changeset
48 }
2815
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49
8042
9342d7fe0ee7 Introduce LineParserException for CSV file parsing.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8032
diff changeset
50 public LineParserException(String msg) {
9342d7fe0ee7 Introduce LineParserException for CSV file parsing.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8032
diff changeset
51 super(msg);
9342d7fe0ee7 Introduce LineParserException for CSV file parsing.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8032
diff changeset
52 }
9342d7fe0ee7 Introduce LineParserException for CSV file parsing.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8032
diff changeset
53 } // class LineParserException
9342d7fe0ee7 Introduce LineParserException for CSV file parsing.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8032
diff changeset
54
9342d7fe0ee7 Introduce LineParserException for CSV file parsing.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8032
diff changeset
55
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8200
diff changeset
56 protected abstract void handleLine(int lineNum, String line)
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8200
diff changeset
57 throws LineParserException;
2815
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59 protected abstract void reset();
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 protected abstract void finish();
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62
4721
b0b1008c07e9 LineParser: Make file name available to subclasses.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4679
diff changeset
63 /** Name of file parsed. */
b0b1008c07e9 LineParser: Make file name available to subclasses.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4679
diff changeset
64 protected String fileName;
b0b1008c07e9 LineParser: Make file name available to subclasses.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4679
diff changeset
65
5809
53fcc0d5a03e LineParser: Store reference to input file.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4721
diff changeset
66 protected File inputFile;
53fcc0d5a03e LineParser: Store reference to input file.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4721
diff changeset
67
2815
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69 /**
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70 * This method reads each line of <i>file</i>. At the beginning,
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8200
diff changeset
71 * <i>reset()</i> is called;
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8200
diff changeset
72 * afterwards for each line <i>handleLine()</i> is
2815
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73 * called; at the end <i>finish</i> is called.
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74 *
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75 * @param file The file which should be parsed.
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76 */
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77 public void parse(File file) throws IOException {
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78 log.info("Parsing file '" + file + "'");
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79
5809
53fcc0d5a03e LineParser: Store reference to input file.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4721
diff changeset
80 inputFile = file;
53fcc0d5a03e LineParser: Store reference to input file.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4721
diff changeset
81
4721
b0b1008c07e9 LineParser: Make file name available to subclasses.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4679
diff changeset
82 fileName = file.getName();
b0b1008c07e9 LineParser: Make file name available to subclasses.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4679
diff changeset
83
2815
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84 reset();
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86 LineNumberReader in = null;
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87 try {
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88 in =
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89 new LineNumberReader(
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90 new InputStreamReader(
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91 new FileInputStream(file), ENCODING));
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92
4193
f63b39799d2d Adapted DB schema (added relation measurement_station); improved importer to read files from filesystem with measurement stations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2815
diff changeset
93 String line = null;
f63b39799d2d Adapted DB schema (added relation measurement_station); improved importer to read files from filesystem with measurement stations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2815
diff changeset
94 int lineNum = 1;
2815
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95 while ((line = in.readLine()) != null) {
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
96 if ((line = line.trim()).length() == 0) {
4193
f63b39799d2d Adapted DB schema (added relation measurement_station); improved importer to read files from filesystem with measurement stations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2815
diff changeset
97 lineNum++;
2815
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
98 continue;
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
99 }
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100
4193
f63b39799d2d Adapted DB schema (added relation measurement_station); improved importer to read files from filesystem with measurement stations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2815
diff changeset
101 handleLine(lineNum++, line);
2815
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
102 }
8042
9342d7fe0ee7 Introduce LineParserException for CSV file parsing.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8032
diff changeset
103 } catch (LineParserException lpe) {
9342d7fe0ee7 Introduce LineParserException for CSV file parsing.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8032
diff changeset
104 log.error("Error while parsing file '" + file + "'", lpe);
9342d7fe0ee7 Introduce LineParserException for CSV file parsing.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8032
diff changeset
105 } finally {
2815
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
106 if (in != null) {
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
107 in.close();
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
108 }
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
109 }
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
110
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
111 finish();
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
112 }
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
113
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
114
4721
b0b1008c07e9 LineParser: Make file name available to subclasses.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4679
diff changeset
115 /** Returns the name of the file parsed. */
b0b1008c07e9 LineParser: Make file name available to subclasses.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4679
diff changeset
116 protected String getFileName() {
b0b1008c07e9 LineParser: Make file name available to subclasses.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4679
diff changeset
117 return fileName;
b0b1008c07e9 LineParser: Make file name available to subclasses.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4679
diff changeset
118 }
b0b1008c07e9 LineParser: Make file name available to subclasses.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4679
diff changeset
119
5809
53fcc0d5a03e LineParser: Store reference to input file.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4721
diff changeset
120 /** Returns the file currently parsed. */
53fcc0d5a03e LineParser: Store reference to input file.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4721
diff changeset
121 protected File getInputFile() {
53fcc0d5a03e LineParser: Store reference to input file.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4721
diff changeset
122 return inputFile;
53fcc0d5a03e LineParser: Store reference to input file.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4721
diff changeset
123 }
53fcc0d5a03e LineParser: Store reference to input file.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4721
diff changeset
124
4721
b0b1008c07e9 LineParser: Make file name available to subclasses.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4679
diff changeset
125
2815
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
126 protected static String stripMetaLine(String line) {
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
127 String tmp = line.substring(1, line.length());
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
128
8032
fd3a24336e6a SCHEMA CHANGE and Importer (only longitudinal section data so far): only grain fractions given now in schema are valid. We are handling sediment loads, not yields.
"Tom Gottfried <tom@intevation.de>"
parents: 7927
diff changeset
129 // meta-lines often have trailing semicolons in real data
fd3a24336e6a SCHEMA CHANGE and Importer (only longitudinal section data so far): only grain fractions given now in schema are valid. We are handling sediment loads, not yields.
"Tom Gottfried <tom@intevation.de>"
parents: 7927
diff changeset
130 return tmp.replaceAll(SEPERATOR_CHAR + "*$", "").trim();
2815
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
131 }
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
132
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8200
diff changeset
133 public static double getDouble(String doubleString)
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8200
diff changeset
134 throws ParseException {
4193
f63b39799d2d Adapted DB schema (added relation measurement_station); improved importer to read files from filesystem with measurement stations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2815
diff changeset
135 NumberFormat nf = NumberFormat.getInstance(DEFAULT_LOCALE);
f63b39799d2d Adapted DB schema (added relation measurement_station); improved importer to read files from filesystem with measurement stations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2815
diff changeset
136 Number value = nf.parse(doubleString);
f63b39799d2d Adapted DB schema (added relation measurement_station); improved importer to read files from filesystem with measurement stations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2815
diff changeset
137
f63b39799d2d Adapted DB schema (added relation measurement_station); improved importer to read files from filesystem with measurement stations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2815
diff changeset
138 return value.doubleValue();
f63b39799d2d Adapted DB schema (added relation measurement_station); improved importer to read files from filesystem with measurement stations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2815
diff changeset
139 }
f63b39799d2d Adapted DB schema (added relation measurement_station); improved importer to read files from filesystem with measurement stations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2815
diff changeset
140
f63b39799d2d Adapted DB schema (added relation measurement_station); improved importer to read files from filesystem with measurement stations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2815
diff changeset
141 public static Date getDate(String dateString) throws ParseException {
f63b39799d2d Adapted DB schema (added relation measurement_station); improved importer to read files from filesystem with measurement stations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2815
diff changeset
142 DateFormat df = SimpleDateFormat.getDateInstance(
f63b39799d2d Adapted DB schema (added relation measurement_station); improved importer to read files from filesystem with measurement stations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2815
diff changeset
143 SimpleDateFormat.MEDIUM, DEFAULT_LOCALE);
f63b39799d2d Adapted DB schema (added relation measurement_station); improved importer to read files from filesystem with measurement stations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2815
diff changeset
144
f63b39799d2d Adapted DB schema (added relation measurement_station); improved importer to read files from filesystem with measurement stations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2815
diff changeset
145 return df.parse(dateString);
f63b39799d2d Adapted DB schema (added relation measurement_station); improved importer to read files from filesystem with measurement stations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2815
diff changeset
146 }
2815
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
147 }
3febaed762b8 Added new parser (stub) to read MINFO sediment density files; prepared import process to handle those files.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
148 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org