comparison artifacts/src/main/java/org/dive4elements/river/artifacts/states/WQFixing.java @ 6062:1a169e10c0f3 3.0.5

Add WQFixing sanity check. Just ensure that values are > 0
author Andre Heinecke <aheinecke@intevation.de>
date Wed, 22 May 2013 18:32:51 +0200
parents 0a200ba54461
children e4606eae8ea5
comparison
equal deleted inserted replaced
6061:e9a76ffa0f9a 6062:1a169e10c0f3
6 * documentation coming with Dive4Elements River for details. 6 * documentation coming with Dive4Elements River for details.
7 */ 7 */
8 package org.dive4elements.river.artifacts.states; 8 package org.dive4elements.river.artifacts.states;
9 9
10 import org.dive4elements.artifacts.Artifact; 10 import org.dive4elements.artifacts.Artifact;
11 import org.dive4elements.river.artifacts.D4EArtifact;
12 import org.dive4elements.river.artifacts.model.RangeWithValues;
11 13
12 import org.apache.log4j.Logger; 14 import org.apache.log4j.Logger;
13 15
14 /** 16 /**
15 * State to input W/Q data for fixings 17 * State to input W/Q data for fixings
18 public class WQFixing extends WQAdapted { 20 public class WQFixing extends WQAdapted {
19 21
20 /** The logger used in this state.*/ 22 /** The logger used in this state.*/
21 private static Logger logger = Logger.getLogger(WQFixing.class); 23 private static Logger logger = Logger.getLogger(WQFixing.class);
22 24
25 /** Simple sanity check if values are positive numbers **/
23 @Override 26 @Override
24 public boolean validate(Artifact artifact) 27 public boolean validate(Artifact artifact)
25 throws IllegalArgumentException 28 throws IllegalArgumentException
26 { 29 {
27 logger.debug("WQFixing.validate"); 30 logger.debug("WQFixing.validate");
28 // A check for positive values is already done by the client 31
29 // all positive values are valid 32 RangeWithValues[] rwvs = extractInput(getData((D4EArtifact) artifact, "wq_values"));
33
34 if (rwvs == null) {
35 throw new IllegalArgumentException("error_missing_wq_data");
36 }
37
38 for (RangeWithValues rwv: rwvs) {
39 double[] values = rwv.getValues();
40 for (double val: values) {
41 if (val <= 0) {
42 throw new IllegalArgumentException("error_validate_positive");
43 }
44 }
45 }
46
30 return true; 47 return true;
31 } 48 }
32 49
33 @Override 50 @Override
34 protected String getUIProvider() { 51 protected String getUIProvider() {

http://dive4elements.wald.intevation.org