Mercurial > dive4elements > river
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( |