diff backend/src/main/java/org/dive4elements/river/importer/parsers/SQRelationParser.java @ 8692:67e53dbe05d2

(issue1750) Consistently attach parameters of suspended respectively bedload material to measurement station of respective type.
author Tom Gottfried <tom@intevation.de>
date Fri, 17 Apr 2015 15:04:16 +0200
parents 11c88a2f695a
children 5e38e2924c07
line wrap: on
line diff
--- a/backend/src/main/java/org/dive4elements/river/importer/parsers/SQRelationParser.java	Fri Apr 17 14:55:42 2015 +0200
+++ b/backend/src/main/java/org/dive4elements/river/importer/parsers/SQRelationParser.java	Fri Apr 17 15:04:16 2015 +0200
@@ -146,24 +146,32 @@
             return;
         }
 
-        List<MeasurementStation> ms =
-            ImporterSession.getInstance().getMeasurementStations(
-                river, km);
+        MeasurementStation mStation = ImporterSession.getInstance()
+            .getMeasurementStation(
+                river,
+                km,
+                parameter.equals("A") || parameter.equals("B")
+                ? MeasurementStation.MEASUREMENT_TYPE_SUSP
+                : MeasurementStation.MEASUREMENT_TYPE_BEDLOAD);
 
-        if (ms != null && !ms.isEmpty()) {
-            current.addValue(new ImportSQRelationValue(
-                    cols[1],
-                    ms.get(0),
-                    a,
-                    b,
-                    qMax,
-                    rSq,
-                    nTot,
-                    nOutlier,
-                    cFer,
-                    cDuan
-                ));
+        if (mStation == null) {
+            log.warn("No measurement station fitting parameter " +
+                parameter + " at km " + km + ". Line ignored.");
+            return;
         }
+
+        current.addValue(new ImportSQRelationValue(
+                parameter,
+                mStation,
+                a,
+                b,
+                qMax,
+                rSq,
+                nTot,
+                nOutlier,
+                cFer,
+                cDuan
+            ));
     }
 
     private Double parseDouble(String[] values, int idx) {

http://dive4elements.wald.intevation.org