comparison 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
comparison
equal deleted inserted replaced
623:aa64fe4df8ab 624:929137ee8154
1 package de.intevation.flys.artifacts.states; 1 package de.intevation.flys.artifacts.states;
2
3 import java.util.Map;
4 2
5 import org.apache.log4j.Logger; 3 import org.apache.log4j.Logger;
6 4
7 import org.w3c.dom.Element; 5 import org.w3c.dom.Element;
8 6
13 import de.intevation.artifacts.common.utils.XMLUtils; 11 import de.intevation.artifacts.common.utils.XMLUtils;
14 12
15 import de.intevation.artifactdatabase.ProtocolUtils; 13 import de.intevation.artifactdatabase.ProtocolUtils;
16 import de.intevation.artifactdatabase.data.StateData; 14 import de.intevation.artifactdatabase.data.StateData;
17 15
16 import de.intevation.flys.artifacts.FLYSArtifact;
18 import de.intevation.flys.artifacts.resources.Resources; 17 import de.intevation.flys.artifacts.resources.Resources;
19 18
20 /** 19 /**
21 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> 20 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
22 */ 21 */
23 public class CalculationSelect extends DefaultState { 22 public class CalculationSelect extends DefaultState {
24 23
25 /** The logger that is used in this class.*/ 24 /** The logger that is used in this class.*/
26 private static Logger logger = Logger.getLogger(CalculationSelect.class); 25 private static Logger logger = Logger.getLogger(CalculationSelect.class);
27 26
27
28
29 public static final String FIELD_MODE = "calculation_mode";
28 30
29 /** Constant value for the reference line calculation.*/ 31 /** Constant value for the reference line calculation.*/
30 public static final String CALCULATION_SURFACE_CURVE = 32 public static final String CALCULATION_SURFACE_CURVE =
31 "calc.surface.curve"; 33 "calc.surface.curve";
32 34
108 @Override 110 @Override
109 public boolean validate(Artifact artifact, CallContext context) 111 public boolean validate(Artifact artifact, CallContext context)
110 throws IllegalArgumentException 112 throws IllegalArgumentException
111 { 113 {
112 logger.debug("CalculationSelect.validate"); 114 logger.debug("CalculationSelect.validate");
115 FLYSArtifact flys = (FLYSArtifact) artifact;
113 116
114 Map<String, StateData> data = getData(); 117 StateData data = getData(flys, FIELD_MODE);
115 118 String calc = data != null ? (String) data.getValue() : null;
116 String calc = (String) data.get("calculation_mode").getValue();
117 119
118 if (calc == null) { 120 if (calc == null) {
119 throw new IllegalArgumentException(ERROR_NO_CALCULATION_MODE); 121 throw new IllegalArgumentException(ERROR_NO_CALCULATION_MODE);
120 } 122 }
121 123

http://dive4elements.wald.intevation.org