Mercurial > dive4elements > river
comparison flys-backend/src/main/java/de/intevation/flys/importer/parsers/WaterlevelDifferencesParser.java @ 5229:016616df35dc
WaterlevelDifferencesParser: In analogy to WaterlevelParser, allow model
conversion to Wst.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Mon, 11 Mar 2013 15:08:13 +0100 |
parents | f63b39799d2d |
children | fb7d43ba8147 |
comparison
equal
deleted
inserted
replaced
5228:8320427ecd5c | 5229:016616df35dc |
---|---|
1 package de.intevation.flys.importer.parsers; | 1 package de.intevation.flys.importer.parsers; |
2 | 2 |
3 import java.io.File; | 3 import java.io.File; |
4 import java.io.IOException; | 4 import java.io.IOException; |
5 import java.math.BigDecimal; | |
5 import java.text.NumberFormat; | 6 import java.text.NumberFormat; |
6 import java.text.ParseException; | 7 import java.text.ParseException; |
7 import java.util.ArrayList; | 8 import java.util.ArrayList; |
8 import java.util.List; | 9 import java.util.List; |
9 import java.util.regex.Matcher; | 10 import java.util.regex.Matcher; |
14 import de.intevation.flys.importer.ImportUnit; | 15 import de.intevation.flys.importer.ImportUnit; |
15 import de.intevation.flys.importer.ImportWaterlevelDifference; | 16 import de.intevation.flys.importer.ImportWaterlevelDifference; |
16 import de.intevation.flys.importer.ImportWaterlevelDifferenceColumn; | 17 import de.intevation.flys.importer.ImportWaterlevelDifferenceColumn; |
17 import de.intevation.flys.importer.ImportWaterlevelDifferenceValue; | 18 import de.intevation.flys.importer.ImportWaterlevelDifferenceValue; |
18 | 19 |
19 | 20 import de.intevation.flys.importer.ImportWst; |
21 import de.intevation.flys.importer.ImportWstColumn; | |
22 | |
23 | |
24 /** | |
25 * Parse WaterlevelDifferences CSV file. | |
26 */ | |
20 public class WaterlevelDifferencesParser extends LineParser { | 27 public class WaterlevelDifferencesParser extends LineParser { |
21 | 28 |
22 private static final Logger log = | 29 private static final Logger log = |
23 Logger.getLogger(WaterlevelDifferencesParser.class); | 30 Logger.getLogger(WaterlevelDifferencesParser.class); |
24 | 31 |
41 } | 48 } |
42 | 49 |
43 | 50 |
44 public List<ImportWaterlevelDifference> getDifferences() { | 51 public List<ImportWaterlevelDifference> getDifferences() { |
45 return differences; | 52 return differences; |
53 } | |
54 | |
55 public List<ImportWst> exportWsts() { | |
56 List<ImportWst> wsts = new ArrayList<ImportWst>(); | |
57 for(ImportWaterlevelDifference waterlevel: getDifferences()) { | |
58 String description = waterlevel.getDescription(); | |
59 ImportWst wst = new ImportWst(); | |
60 wsts.add(wst); | |
61 wst.setDescription(description); | |
62 // Fixation kind. | |
63 wst.setKind(7); | |
64 wst.setUnit(waterlevel.getUnit()); | |
65 wst.setNumberColumns(waterlevel.getColumns().size()); | |
66 | |
67 int i = 0; | |
68 for (ImportWaterlevelDifferenceColumn wdc: waterlevel.getColumns()) { | |
69 ImportWstColumn column = wst.getColumn(i); | |
70 column.setDescription(wdc.getDescription()); | |
71 column.setName(wdc.getDescription()); | |
72 column.setPosition(i); | |
73 for (ImportWaterlevelDifferenceValue val: wdc.getValues()) { | |
74 column.addColumnValue(BigDecimal.valueOf(val.getStation()), | |
75 BigDecimal.valueOf(val.getValue())); | |
76 | |
77 } | |
78 i++; | |
79 } | |
80 } | |
81 return wsts; | |
46 } | 82 } |
47 | 83 |
48 | 84 |
49 @Override | 85 @Override |
50 public void parse(File file) throws IOException { | 86 public void parse(File file) throws IOException { |