annotate backend/src/main/java/org/dive4elements/river/importer/parsers/LineParser.java @ 7252:c894b7b45c4c

Replaced some tabs by spaces. Guys, please configure your editors not to insert tabs!
author Sascha L. Teichmann <teichmann@intevation.de>
date Sat, 05 Oct 2013 12:48:44 +0200
parents cc11780b3491
children 07cc4cd9233e
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.Calendar;
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.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
19 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
20
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.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
22 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
23 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
24 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
25
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
26 import org.apache.log4j.Logger;
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
4679
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4193
diff changeset
36 /** Private logger. */
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
37 private static final Logger log = Logger.getLogger(LineParser.class);
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
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
46
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
47 protected abstract void handleLine(int lineNum, String 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
48
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 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
50
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
51 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
52
4721
b0b1008c07e9 LineParser: Make file name available to subclasses.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4679
diff changeset
53 /** Name of file parsed. */
b0b1008c07e9 LineParser: Make file name available to subclasses.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4679
diff changeset
54 protected String fileName;
b0b1008c07e9 LineParser: Make file name available to subclasses.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4679
diff changeset
55
5809
53fcc0d5a03e LineParser: Store reference to input file.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4721
diff changeset
56 protected File inputFile;
53fcc0d5a03e LineParser: Store reference to input file.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4721
diff changeset
57
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 /**
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 * This method reads each line of <i>file</i>. At the beginning,
4679
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4193
diff changeset
61 * <i>reset()</i> is called; 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
62 * 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
63 *
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
64 * @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
65 */
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
66 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
67 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
68
5809
53fcc0d5a03e LineParser: Store reference to input file.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4721
diff changeset
69 inputFile = file;
53fcc0d5a03e LineParser: Store reference to input file.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4721
diff changeset
70
4721
b0b1008c07e9 LineParser: Make file name available to subclasses.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4679
diff changeset
71 fileName = file.getName();
b0b1008c07e9 LineParser: Make file name available to subclasses.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4679
diff changeset
72
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 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
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 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
76 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
77 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
78 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
79 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
80 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
81
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
82 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
83 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
84 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
85 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
86 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
87 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
88 }
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
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
90 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
91 }
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 }
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
93 finally {
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
94 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
95 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
96 }
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
97 }
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
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 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
100 }
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
101
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
4721
b0b1008c07e9 LineParser: Make file name available to subclasses.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4679
diff changeset
103 /** 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
104 protected String getFileName() {
b0b1008c07e9 LineParser: Make file name available to subclasses.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4679
diff changeset
105 return fileName;
b0b1008c07e9 LineParser: Make file name available to subclasses.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4679
diff changeset
106 }
b0b1008c07e9 LineParser: Make file name available to subclasses.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4679
diff changeset
107
5809
53fcc0d5a03e LineParser: Store reference to input file.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4721
diff changeset
108 /** Returns the file currently parsed. */
53fcc0d5a03e LineParser: Store reference to input file.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4721
diff changeset
109 protected File getInputFile() {
53fcc0d5a03e LineParser: Store reference to input file.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4721
diff changeset
110 return inputFile;
53fcc0d5a03e LineParser: Store reference to input file.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4721
diff changeset
111 }
53fcc0d5a03e LineParser: Store reference to input file.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4721
diff changeset
112
4721
b0b1008c07e9 LineParser: Make file name available to subclasses.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4679
diff changeset
113
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
114 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
115 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
116
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
117 if (tmp.startsWith(" ")) {
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
118 return tmp.substring(1, tmp.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
119 }
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
120 else {
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
121 return tmp;
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
122 }
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
123 }
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
124
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
125 public static double getDouble(String doubleString) 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
126 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
127 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
128
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
129 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
130 }
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
131
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
132 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
133 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
134 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
135
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 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
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
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
139
6288
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5992
diff changeset
140 /** Create Date on first moment (1st jan) of given year. */
5845
1830dae8cb9b Importer-Parser: set time intevals for complete years when parsing years
Tom Gottfried <tom.gottfried@intevation.de>
parents: 5844
diff changeset
141 public static Date getStartDateFromYear(int year) {
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
142 Calendar cal = Calendar.getInstance();
7252
c894b7b45c4c Replaced some tabs by spaces. Guys, please configure your editors not to insert tabs!
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6289
diff changeset
143 cal.clear();
5845
1830dae8cb9b Importer-Parser: set time intevals for complete years when parsing years
Tom Gottfried <tom.gottfried@intevation.de>
parents: 5844
diff changeset
144 cal.set(year, 0, 1, 0, 0, 0);
1830dae8cb9b Importer-Parser: set time intevals for complete years when parsing years
Tom Gottfried <tom.gottfried@intevation.de>
parents: 5844
diff changeset
145
1830dae8cb9b Importer-Parser: set time intevals for complete years when parsing years
Tom Gottfried <tom.gottfried@intevation.de>
parents: 5844
diff changeset
146 return cal.getTime();
1830dae8cb9b Importer-Parser: set time intevals for complete years when parsing years
Tom Gottfried <tom.gottfried@intevation.de>
parents: 5844
diff changeset
147 }
1830dae8cb9b Importer-Parser: set time intevals for complete years when parsing years
Tom Gottfried <tom.gottfried@intevation.de>
parents: 5844
diff changeset
148
6288
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5992
diff changeset
149
6289
cc11780b3491 Remove code dupe, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6288
diff changeset
150 /** Create Date on last moment (31st dec) of given year. */
5845
1830dae8cb9b Importer-Parser: set time intevals for complete years when parsing years
Tom Gottfried <tom.gottfried@intevation.de>
parents: 5844
diff changeset
151 public static Date getEndDateFromYear(int year) {
1830dae8cb9b Importer-Parser: set time intevals for complete years when parsing years
Tom Gottfried <tom.gottfried@intevation.de>
parents: 5844
diff changeset
152 Calendar cal = Calendar.getInstance();
7252
c894b7b45c4c Replaced some tabs by spaces. Guys, please configure your editors not to insert tabs!
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6289
diff changeset
153 cal.clear();
5845
1830dae8cb9b Importer-Parser: set time intevals for complete years when parsing years
Tom Gottfried <tom.gottfried@intevation.de>
parents: 5844
diff changeset
154 cal.set(year, 11, 31, 23, 59, 59);
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
155
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
156 return cal.getTime();
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
157 }
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
158 }
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
159 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org