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();

http://dive4elements.wald.intevation.org