diff flys-backend/src/main/java/de/intevation/flys/importer/WstParser.java @ 489:e960098b1398

Importer: Ignore lines that contain km positions which were found before in the same WST file. flys-backend/trunk@1833 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 05 May 2011 09:45:13 +0000
parents 73052199f9f6
children 13af9318a4a2
line wrap: on
line diff
--- a/flys-backend/src/main/java/de/intevation/flys/importer/WstParser.java	Thu May 05 06:04:57 2011 +0000
+++ b/flys-backend/src/main/java/de/intevation/flys/importer/WstParser.java	Thu May 05 09:45:13 2011 +0000
@@ -2,6 +2,7 @@
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.HashSet;
 
 import java.io.File;
 import java.io.IOException;
@@ -90,7 +91,7 @@
 
             String einheit = "Wasserstand [NN + m]";
 
-            //HashMap<String, Double> oldEscapeLine = null;
+            HashSet<BigDecimal> kms = new HashSet<BigDecimal>();
 
             while ((input = in.readLine()) != null) {
                 String line = input;
@@ -231,6 +232,14 @@
 
                     BigDecimal kaem = data[0];
 
+                    if (!kms.add(kaem)) {
+                        log.warn(
+                            "km " + kaem + 
+                            " (line " + in.getLineNumber() + 
+                            ") found more than once. -> ignored");
+                        continue;
+                    }
+
                     if (kaem.compareTo(minKm) < 0) {
                         minKm = kaem;
                     }

http://dive4elements.wald.intevation.org