diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java @ 2134:024d986b4f5b

'New Chart' for duration curve. flys-artifacts/trunk@3710 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Raimund Renkert <raimund.renkert@intevation.de>
date Wed, 18 Jan 2012 15:50:34 +0000
parents e0243627ba62
children 1d7fb2cabfc7
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java	Wed Jan 18 14:45:24 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java	Wed Jan 18 15:50:34 2012 +0000
@@ -10,6 +10,7 @@
 
 import de.intevation.flys.artifacts.FLYSArtifact;
 import de.intevation.flys.artifacts.WINFOArtifact;
+import de.intevation.flys.artifacts.ChartArtifact;
 
 import de.intevation.flys.artifacts.model.DurationCurveFacet;
 import de.intevation.flys.artifacts.model.FacetTypes;
@@ -17,6 +18,7 @@
 
 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.CalculationResult;
 
 import de.intevation.flys.artifacts.resources.Resources;
@@ -49,50 +51,58 @@
         List<Facet>  facets,
         Object       old
     ) {
-        WINFOArtifact winfo = (WINFOArtifact)artifact;
-
-        CalculationResult res;
-
-        if (old instanceof CalculationResult) {
-            res = (CalculationResult)old;
-        }
-        else {
-            res = winfo.getDurationCurveData();
-        }
-
-        WQDay wqday = (WQDay)res.getData();
-
-        if (wqday != null && facets != null) {
-            Object[] args = new Object[] {
-                FLYSUtils.getRiver(winfo).getName()
-            };
+        if (artifact instanceof WINFOArtifact) {
+            WINFOArtifact winfo = (WINFOArtifact)artifact;
 
-            String nameW = Resources.getMsg(
-                context.getMeta(),
-                "chart.duration.curve.curve.w",
-                "",
-                args);
-
-            String nameQ = Resources.getMsg(
-                context.getMeta(),
-                "chart.duration.curve.curve.q",
-                "",
-                args);
+            CalculationResult res;
 
-            Facet w = new DurationCurveFacet(DURATION_W, nameW);
-            Facet q = new DurationCurveFacet(DURATION_Q, nameQ);
-
-            facets.add(w);
-            facets.add(q);
+            if (old instanceof CalculationResult) {
+                res = (CalculationResult)old;
+            }
+            else {
+                res = winfo.getDurationCurveData();
+            }
 
-            facets.add(new DataFacet(CSV, "CSV data"));
+            WQDay wqday = (WQDay)res.getData();
 
-            if (res.getReport().hasProblems()) {
-                facets.add(new ReportFacet());
+            if (wqday != null && facets != null) {
+                Object[] args = new Object[] {
+                    FLYSUtils.getRiver(winfo).getName()
+                };
+
+                String nameW = Resources.getMsg(
+                    context.getMeta(),
+                    "chart.duration.curve.curve.w",
+                    "",
+                    args);
+
+                String nameQ = Resources.getMsg(
+                    context.getMeta(),
+                    "chart.duration.curve.curve.q",
+                    "",
+                    args);
+
+                Facet w = new DurationCurveFacet(DURATION_W, nameW);
+                Facet q = new DurationCurveFacet(DURATION_Q, nameQ);
+
+                facets.add(w);
+                facets.add(q);
+
+                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