diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java @ 2205:a22e0cb6eace

Format the timerange (static ui) inserted in the 'historical discharge curves' calculation. flys-artifacts/trunk@3829 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 30 Jan 2012 13:29:07 +0000
parents b817e680cf18
children 619f6dfec901
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java	Mon Jan 30 13:23:40 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java	Mon Jan 30 13:29:07 2012 +0000
@@ -723,6 +723,10 @@
 
         DefaultState current = (DefaultState) getCurrentState(context);
 
+        FLYSContext flysContext = FLYSUtils.getFlysContext(context);
+        StateEngine engine      = (StateEngine) flysContext.get(
+            FLYSContext.STATE_ENGINE_KEY);
+
         for (int i = 0; i < count; i++) {
             Element node = (Element)nodes.item(i);
 
@@ -732,7 +736,14 @@
             if (name.length() > 0 && value.length() > 0) {
                 logger.debug("Save data item for '" + name + "' : " + value);
 
-                addData(name, current.transform(this, context, name, value));
+                StateData model = engine.getStateData(getName(), name);
+
+                StateData sd = model != null
+                    ? model.deepCopy()
+                    : new DefaultStateData(name, null, null, value);
+
+                addData(
+                    name, current.transform(this, context, sd, name, value));
             }
             else if (name.length() > 0 && value.length() == 0) {
                 if (removeData(name) != null) {

http://dive4elements.wald.intevation.org