annotate backend/src/main/java/org/dive4elements/river/importer/parsers/WaterlevelDifferencesParser.java @ 8856:5e38e2924c07 3.2.x

Fix code style.
author Tom Gottfried <tom@intevation.de>
date Thu, 18 Jan 2018 20:12:01 +0100
parents 3bb1c62ad732
children 2693bfaf503d 0a5239a1e46e
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: 5844
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: 5844
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;
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 import java.io.File;
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 import java.io.IOException;
5229
016616df35dc WaterlevelDifferencesParser: In analogy to WaterlevelParser, allow model
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4193
diff changeset
13 import java.math.BigDecimal;
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14 import java.text.NumberFormat;
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 import java.text.ParseException;
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16 import java.util.ArrayList;
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17 import java.util.List;
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18 import java.util.regex.Matcher;
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 import java.util.regex.Pattern;
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21 import org.apache.log4j.Logger;
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22
6291
33ccce4a3aae WaterlevelDifferencesParser: issue1354/1, set timeintervals from waterdiff-csvs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6290
diff changeset
23 import org.dive4elements.river.importer.ImportTimeInterval;
5829
18619c1e7c2a Repaired internal references.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5828
diff changeset
24 import org.dive4elements.river.importer.ImportUnit;
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25
5829
18619c1e7c2a Repaired internal references.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5828
diff changeset
26 import org.dive4elements.river.importer.ImportWst;
6320
6cdafb6feee1 issue1335: Set a single (0) QRange for Waterlevel diffs from csv.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6291
diff changeset
27 import org.dive4elements.river.importer.ImportWstQRange;
5829
18619c1e7c2a Repaired internal references.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5828
diff changeset
28 import org.dive4elements.river.importer.ImportWstColumn;
6320
6cdafb6feee1 issue1335: Set a single (0) QRange for Waterlevel diffs from csv.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6291
diff changeset
29 import org.dive4elements.river.importer.ImportWstColumnValue;
8187
3bb1c62ad732 Moved package org.dive4elements.river.utils to org.dive4elements.river.backend.utils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7927
diff changeset
30 import org.dive4elements.river.backend.utils.DateUtil;
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31
5229
016616df35dc WaterlevelDifferencesParser: In analogy to WaterlevelParser, allow model
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4193
diff changeset
32
016616df35dc WaterlevelDifferencesParser: In analogy to WaterlevelParser, allow model
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4193
diff changeset
33 /**
016616df35dc WaterlevelDifferencesParser: In analogy to WaterlevelParser, allow model
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4193
diff changeset
34 * Parse WaterlevelDifferences CSV file.
016616df35dc WaterlevelDifferencesParser: In analogy to WaterlevelParser, allow model
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4193
diff changeset
35 */
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 public class WaterlevelDifferencesParser extends LineParser {
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 private static final Logger log =
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 Logger.getLogger(WaterlevelDifferencesParser.class);
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 private static final NumberFormat nf =
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42 NumberFormat.getInstance(DEFAULT_LOCALE);
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 public static final Pattern META_UNIT =
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 Pattern.compile("^Einheit: \\[(.*)\\].*");
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46
6287
8d9e9b1ded7d Waterl.Diff.Parser issue1354: Extract years from name, to later set timeintervals.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6286
diff changeset
47 public static final Pattern YEARS_IN_COLUMN =
8d9e9b1ded7d Waterl.Diff.Parser issue1354: Extract years from name, to later set timeintervals.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6286
diff changeset
48 Pattern.compile(".*(\\d{4})-(\\d{4})$");
8d9e9b1ded7d Waterl.Diff.Parser issue1354: Extract years from name, to later set timeintervals.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6286
diff changeset
49
7377
ad2fdc34910a Importer: Avoid 0-lenght Q-ranges in WST-CSV-parsers.
Tom Gottfried <tom@intevation.de>
parents: 6753
diff changeset
50 public static final double INTERVAL_GAP = 0.00001d;
ad2fdc34910a Importer: Avoid 0-lenght Q-ranges in WST-CSV-parsers.
Tom Gottfried <tom@intevation.de>
parents: 6753
diff changeset
51
5233
37ff7c030ec9 WaterlevelDifferencesParser: Create ImportWsts directly.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5230
diff changeset
52 /** List of parsed differences as ImportWst s. */
37ff7c030ec9 WaterlevelDifferencesParser: Create ImportWsts directly.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5230
diff changeset
53 private List<ImportWst> differences;
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54
5233
37ff7c030ec9 WaterlevelDifferencesParser: Create ImportWsts directly.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5230
diff changeset
55 private ImportWstColumn[] columns;
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56
5233
37ff7c030ec9 WaterlevelDifferencesParser: Create ImportWsts directly.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5230
diff changeset
57 /** The currently processed dataset. */
37ff7c030ec9 WaterlevelDifferencesParser: Create ImportWsts directly.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5230
diff changeset
58 private ImportWst current;
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 public WaterlevelDifferencesParser() {
5233
37ff7c030ec9 WaterlevelDifferencesParser: Create ImportWsts directly.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5230
diff changeset
62 differences = new ArrayList<ImportWst>();
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65
5233
37ff7c030ec9 WaterlevelDifferencesParser: Create ImportWsts directly.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5230
diff changeset
66 /** Get the differences as wst parsed so far. */
37ff7c030ec9 WaterlevelDifferencesParser: Create ImportWsts directly.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5230
diff changeset
67 public List<ImportWst> getDifferences() {
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68 return differences;
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70
5234
d1e24f26dee0 WaterlevelDifferencesParser: Doc and cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5233
diff changeset
71
d1e24f26dee0 WaterlevelDifferencesParser: Doc and cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5233
diff changeset
72 /**
d1e24f26dee0 WaterlevelDifferencesParser: Doc and cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5233
diff changeset
73 * Parse a csv waterleveldifferenceparser and create a ImportWst object
d1e24f26dee0 WaterlevelDifferencesParser: Doc and cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5233
diff changeset
74 * from it.
d1e24f26dee0 WaterlevelDifferencesParser: Doc and cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5233
diff changeset
75 */
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76 @Override
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77 public void parse(File file) throws IOException {
5233
37ff7c030ec9 WaterlevelDifferencesParser: Create ImportWsts directly.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5230
diff changeset
78 current = new ImportWst(file.getName());
6282
62dca91ca229 Switch wst-kind of waterlevel/-differences (7 and 6).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5992
diff changeset
79 current.setKind(6);
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81 super.parse(file);
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84
5234
d1e24f26dee0 WaterlevelDifferencesParser: Doc and cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5233
diff changeset
85 /** No rewind implemented. */
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86 @Override
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87 protected void reset() {
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91 @Override
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92 protected void finish() {
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
93 if (columns != null && current != null) {
5233
37ff7c030ec9 WaterlevelDifferencesParser: Create ImportWsts directly.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5230
diff changeset
94 // TODO figure out if its needed, as the columns
37ff7c030ec9 WaterlevelDifferencesParser: Create ImportWsts directly.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5230
diff changeset
95 // are registered at their construction time.
37ff7c030ec9 WaterlevelDifferencesParser: Create ImportWsts directly.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5230
diff changeset
96 for (ImportWstColumn col: columns) {
37ff7c030ec9 WaterlevelDifferencesParser: Create ImportWsts directly.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5230
diff changeset
97 // TODO place a current.addColumn(col); here?
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
98 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
99
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100 differences.add(current);
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
101 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
102
6320
6cdafb6feee1 issue1335: Set a single (0) QRange for Waterlevel diffs from csv.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6291
diff changeset
103 // For all differences columns, add a single Q-Range with
7377
ad2fdc34910a Importer: Avoid 0-lenght Q-ranges in WST-CSV-parsers.
Tom Gottfried <tom@intevation.de>
parents: 6753
diff changeset
104 // -1.
ad2fdc34910a Importer: Avoid 0-lenght Q-ranges in WST-CSV-parsers.
Tom Gottfried <tom@intevation.de>
parents: 6753
diff changeset
105 // Expand range to minimal length in case it would be 0
7883
fc8d5b5f2c99 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7377
diff changeset
106 // TODO: should otherwise be extended to
fc8d5b5f2c99 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7377
diff changeset
107 // (first station of next range - INTERVAL_GAP),
7377
ad2fdc34910a Importer: Avoid 0-lenght Q-ranges in WST-CSV-parsers.
Tom Gottfried <tom@intevation.de>
parents: 6753
diff changeset
108 // assuming always ascending stations
6320
6cdafb6feee1 issue1335: Set a single (0) QRange for Waterlevel diffs from csv.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6291
diff changeset
109 for (ImportWstColumn column: columns) {
6cdafb6feee1 issue1335: Set a single (0) QRange for Waterlevel diffs from csv.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6291
diff changeset
110 List<ImportWstColumnValue> cValues = column.getColumnValues();
7377
ad2fdc34910a Importer: Avoid 0-lenght Q-ranges in WST-CSV-parsers.
Tom Gottfried <tom@intevation.de>
parents: 6753
diff changeset
111 BigDecimal a = cValues.get(0).getPosition();
ad2fdc34910a Importer: Avoid 0-lenght Q-ranges in WST-CSV-parsers.
Tom Gottfried <tom@intevation.de>
parents: 6753
diff changeset
112 BigDecimal b = cValues.get(cValues.size() - 1).getPosition();
ad2fdc34910a Importer: Avoid 0-lenght Q-ranges in WST-CSV-parsers.
Tom Gottfried <tom@intevation.de>
parents: 6753
diff changeset
113 if (a.compareTo(b) == 0) {
ad2fdc34910a Importer: Avoid 0-lenght Q-ranges in WST-CSV-parsers.
Tom Gottfried <tom@intevation.de>
parents: 6753
diff changeset
114 b = new BigDecimal(b.doubleValue() + INTERVAL_GAP);
ad2fdc34910a Importer: Avoid 0-lenght Q-ranges in WST-CSV-parsers.
Tom Gottfried <tom@intevation.de>
parents: 6753
diff changeset
115 }
6320
6cdafb6feee1 issue1335: Set a single (0) QRange for Waterlevel diffs from csv.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6291
diff changeset
116 column.addColumnQRange(
6cdafb6feee1 issue1335: Set a single (0) QRange for Waterlevel diffs from csv.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6291
diff changeset
117 new ImportWstQRange(
7377
ad2fdc34910a Importer: Avoid 0-lenght Q-ranges in WST-CSV-parsers.
Tom Gottfried <tom@intevation.de>
parents: 6753
diff changeset
118 a,
ad2fdc34910a Importer: Avoid 0-lenght Q-ranges in WST-CSV-parsers.
Tom Gottfried <tom@intevation.de>
parents: 6753
diff changeset
119 b,
ad2fdc34910a Importer: Avoid 0-lenght Q-ranges in WST-CSV-parsers.
Tom Gottfried <tom@intevation.de>
parents: 6753
diff changeset
120 new BigDecimal(-1d))
6320
6cdafb6feee1 issue1335: Set a single (0) QRange for Waterlevel diffs from csv.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6291
diff changeset
121 );
6cdafb6feee1 issue1335: Set a single (0) QRange for Waterlevel diffs from csv.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6291
diff changeset
122 }
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
123 current = null;
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
124 columns = null;
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
125 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
126
5234
d1e24f26dee0 WaterlevelDifferencesParser: Doc and cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5233
diff changeset
127
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
128 @Override
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: 3940
diff changeset
129 protected void handleLine(int lineNum, String line) {
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
130 if (line.startsWith(START_META_CHAR)) {
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
131 handleMetaLine(stripMetaLine(line));
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
132 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
133 else {
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
134 handleDataLine(line);
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
135 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
136 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
137
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
138
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
139 private void handleMetaLine(String meta) {
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
140 if (handleMetaUnit(meta)) {
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
141 return;
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
142 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
143 else {
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
144 handleMetaColumnNames(meta);
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
145 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
146 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
147
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
148
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
149 private boolean handleMetaUnit(String meta) {
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
150 Matcher m = META_UNIT.matcher(meta);
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
151
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
152 if (m.matches()) {
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
153 String unit = m.group(1);
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
154 log.debug("Found unit: '" + unit + "'");
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
155
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
156 current.setUnit(new ImportUnit(unit));
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
157
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
158 return true;
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
159 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
160
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
161 return false;
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
162 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
163
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
164
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
165 private boolean handleMetaColumnNames(String meta) {
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
166 Pattern META_COLUMN_NAMES = Pattern.compile("Fluss-km;(.*)");
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
167 Matcher m = META_COLUMN_NAMES.matcher(meta);
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
168
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
169 if (m.matches()) {
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
170 String colStr = m.group(1);
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
171 String[] cols = colStr.split(SEPERATOR_CHAR);
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
172
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
173 log.debug("Found " + cols.length + " columns.");
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
174
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
175 initColumns(cols);
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
176
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
177 return true;
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
178 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
179
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
180 return false;
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
181 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
182
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
183
6286
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6282
diff changeset
184 /** Setup column structures with name, description and time interval. */
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
185 private void initColumns(String[] cols) {
5264
731030b69c7e Fix Waterlevel*-Parser to correctly register the wst-columns.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5247
diff changeset
186 current.setNumberColumns(cols.length);
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8187
diff changeset
187 columns = current.getColumns().toArray(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8187
diff changeset
188 new ImportWstColumn[cols.length]);
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
189
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
190 for (int i = 0; i < cols.length; i++) {
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
191 String name = cols[i].replace("\"", "");
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
192
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
193 log.debug("Create new column '" + name + "'");
6290
db7d0600d39d Minor refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6287
diff changeset
194 ImportWstColumn column = current.getColumn(i);
db7d0600d39d Minor refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6287
diff changeset
195 column.setName(name);
db7d0600d39d Minor refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6287
diff changeset
196 column.setDescription(name);
6287
8d9e9b1ded7d Waterl.Diff.Parser issue1354: Extract years from name, to later set timeintervals.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6286
diff changeset
197
8d9e9b1ded7d Waterl.Diff.Parser issue1354: Extract years from name, to later set timeintervals.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6286
diff changeset
198 Matcher m = YEARS_IN_COLUMN.matcher(name);
8d9e9b1ded7d Waterl.Diff.Parser issue1354: Extract years from name, to later set timeintervals.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6286
diff changeset
199
8d9e9b1ded7d Waterl.Diff.Parser issue1354: Extract years from name, to later set timeintervals.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6286
diff changeset
200 if (m.matches()) {
6291
33ccce4a3aae WaterlevelDifferencesParser: issue1354/1, set timeintervals from waterdiff-csvs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6290
diff changeset
201 int startYear = Integer.parseInt(m.group(1));
33ccce4a3aae WaterlevelDifferencesParser: issue1354/1, set timeintervals from waterdiff-csvs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6290
diff changeset
202 int endYear = Integer.parseInt(m.group(2));
33ccce4a3aae WaterlevelDifferencesParser: issue1354/1, set timeintervals from waterdiff-csvs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6290
diff changeset
203 ImportTimeInterval time = new ImportTimeInterval(
7927
07cc4cd9233e Add new DateUtil class.
"Tom Gottfried <tom@intevation.de>"
parents: 7883
diff changeset
204 DateUtil.getStartDateFromYear(startYear),
07cc4cd9233e Add new DateUtil class.
"Tom Gottfried <tom@intevation.de>"
parents: 7883
diff changeset
205 DateUtil.getEndDateFromYear(endYear)
6291
33ccce4a3aae WaterlevelDifferencesParser: issue1354/1, set timeintervals from waterdiff-csvs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6290
diff changeset
206 );
33ccce4a3aae WaterlevelDifferencesParser: issue1354/1, set timeintervals from waterdiff-csvs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6290
diff changeset
207 column.setTimeInterval(time);
6287
8d9e9b1ded7d Waterl.Diff.Parser issue1354: Extract years from name, to later set timeintervals.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6286
diff changeset
208 } else {
8d9e9b1ded7d Waterl.Diff.Parser issue1354: Extract years from name, to later set timeintervals.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6286
diff changeset
209 log.debug("No time interval in column header found: " + name);
8d9e9b1ded7d Waterl.Diff.Parser issue1354: Extract years from name, to later set timeintervals.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6286
diff changeset
210 }
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
211 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
212 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
213
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
214
6752
f275aae00c55 issue1433: Do not emit warning when tolerated empty string as value.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6321
diff changeset
215 /** Handle one line of data, add one value for all columns.
f275aae00c55 issue1433: Do not emit warning when tolerated empty string as value.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6321
diff changeset
216 * @param line the line to parse
f275aae00c55 issue1433: Do not emit warning when tolerated empty string as value.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6321
diff changeset
217 */
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
218 private void handleDataLine(String line) {
6753
e032e9e6d09e issue1433: Include trailing empty strings in stringsplit, this prevents emission
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6752
diff changeset
219 // Split by separator, do not exclude trailing empty string.
e032e9e6d09e issue1433: Include trailing empty strings in stringsplit, this prevents emission
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6752
diff changeset
220 String[] cols = line.split(SEPERATOR_CHAR, -1);
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
221
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
222 if (cols == null || cols.length < 2) {
5230
fb7d43ba8147 WaterlevelDifferencesParser: Cosmetics and fix misleading debug output.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5229
diff changeset
223 log.warn("skip invalid waterlevel-diff line: '" + line + "'");
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
224 return;
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
225 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
226
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
227 try {
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8187
diff changeset
228 // The first value in a line like 12,9;4,3;4,5 is the station,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8187
diff changeset
229 // later real values.
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
230 Double station = nf.parse(cols[0]).doubleValue();
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
231
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
232 for (int i = 0; i < columns.length; i++) {
3940
aed7aba93718 Improved logging and stabilized minfo import.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2850
diff changeset
233 int idx = i+1;
aed7aba93718 Improved logging and stabilized minfo import.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2850
diff changeset
234
aed7aba93718 Improved logging and stabilized minfo import.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2850
diff changeset
235 if (idx >= cols.length) {
aed7aba93718 Improved logging and stabilized minfo import.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2850
diff changeset
236 log.warn("Insufficient column numbers: " + line);
aed7aba93718 Improved logging and stabilized minfo import.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2850
diff changeset
237 continue;
aed7aba93718 Improved logging and stabilized minfo import.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2850
diff changeset
238 }
aed7aba93718 Improved logging and stabilized minfo import.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2850
diff changeset
239
aed7aba93718 Improved logging and stabilized minfo import.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2850
diff changeset
240 String value = cols[idx];
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
241
6752
f275aae00c55 issue1433: Do not emit warning when tolerated empty string as value.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6321
diff changeset
242 if (value != null && !value.equals("")) {
f275aae00c55 issue1433: Do not emit warning when tolerated empty string as value.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6321
diff changeset
243 try {
f275aae00c55 issue1433: Do not emit warning when tolerated empty string as value.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6321
diff changeset
244 columns[i].addColumnValue(
f275aae00c55 issue1433: Do not emit warning when tolerated empty string as value.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6321
diff changeset
245 new BigDecimal(station),
f275aae00c55 issue1433: Do not emit warning when tolerated empty string as value.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6321
diff changeset
246 new BigDecimal(nf.parse(value).doubleValue()));
f275aae00c55 issue1433: Do not emit warning when tolerated empty string as value.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6321
diff changeset
247 }
f275aae00c55 issue1433: Do not emit warning when tolerated empty string as value.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6321
diff changeset
248 catch (ParseException pe) {
f275aae00c55 issue1433: Do not emit warning when tolerated empty string as value.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6321
diff changeset
249 log.warn("Could not parse value: '" + value + "'");
f275aae00c55 issue1433: Do not emit warning when tolerated empty string as value.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6321
diff changeset
250 }
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
251 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
252 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
253 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
254 catch (ParseException pe) {
5490
b3dd14fc13a6 Parsers: do not call warnings error
Tom Gottfried <tom.gottfried@intevation.de>
parents: 5264
diff changeset
255 log.warn("Could not parse station: '" + line + "'");
2850
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
256 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
257 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
258 }
a1402c16152f Added a parser and importer classes used to import waterlevel differences.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
259 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org