Mercurial > dive4elements > river
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) {