diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java @ 692:22e4bffbe240 facets-slt

Generated facets for each output aspect. flys-artifacts/branches/facets-slt@2132 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Thu, 16 Jun 2011 10:05:44 +0000
parents f8ac04b2dbd0
children 708b270dfd30
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java	Thu Jun 16 09:04:59 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java	Thu Jun 16 10:05:44 2011 +0000
@@ -4,12 +4,18 @@
 
 import org.apache.log4j.Logger;
 
+import de.intevation.artifacts.CallContext;
+
+import de.intevation.artifactdatabase.state.DefaultFacet;
 import de.intevation.artifactdatabase.state.Facet;
 
 import de.intevation.flys.artifacts.FLYSArtifact;
 import de.intevation.flys.artifacts.WINFOArtifact;
 import de.intevation.flys.artifacts.model.ComputeCallback;
 import de.intevation.flys.artifacts.model.ComputeCallbackAdapter;
+import de.intevation.flys.artifacts.model.FacetTypes;
+import de.intevation.flys.artifacts.model.WQDay;
+import de.intevation.flys.artifacts.resources.Resources;
 
 /**
  * The final state that will be reached after the duration curve calculation
@@ -17,8 +23,10 @@
  *
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  */
-public class DurationCurveState extends DefaultState {
-
+public class DurationCurveState
+extends      DefaultState
+implements   FacetTypes
+{
     /** The logger that is used in this state.*/
     private static Logger logger = Logger.getLogger(DurationCurveState.class);
 
@@ -35,8 +43,40 @@
         return new ComputeCallbackAdapter() {
 
             @Override
-            public Object computeAdvance(List<Facet> facets) {
-                return winfo.getDurationCurveData();
+            public Object computeAdvance(
+                CallContext context,
+                List<Facet> facets)
+            {
+                WQDay res = winfo.getDurationCurveData();
+
+                if (res == null) {
+                    logger.debug("No results given.");
+                    return null;
+                }
+
+                Object[] args = new Object[] {
+                    winfo.getRiver().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 DefaultFacet(0, DURATION_W, nameW);
+                Facet q = new DefaultFacet(0, DURATION_Q, nameQ);
+
+                facets.add(w);
+                facets.add(q);
+
+                return res;
             }
         };
     }

http://dive4elements.wald.intevation.org