diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/FlowVelocityMeasurementArtifact.java @ 4464:b66285ece774

For FlowV.-Artifacts, use given id, fetch data and display via facet and generator.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Fri, 09 Nov 2012 10:27:17 +0100
parents bdf321802d3d
children cc6323401643
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/FlowVelocityMeasurementArtifact.java	Fri Nov 09 10:25:41 2012 +0100
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/FlowVelocityMeasurementArtifact.java	Fri Nov 09 10:27:17 2012 +0100
@@ -15,6 +15,7 @@
 import de.intevation.artifacts.CallMeta;
 import de.intevation.artifacts.common.utils.XMLUtils;
 import de.intevation.flys.model.FlowVelocityMeasurement;
+import de.intevation.flys.model.FlowVelocityMeasurementValue;
 import de.intevation.flys.artifacts.model.minfo.FlowVelocityMeasurementFacet;
 import de.intevation.flys.artifacts.model.minfo.FlowVelocityMeasurementFactory;
 import de.intevation.flys.artifacts.states.StaticState;
@@ -48,6 +49,7 @@
     /** One and only state to be in. */
     protected transient State state = null;
 
+    protected String DATA_NAME = "ID";
 
     /**
      * Trivial Constructor.
@@ -106,15 +108,15 @@
         if (code != null) {
             // parse code, interact with factory, add real facets.
             // store relevant parts of code as data.
+            Facet facet = new FlowVelocityMeasurementFacet(
+                FLOW_VELOCITY_MEASUREMENT,
+                "flowvelocity-name");
+  
+            fs.add(facet);
+            facets.put(state.getID(), fs);
+            addStringData(DATA_NAME, code);
         }
 
-        Facet facet = new FlowVelocityMeasurementFacet(
-            FLOW_VELOCITY_MEASUREMENT,
-            "flowvelocity-name");
-
-        fs.add(facet);
-        facets.put(state.getID(), fs);
-
         spawnState();
         super.setup(identifier, factory, context, callMeta, data);
     }
@@ -180,5 +182,15 @@
     {
         logger.debug("initialize");
     }
+
+
+    /** Get the db-unbound flow velocity measurement value with given
+     * id. */
+    public FlowVelocityMeasurementValue.FastFlowVelocityMeasurementValue
+        getFlowVelocityMeasurementValue()
+    {
+        return FlowVelocityMeasurementFactory.getFlowVelocityMeasurement(
+            Integer.parseInt(getDataAsString(DATA_NAME)));
+    }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org