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);

http://dive4elements.wald.intevation.org