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 {

http://dive4elements.wald.intevation.org