Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java @ 324:cd9e397cc2a8
The inserted river is validated in the feed operation().
flys-artifacts/trunk@1718 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 18 Apr 2011 13:21:52 +0000 |
parents | 89bd0417418f |
children | f165c7d5d6db |
comparison
equal
deleted
inserted
replaced
323:b33ba2cd4a3e | 324:cd9e397cc2a8 |
---|---|
1 package de.intevation.flys.artifacts.states; | 1 package de.intevation.flys.artifacts.states; |
2 | 2 |
3 import java.util.List; | 3 import java.util.List; |
4 import java.util.Map; | |
4 | 5 |
5 import org.apache.log4j.Logger; | 6 import org.apache.log4j.Logger; |
6 | 7 |
7 import org.w3c.dom.Element; | 8 import org.w3c.dom.Element; |
8 import org.w3c.dom.Node; | 9 import org.w3c.dom.Node; |
15 import de.intevation.artifactdatabase.ProtocolUtils; | 16 import de.intevation.artifactdatabase.ProtocolUtils; |
16 import de.intevation.artifactdatabase.data.StateData; | 17 import de.intevation.artifactdatabase.data.StateData; |
17 | 18 |
18 import de.intevation.flys.model.River; | 19 import de.intevation.flys.model.River; |
19 | 20 |
21 import de.intevation.flys.artifacts.FLYSArtifact; | |
20 import de.intevation.flys.artifacts.model.RiverFactory; | 22 import de.intevation.flys.artifacts.model.RiverFactory; |
21 | |
22 import de.intevation.flys.artifacts.resources.Resources; | 23 import de.intevation.flys.artifacts.resources.Resources; |
23 | 24 |
24 | 25 |
25 /** | 26 /** |
26 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> | 27 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
27 */ | 28 */ |
28 public class RiverSelect extends DefaultState { | 29 public class RiverSelect extends DefaultState { |
29 | 30 |
30 /** The logger used in this class. */ | 31 /** The logger used in this class. */ |
31 private static Logger logger = Logger.getLogger(RiverSelect.class); | 32 private static Logger logger = Logger.getLogger(RiverSelect.class); |
33 | |
34 | |
35 /** Error message that is thrown if no river was found based on a given | |
36 * name.*/ | |
37 public static final String ERROR_NO_SUCH_RIVER = | |
38 "error_feed_no_such_river"; | |
39 | |
40 /** Error message that is thrown if no river was found based on a given | |
41 * name.*/ | |
42 public static final String ERROR_NO_RIVER_SELECTED = | |
43 "error_feed_no_river_selected"; | |
44 | |
32 | 45 |
33 /** | 46 /** |
34 * The default constructor that initializes an empty State object. | 47 * The default constructor that initializes an empty State object. |
35 */ | 48 */ |
36 public RiverSelect() { | 49 public RiverSelect() { |
114 item.appendChild(label); | 127 item.appendChild(label); |
115 item.appendChild(value); | 128 item.appendChild(value); |
116 | 129 |
117 return item; | 130 return item; |
118 } | 131 } |
132 | |
133 | |
134 @Override | |
135 public boolean validate(Artifact artifact, CallContext context) | |
136 throws IllegalArgumentException | |
137 { | |
138 logger.debug("RiverSelect.validate"); | |
139 | |
140 Map<String, StateData> data = getData(); | |
141 | |
142 StateData dRiver = data.get("river"); | |
143 | |
144 if (dRiver == null || dRiver.getValue() == null) { | |
145 throw new IllegalArgumentException(ERROR_NO_RIVER_SELECTED); | |
146 } | |
147 | |
148 River river = RiverFactory.getRiver((String) dRiver.getValue()); | |
149 | |
150 if (river == null) { | |
151 throw new IllegalArgumentException(ERROR_NO_SUCH_RIVER); | |
152 } | |
153 | |
154 return true; | |
155 } | |
119 } | 156 } |
120 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : | 157 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |