diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java @ 2132:e8fc770d2f8c

'New Chart' for computed discharge curve. flys-artifacts/trunk@3707 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Raimund Renkert <raimund.renkert@intevation.de>
date Wed, 18 Jan 2012 14:36:16 +0000
parents e0243627ba62
children 28dbeb64ce7c
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java	Wed Jan 18 13:39:16 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java	Wed Jan 18 14:36:16 2012 +0000
@@ -10,11 +10,13 @@
 
 import de.intevation.flys.artifacts.FLYSArtifact;
 import de.intevation.flys.artifacts.WINFOArtifact;
+import de.intevation.flys.artifacts.ChartArtifact;
 
 import de.intevation.flys.artifacts.model.FacetTypes;
 import de.intevation.flys.artifacts.model.WaterlevelFacet;
 import de.intevation.flys.artifacts.model.DataFacet;
 import de.intevation.flys.artifacts.model.ReportFacet;
+import de.intevation.flys.artifacts.model.EmptyFacet;
 import de.intevation.flys.artifacts.model.WQKms;
 import de.intevation.flys.artifacts.model.CalculationResult;
 
@@ -48,40 +50,49 @@
         List<Facet>  facets,
         Object       old
     ) {
-        WINFOArtifact winfo = (WINFOArtifact)artifact;
-
-        CalculationResult res = old instanceof CalculationResult
-            ? (CalculationResult)old
-            : winfo.getComputedDischargeCurveData();
-
-        WQKms [] wqkms = (WQKms [])res.getData();
-
-        if (facets != null && wqkms.length > 0) {
-            for (int i = 0; i < wqkms.length; ++i) {
+        logger.debug("ComputedDischargeCurveState.computeAdvance");
+        if(artifact instanceof WINFOArtifact) {
+            WINFOArtifact winfo = (WINFOArtifact)artifact;
 
-                Object[] args = new Object[] {
-                    FLYSUtils.getRiver(winfo).getName(),
-                    wqkms[i].getName()
-                };
+            CalculationResult res = old instanceof CalculationResult
+                ? (CalculationResult)old
+                : winfo.getComputedDischargeCurveData();
 
-                String name = Resources.getMsg(
-                    context.getMeta(),
-                    "chart.computed.discharge.curve.curve.label",
-                    "",
-                    args);
+            WQKms [] wqkms = (WQKms [])res.getData();
 
-                facets.add(new WaterlevelFacet(i, COMPUTED_DISCHARGE_Q, name));
-                facets.add(new WaterlevelFacet(i, AT, "AT data"));
+            if (facets != null && wqkms.length > 0) {
+                for (int i = 0; i < wqkms.length; ++i) {
+
+                    Object[] args = new Object[] {
+                        FLYSUtils.getRiver(winfo).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));
+                    facets.add(new WaterlevelFacet(i, AT, "AT data"));
+                }
+
+                facets.add(new DataFacet(CSV, "CSV data"));
+
+                if (res.getReport().hasProblems()) {
+                    facets.add(new ReportFacet());
+                }
             }
 
-            facets.add(new DataFacet(CSV, "CSV data"));
-
-            if (res.getReport().hasProblems()) {
-                facets.add(new ReportFacet());
-            }
+            return res;
         }
-
-        return res;
+        else if(artifact instanceof ChartArtifact) {
+            ChartArtifact chart = (ChartArtifact)artifact;
+            facets.add(new EmptyFacet());
+            return null;
+        }
+        return null;
     }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org