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