diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.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/ComputedDischargeCurveState.java	Thu Jun 16 09:04:59 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.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.WQKms;
+import de.intevation.flys.artifacts.resources.Resources;
 
 /**
  * The final state that will be reached after the discharge curve calculation
@@ -17,8 +23,10 @@
  *
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  */
-public class ComputedDischargeCurveState extends DefaultState {
-
+public class ComputedDischargeCurveState
+extends      DefaultState
+implements   FacetTypes
+{
     /** The logger that is used in this state.*/
     private static Logger logger =
         Logger.getLogger(ComputedDischargeCurveState.class);
@@ -36,8 +44,33 @@
         return new ComputeCallbackAdapter() {
 
             @Override
-            public Object computeAdvance(List<Facet> facets) {
-                return winfo.getComputedDischargeCurveData();
+            public Object computeAdvance(
+                CallContext context,
+                List<Facet> facets)
+            {
+                WQKms res = winfo.getComputedDischargeCurveData();
+
+                if (res == null) {
+                    logger.debug("No results given.");
+                    return null;
+                }
+
+                Object[] args = new Object[] {
+                    winfo.getRiver().getName(),
+                    res.getName()
+                };
+
+                String name = Resources.getMsg(
+                    context.getMeta(),
+                    "chart.computed.discharge.curve.curve.label",
+                    "",
+                    args);
+
+                Facet q = new DefaultFacet(0, DISCHARGE_LONGITUDINAL_Q, name);
+
+                facets.add(q);
+
+                return res;
             }
         };
     }

http://dive4elements.wald.intevation.org