Mercurial > dive4elements > gnv-client
diff gnv-artifacts/src/main/java/de/intevation/gnv/transition/TransitionBase.java @ 101:e01c163ea5b0
Inputvalidation for String, Integer and Date Values added.
gnv-artifacts/trunk@149 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Tue, 29 Sep 2009 09:50:25 +0000 |
parents | bb45c5097cb6 |
children | 820238357bab |
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/transition/TransitionBase.java Mon Sep 28 14:35:35 2009 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/transition/TransitionBase.java Tue Sep 29 09:50:25 2009 +0000 @@ -35,6 +35,7 @@ import de.intevation.gnv.transition.describedata.SingleValueDescribeData; import de.intevation.gnv.transition.exception.TransitionException; import de.intevation.gnv.utils.ArtifactXMLUtilities; +import de.intevation.gnv.utils.InputValidator; /** * @author Tim Englich <tim.englich@intevation.de> @@ -184,6 +185,7 @@ log.debug("TransitionBase.putInputData"); if (inputData != null){ Iterator<InputData> it = inputData.iterator(); + InputValidator iv = new InputValidator(); while(it.hasNext()){ InputData tmpItem = it.next(); InputValue inputValue = this.inputValues.get(tmpItem.getName()); @@ -191,8 +193,15 @@ if (this.inputData == null){ this.inputData = new HashMap<String,InputData>(inputData.size()); } - this.setSelection(tmpItem); - this.inputData.put(tmpItem.getName(),tmpItem); + boolean valid = iv.isInputValid(tmpItem.getValue(), inputValue.getType()); + if (valid){ + this.setSelection(tmpItem); + this.inputData.put(tmpItem.getName(),tmpItem); + }else{ + String errMsg = "Wrong input for "+tmpItem.getValue()+"is not an "+inputValue.getType()+" Value."; + log.warn(errMsg); + throw new TransitionException(errMsg); + } }else{ String errMsg = "No Inputvalue given for Inputdata "+ tmpItem.getName();