Mercurial > dive4elements > river
comparison flys-backend/src/main/java/de/intevation/flys/importer/parsers/WstParser.java @ 2357:2e18e12fac11
Added date guesser for WST columns.
flys-backend/trunk@3064 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 24 Oct 2011 16:48:21 +0000 |
parents | f834b411ca57 |
children | 0d27d02b1208 |
comparison
equal
deleted
inserted
replaced
2356:b8e01307c138 | 2357:2e18e12fac11 |
---|---|
12 import java.text.NumberFormat; | 12 import java.text.NumberFormat; |
13 | 13 |
14 import org.apache.log4j.Logger; | 14 import org.apache.log4j.Logger; |
15 | 15 |
16 import de.intevation.flys.utils.StringUtil; | 16 import de.intevation.flys.utils.StringUtil; |
17 import de.intevation.flys.utils.DateGuesser; | |
17 | 18 |
18 import java.util.regex.Pattern; | 19 import java.util.regex.Pattern; |
19 import java.util.regex.Matcher; | 20 import java.util.regex.Matcher; |
20 | 21 |
21 import java.math.BigDecimal; | 22 import java.math.BigDecimal; |
22 | 23 |
23 import de.intevation.flys.importer.ImportWstQRange; | 24 import de.intevation.flys.importer.ImportWstQRange; |
24 import de.intevation.flys.importer.ImportWstColumn; | 25 import de.intevation.flys.importer.ImportWstColumn; |
26 import de.intevation.flys.importer.ImportTimeInterval; | |
25 import de.intevation.flys.importer.ImportRange; | 27 import de.intevation.flys.importer.ImportRange; |
26 import de.intevation.flys.importer.ImportUnit; | 28 import de.intevation.flys.importer.ImportUnit; |
27 import de.intevation.flys.importer.ImportWst; | 29 import de.intevation.flys.importer.ImportWst; |
28 | 30 |
29 public class WstParser | 31 public class WstParser |
64 return wst; | 66 return wst; |
65 } | 67 } |
66 | 68 |
67 public void setWst(ImportWst wst) { | 69 public void setWst(ImportWst wst) { |
68 this.wst = wst; | 70 this.wst = wst; |
71 } | |
72 | |
73 public ImportTimeInterval guessDate(String string) { | |
74 try { | |
75 return new ImportTimeInterval( | |
76 DateGuesser.guessDate(string)); | |
77 } | |
78 catch (IllegalArgumentException iae) { | |
79 } | |
80 return null; | |
69 } | 81 } |
70 | 82 |
71 public void parse(File file) throws IOException { | 83 public void parse(File file) throws IOException { |
72 | 84 |
73 log.info("Parsing WST file '" + file + "'"); | 85 log.info("Parsing WST file '" + file + "'"); |
239 while (!uniqueColumnNames.add(candidate)) { | 251 while (!uniqueColumnNames.add(candidate)) { |
240 candidate = lsBezeichner[i] + | 252 candidate = lsBezeichner[i] + |
241 " (" + collision + ")"; | 253 " (" + collision + ")"; |
242 ++collision; | 254 ++collision; |
243 } | 255 } |
244 wst.getColumn(i).setName(candidate); | 256 ImportWstColumn iwc = wst.getColumn(i); |
257 iwc.setName(candidate); | |
258 iwc.setTimeInterval(guessDate(candidate)); | |
245 } | 259 } |
246 columnHeaderChecked = true; | 260 columnHeaderChecked = true; |
247 } | 261 } |
248 | 262 |
249 BigDecimal [] data = | 263 BigDecimal [] data = |