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 =

http://dive4elements.wald.intevation.org