Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java @ 3445:b6c301cb3871
Handle FixationArtifacts in WQAdapted-State.
flys-artifacts/trunk@5108 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Mon, 23 Jul 2012 15:11:12 +0000 |
parents | efb2038783f9 |
children | 22790758b132 |
comparison
equal
deleted
inserted
replaced
3444:f903f1e5aed6 | 3445:b6c301cb3871 |
---|---|
21 import de.intevation.flys.model.Range; | 21 import de.intevation.flys.model.Range; |
22 import de.intevation.flys.model.River; | 22 import de.intevation.flys.model.River; |
23 import de.intevation.flys.model.Wst; | 23 import de.intevation.flys.model.Wst; |
24 | 24 |
25 import de.intevation.flys.artifacts.WINFOArtifact; | 25 import de.intevation.flys.artifacts.WINFOArtifact; |
26 import de.intevation.flys.artifacts.FLYSArtifact; | |
26 | 27 |
27 import de.intevation.flys.artifacts.model.RangeWithValues; | 28 import de.intevation.flys.artifacts.model.RangeWithValues; |
28 import de.intevation.flys.artifacts.model.WstFactory; | 29 import de.intevation.flys.artifacts.model.WstFactory; |
29 import de.intevation.flys.utils.FLYSUtils; | 30 import de.intevation.flys.utils.FLYSUtils; |
30 | 31 |
35 public class WQAdapted extends DefaultState { | 36 public class WQAdapted extends DefaultState { |
36 | 37 |
37 /** The logger used in this state.*/ | 38 /** The logger used in this state.*/ |
38 private static Logger logger = Logger.getLogger(WQAdapted.class); | 39 private static Logger logger = Logger.getLogger(WQAdapted.class); |
39 | 40 |
40 | |
41 public static final String FIELD_WQ_MODE = "wq_isq"; | 41 public static final String FIELD_WQ_MODE = "wq_isq"; |
42 | 42 |
43 public static final String FIELD_WQ_VALUES = "wq_values"; | 43 public static final String FIELD_WQ_VALUES = "wq_values"; |
44 | 44 |
45 public static final class GaugeOrder implements Comparator<Gauge> { | 45 public static final class GaugeOrder implements Comparator<Gauge> { |
57 public static final GaugeOrder GAUGE_UP = new GaugeOrder(true); | 57 public static final GaugeOrder GAUGE_UP = new GaugeOrder(true); |
58 public static final GaugeOrder GAUGE_DOWN = new GaugeOrder(false); | 58 public static final GaugeOrder GAUGE_DOWN = new GaugeOrder(false); |
59 | 59 |
60 public WQAdapted() { | 60 public WQAdapted() { |
61 } | 61 } |
62 | |
62 | 63 |
63 /** | 64 /** |
64 * This method creates one element for each gauge of the selected river that | 65 * This method creates one element for each gauge of the selected river that |
65 * is intersected by the given kilometer range. Each element is a tuple of | 66 * is intersected by the given kilometer range. Each element is a tuple of |
66 * (from;to) where <i>from</i> is the lower bounds of the gauge or the lower | 67 * (from;to) where <i>from</i> is the lower bounds of the gauge or the lower |
118 String name, | 119 String name, |
119 CallContext context) | 120 CallContext context) |
120 { | 121 { |
121 logger.debug("WQAdapted.createValueItems"); | 122 logger.debug("WQAdapted.createValueItems"); |
122 | 123 |
123 WINFOArtifact flysArtifact = (WINFOArtifact) artifact; | 124 FLYSArtifact flysArtifact = (FLYSArtifact) artifact; |
124 | 125 |
125 double[] dist = FLYSUtils.getKmRange(flysArtifact); | 126 double[] dist = FLYSUtils.getKmRange(flysArtifact); |
126 River river = FLYSUtils.getRiver(flysArtifact); | 127 River river = FLYSUtils.getRiver(flysArtifact); |
127 Wst wst = WstFactory.getWst(river); | 128 Wst wst = WstFactory.getWst(river); |
128 List<Gauge> gauges = flysArtifact.getGauges(); | 129 List<Gauge> gauges = FLYSUtils.getGauges(flysArtifact); |
129 | 130 |
130 int num = gauges != null ? gauges.size() : 0; | 131 int num = gauges != null ? gauges.size() : 0; |
131 | 132 |
132 if (num == 0) { | 133 if (num == 0) { |
133 logger.warn("Selected distance matches no gauges."); | 134 logger.warn("Selected distance matches no gauges."); |
276 public boolean validate(Artifact artifact) | 277 public boolean validate(Artifact artifact) |
277 throws IllegalArgumentException | 278 throws IllegalArgumentException |
278 { | 279 { |
279 logger.debug("WQAdapted.validate"); | 280 logger.debug("WQAdapted.validate"); |
280 | 281 |
281 WINFOArtifact flys = (WINFOArtifact) artifact; | 282 FLYSArtifact flys = (FLYSArtifact) artifact; |
282 StateData data = getData(flys, FIELD_WQ_MODE); | 283 StateData data = getData(flys, FIELD_WQ_MODE); |
283 | 284 |
284 String mode = data != null ? (String) data.getValue() : null; | 285 String mode = data != null ? (String) data.getValue() : null; |
285 boolean isQ = mode != null | 286 boolean isQ = mode != null |
286 ? Boolean.valueOf(mode) | 287 ? Boolean.valueOf(mode) |
300 | 301 |
301 protected boolean validateW(Artifact artifact) | 302 protected boolean validateW(Artifact artifact) |
302 throws IllegalArgumentException | 303 throws IllegalArgumentException |
303 { | 304 { |
304 logger.debug("WQAdapted.validateW"); | 305 logger.debug("WQAdapted.validateW"); |
305 WINFOArtifact flys = (WINFOArtifact) artifact; | 306 FLYSArtifact flys = (FLYSArtifact) artifact; |
306 | 307 |
307 RangeWithValues[] rwvs = extractInput(getData(flys, "wq_values")); | 308 RangeWithValues[] rwvs = extractInput(getData(flys, "wq_values")); |
308 | 309 |
309 if (rwvs == null) { | 310 if (rwvs == null) { |
310 throw new IllegalArgumentException("error_missing_wq_data"); | 311 throw new IllegalArgumentException("error_missing_wq_data"); |
311 } | 312 } |
312 | 313 |
313 List<Gauge> gauges = ((WINFOArtifact) artifact).getGauges(); | 314 List<Gauge> gauges = FLYSUtils.getGauges((FLYSArtifact) artifact); |
314 | 315 |
315 for (Gauge gauge: gauges) { | 316 for (Gauge gauge: gauges) { |
316 Range range = gauge.getRange(); | 317 Range range = gauge.getRange(); |
317 double lower = range.getA().doubleValue(); | 318 double lower = range.getA().doubleValue(); |
318 double upper = range.getB().doubleValue(); | 319 double upper = range.getB().doubleValue(); |
330 | 331 |
331 protected boolean validateQ(Artifact artifact) | 332 protected boolean validateQ(Artifact artifact) |
332 throws IllegalArgumentException | 333 throws IllegalArgumentException |
333 { | 334 { |
334 logger.debug("WQAdapted.validateQ"); | 335 logger.debug("WQAdapted.validateQ"); |
335 WINFOArtifact flys = (WINFOArtifact) artifact; | 336 FLYSArtifact flys = (FLYSArtifact) artifact; |
336 | 337 |
337 RangeWithValues[] rwvs = extractInput(getData(flys, "wq_values")); | 338 RangeWithValues[] rwvs = extractInput(getData(flys, "wq_values")); |
338 | 339 |
339 if (rwvs == null) { | 340 if (rwvs == null) { |
340 throw new IllegalArgumentException("error_missing_wq_data"); | 341 throw new IllegalArgumentException("error_missing_wq_data"); |
341 } | 342 } |
342 | 343 |
343 List<Gauge> gauges = flys.getGauges(); | 344 List<Gauge> gauges = FLYSUtils.getGauges(flys); |
344 River river = FLYSUtils.getRiver(flys); | 345 River river = FLYSUtils.getRiver(flys); |
345 Wst wst = WstFactory.getWst(river); | 346 Wst wst = WstFactory.getWst(river); |
346 | 347 |
347 for (Gauge gauge: gauges) { | 348 for (Gauge gauge: gauges) { |
348 Range range = gauge.getRange(); | 349 Range range = gauge.getRange(); |