comparison backend/src/main/java/org/dive4elements/river/importer/parsers/BedHeightParser.java @ 6273:e7526a074c0d double-precision

Bed height parser: check for duplicate stations
author Tom Gottfried <tom.gottfried@intevation.de>
date Tue, 11 Jun 2013 13:03:50 +0200
parents 52d4175cb331
children d518a42cdcd3
comparison
equal deleted inserted replaced
6264:e8f152163a1e 6273:e7526a074c0d
17 17
18 import java.util.ArrayList; 18 import java.util.ArrayList;
19 import java.util.Calendar; 19 import java.util.Calendar;
20 import java.util.Date; 20 import java.util.Date;
21 import java.util.List; 21 import java.util.List;
22 import java.util.TreeSet;
22 import java.util.Locale; 23 import java.util.Locale;
23 24
24 import java.util.regex.Matcher; 25 import java.util.regex.Matcher;
25 import java.util.regex.Pattern; 26 import java.util.regex.Pattern;
26 27
38 import org.dive4elements.river.importer.ImportRange; 39 import org.dive4elements.river.importer.ImportRange;
39 import org.dive4elements.river.importer.ImportTimeInterval; 40 import org.dive4elements.river.importer.ImportTimeInterval;
40 import org.dive4elements.river.importer.ImportUnit; 41 import org.dive4elements.river.importer.ImportUnit;
41 import org.dive4elements.river.model.BedHeightType; 42 import org.dive4elements.river.model.BedHeightType;
42 import org.dive4elements.river.importer.ImporterSession; 43 import org.dive4elements.river.importer.ImporterSession;
44 import org.dive4elements.river.utils.EpsilonComparator;
43 45
44 public abstract class BedHeightParser { 46 public abstract class BedHeightParser {
45 47
46 private static final Logger log = 48 private static final Logger log =
47 Logger.getLogger(BedHeightParser.class); 49 Logger.getLogger(BedHeightParser.class);
96 protected abstract void handleDataLine( 98 protected abstract void handleDataLine(
97 ImportBedHeight importBedHeight, 99 ImportBedHeight importBedHeight,
98 String line 100 String line
99 ); 101 );
100 102
103 protected TreeSet<Double> kmExists;
101 104
102 105
103 public BedHeightParser() { 106 public BedHeightParser() {
104 this.bedHeights = new ArrayList<ImportBedHeight>(); 107 bedHeights = new ArrayList<ImportBedHeight>();
108 kmExists = new TreeSet<Double>(EpsilonComparator.CMP);
105 } 109 }
106 110
107 111
108 public List<ImportBedHeight> getBedHeights() { 112 public List<ImportBedHeight> getBedHeights() {
109 return bedHeights; 113 return bedHeights;
112 116
113 public void parse(File file) throws IOException { 117 public void parse(File file) throws IOException {
114 log.info("Parsing bed height single file '" + file + "'"); 118 log.info("Parsing bed height single file '" + file + "'");
115 119
116 ImportBedHeight obj = newImportBedHeight(file.getName().replaceAll("\\.csv", "")); 120 ImportBedHeight obj = newImportBedHeight(file.getName().replaceAll("\\.csv", ""));
121
122 kmExists.clear();
117 123
118 LineNumberReader in = null; 124 LineNumberReader in = null;
119 try { 125 try {
120 in = 126 in =
121 new LineNumberReader( 127 new LineNumberReader(

http://dive4elements.wald.intevation.org