Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java @ 624:929137ee8154
ISSUE-62 (part I/II) States are no longer filled with data - if a state needs user input, it needs to query the owner artifact.
flys-artifacts/trunk@1982 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 23 May 2011 15:11:55 +0000 |
parents | b33ba2cd4a3e |
children | 627be3ca1ab6 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java Mon May 23 14:32:17 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java Mon May 23 15:11:55 2011 +0000 @@ -1,7 +1,5 @@ package de.intevation.flys.artifacts.states; -import java.util.Map; - import org.apache.log4j.Logger; import org.w3c.dom.Element; @@ -15,6 +13,7 @@ import de.intevation.artifactdatabase.ProtocolUtils; import de.intevation.artifactdatabase.data.StateData; +import de.intevation.flys.artifacts.FLYSArtifact; import de.intevation.flys.artifacts.resources.Resources; /** @@ -26,6 +25,9 @@ private static Logger logger = Logger.getLogger(CalculationSelect.class); + + public static final String FIELD_MODE = "calculation_mode"; + /** Constant value for the reference line calculation.*/ public static final String CALCULATION_SURFACE_CURVE = "calc.surface.curve"; @@ -110,10 +112,10 @@ throws IllegalArgumentException { logger.debug("CalculationSelect.validate"); + FLYSArtifact flys = (FLYSArtifact) artifact; - Map<String, StateData> data = getData(); - - String calc = (String) data.get("calculation_mode").getValue(); + StateData data = getData(flys, FIELD_MODE); + String calc = data != null ? (String) data.getValue() : null; if (calc == null) { throw new IllegalArgumentException(ERROR_NO_CALCULATION_MODE);