Mercurial > dive4elements > river
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); }