diff flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java @ 454:2c0c22e0935d

Added names for discharge curves (at gauges). flys-artifacts/trunk@1950 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Thu, 19 May 2011 09:45:29 +0000
parents 0385bcc4229a
children e006da5679d2
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java	Thu May 19 09:31:47 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java	Thu May 19 09:45:29 2011 +0000
@@ -1,6 +1,7 @@
 package de.intevation.flys.exports;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -14,8 +15,10 @@
 
 import de.intevation.artifacts.Artifact;
 
+import de.intevation.flys.model.DischargeTable;
 import de.intevation.flys.model.Gauge;
 import de.intevation.flys.model.River;
+import de.intevation.flys.model.TimeInterval;
 
 import de.intevation.flys.artifacts.FLYSArtifact;
 import de.intevation.flys.artifacts.model.DischargeTables;
@@ -130,10 +133,45 @@
         DischargeTables dt = new DischargeTables(river.getName(), gaugeNames);
         Map<String, double[][]> gaugeValues = dt.getValues(100d);
 
-        for (String gauge: gaugeNames) {
-            double[][] values = gaugeValues.get(gauge);
-            dataset.addSeries(gauge, values);
+        for (Gauge gauge: filtered) {
+            String gaugeName = gauge.getName();
+
+            double[][] values = gaugeValues.get(gaugeName);
+            dataset.addSeries(getSeriesName(gauge), values);
         }
     }
+
+
+    protected String getSeriesName(Gauge gauge) {
+        List<DischargeTable> dts = gauge.getDischargeTables();
+
+        for (DischargeTable dt: dts) {
+            if (dt.getKind() == 0) {
+                TimeInterval ti = dt.getTimeInterval();
+
+                Date start = ti.getStartTime();
+                Date end   = ti.getStopTime();
+
+                String name  = gauge.getName();
+
+                if (end == null) {
+                    Object[] args = new Object[] { name, start };
+                    return msg(
+                        "chart.discharge.curve.curve.valid.from",
+                        "",
+                        args);
+                }
+                else {
+                    Object[] args = new Object[] { name, start, end };
+                    return msg(
+                        "chart.discharge.curve.curve.valid.range",
+                        "",
+                        args);
+                }
+            }
+        }
+
+        return gauge.getName();
+    }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org