diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java @ 322:448d0dc64357

The inserted ranges (distance and WQ ranges) are validated in the feed() operation. flys-artifacts/trunk@1716 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 18 Apr 2011 12:36:08 +0000
parents 9581b88f2920
children 7a0907742cc0
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java	Mon Apr 18 09:34:18 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java	Mon Apr 18 12:36:08 2011 +0000
@@ -33,6 +33,7 @@
 
 import de.intevation.flys.artifacts.context.FLYSContext;
 import de.intevation.flys.artifacts.model.RiverFactory;
+import de.intevation.flys.artifacts.states.DefaultState;
 
 
 /**
@@ -161,14 +162,12 @@
         doc.appendChild(result);
 
         try {
-            saveData(target, XPATH_FEED_INPUT);
+            saveData(target, XPATH_FEED_INPUT, context);
             return describe(target, context);
         }
         catch (IllegalArgumentException iae) {
             creator.addAttr(result, "type", OPERATION_FAILED, true);
 
-            // TODO I18N this message - getMessage() returns a lookup string, no
-            // human readable error message
             result.setTextContent(iae.getMessage());
         }
 
@@ -324,7 +323,7 @@
      * @param feed The FEED document.
      * @param xpath The XPath that points to the data nodes.
      */
-    public void saveData(Document feed, String xpath)
+    public void saveData(Document feed, String xpath, CallContext context)
     throws IllegalArgumentException
     {
         if (feed == null || xpath == null || xpath.length() == 0) {
@@ -355,10 +354,14 @@
             if (name != null && value != null) {
                 logger.debug("Save data item for '" + name + "' : " + value);
 
-                // TODO ADD INPUT VALIDATION!
                 addData(name, new DefaultStateData(name, null, null, value));
             }
         }
+
+        State current           = getCurrentState(context);
+        DefaultState toValidate = (DefaultState) fillState(current);
+
+        toValidate.validate(this, context);
     }
 
 

http://dive4elements.wald.intevation.org