diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java @ 709:3b7e9ddf6bb1

New model to transport data and error reports of calculations. flys-artifacts/trunk@2165 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 20 Jun 2011 12:32:32 +0000
parents 853dceead0f4
children 69c8541edcc7
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java	Sat Jun 18 20:20:34 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java	Mon Jun 20 12:32:32 2011 +0000
@@ -15,6 +15,7 @@
 import de.intevation.flys.artifacts.model.WaterlevelFacet;
 import de.intevation.flys.artifacts.model.DataFacet;
 import de.intevation.flys.artifacts.model.WQKms;
+import de.intevation.flys.artifacts.model.CalculationResult;
 
 import de.intevation.flys.artifacts.resources.Resources;
 
@@ -47,37 +48,32 @@
     ) {
         WINFOArtifact winfo = (WINFOArtifact)artifact;
 
-        WQKms res;
+        CalculationResult res = old instanceof CalculationResult
+            ? (CalculationResult)old
+            : winfo.getComputedDischargeCurveData();
 
-        if (old instanceof WQKms []) {
-            res = ((WQKms [])old)[0];
-        }
-        else {
-            res = winfo.getComputedDischargeCurveData();
+        WQKms [] wqkms = (WQKms [])res.getData();
 
-            if (res == null) {
-                logger.debug("No results given.");
-                return null;
+        if (facets != null && wqkms.length > 0) {
+            for (int i = 0; i < wqkms.length; ++i) {
+
+                Object[] args = new Object[] {
+                    winfo.getRiver().getName(),
+                    wqkms[i].getName()
+                };
+
+                String name = Resources.getMsg(
+                    context.getMeta(),
+                    "chart.computed.discharge.curve.curve.label",
+                    "",
+                    args);
+
+                facets.add(new WaterlevelFacet(i, COMPUTED_DISCHARGE_Q, name));
             }
-        }
-
-        if (facets != null) {
-            Object[] args = new Object[] {
-                winfo.getRiver().getName(),
-                res.getName()
-            };
-
-            String name = Resources.getMsg(
-                context.getMeta(),
-                "chart.computed.discharge.curve.curve.label",
-                "",
-                args);
-
-            facets.add(new WaterlevelFacet(0, COMPUTED_DISCHARGE_Q, name));
             facets.add(new DataFacet(CSV, "CSV data"));
         }
 
-        return new WQKms[] { res };
+        return res;
     }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org