[PATCH 4 of 4] (issue1347) Add SQ Relation fields for measurement station information

Wald Commits scm-commit at wald.intevation.org
Mon Aug 19 11:41:40 CEST 2013


# HG changeset patch
# User Andre Heinecke <aheinecke at intevation.de>
# Date 1376905269 -7200
# Node ID 3ccbc278f2e64d092a8c9b9a72f2ba0f4b10fed0
# Parent  b5e2d18cc341519d5da62b8b86b9b1bbec5044c6
(issue1347) Add SQ Relation fields for measurement station information

diff -r b5e2d18cc341 -r 3ccbc278f2e6 artifacts/src/main/java/org/dive4elements/river/artifacts/access/SQRelationAccess.java
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/access/SQRelationAccess.java	Mon Aug 19 11:40:34 2013 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/access/SQRelationAccess.java	Mon Aug 19 11:41:09 2013 +0200
@@ -9,11 +9,13 @@
 package org.dive4elements.river.artifacts.access;
 
 import java.util.Date;
+import java.util.List;
 
 import org.apache.log4j.Logger;
 
 import org.dive4elements.river.artifacts.D4EArtifact;
 import org.dive4elements.river.artifacts.model.DateRange;
+import org.dive4elements.river.model.MeasurementStation;
 
 public class SQRelationAccess
 extends      RiverAccess
@@ -28,6 +30,8 @@
 
     private String      method;
 
+    protected MeasurementStation measurementStation;
+
     public SQRelationAccess() {
     }
 
@@ -80,5 +84,30 @@
         }
         return method;
     }
+
+    public String getMeasurementStationName() {
+        MeasurementStation station = getMeasurementStation();
+        return station == null ? null : station.getName();
+    }
+
+    public String getMeasurementStationGaugeName() {
+        MeasurementStation station = getMeasurementStation();
+        return station == null ? null : station.getGaugeName();
+    }
+
+    public MeasurementStation getMeasurementStation() {
+        if (measurementStation != null) {
+            return measurementStation;
+        }
+        List<MeasurementStation> candidates = MeasurementStation.getStationsAtKM(
+                getRiver(), getLocation());
+        if (candidates != null) {
+            // Just take the first one as we only use the name
+            // and that "should" be unique at the location
+            measurementStation = candidates.get(0);
+        }
+
+        return measurementStation;
+    }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
diff -r b5e2d18cc341 -r 3ccbc278f2e6 artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/SQRelationJRDataSource.java
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/SQRelationJRDataSource.java	Mon Aug 19 11:40:34 2013 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/SQRelationJRDataSource.java	Mon Aug 19 11:41:09 2013 +0200
@@ -73,6 +73,12 @@
         else if ("periods".equals(fieldName)) {
             value = metaData.get("periods");
         }
+        else if ("msName".equals(fieldName)) {
+            value = metaData.get("msName");
+        }
+        else if ("msGauge".equals(fieldName)) {
+            value = metaData.get("msGauge");
+        }
         else if ("km".equals(fieldName)) {
             value = data.get(index)[0];
         }
diff -r b5e2d18cc341 -r 3ccbc278f2e6 artifacts/src/main/java/org/dive4elements/river/exports/sq/SQRelationExporter.java
--- a/artifacts/src/main/java/org/dive4elements/river/exports/sq/SQRelationExporter.java	Mon Aug 19 11:40:34 2013 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/sq/SQRelationExporter.java	Mon Aug 19 11:41:09 2013 +0200
@@ -261,6 +261,19 @@
                                             locale,
                                             PDF_HEADER_MODE,
                                             "SQRelation"));
+
+        String measurementStationName = access.getMeasurementStationName();
+
+        if (measurementStationName != null) {
+            source.addMetaData("msName", measurementStationName);
+        }
+
+        String measurementStationGaugeName = access.getMeasurementStationGaugeName();
+
+        if (measurementStationGaugeName != null) {
+            source.addMetaData("msGauge", measurementStationGaugeName);
+        }
+
     }
 
     @Override


More information about the Dive4elements-commits mailing list