joerg 2004/03/16 13:46:27
Modified: src/java/org/apache/cocoon/acting
AbstractValidatorAction.java
Log:
handle possible NPE if no parameter in the sitemap and no constraint-set for
validating was specified:
http://marc.theaimsgroup.com/?t=107702303400001&r=1&w=4
Revision Changes Path
1.10 +10 -1
cocoon-2.2/src/java/org/apache/cocoon/acting/AbstractValidatorAction.java
Index: AbstractValidatorAction.java
===================================================================
RCS file:
/home/cvs/cocoon-2.2/src/java/org/apache/cocoon/acting/AbstractValidatorAction.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- AbstractValidatorAction.java 8 Mar 2004 13:57:35 -0000 1.9
+++ AbstractValidatorAction.java 16 Mar 2004 21:46:27 -0000 1.10
@@ -28,9 +28,11 @@
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.cocoon.Constants;
+import org.apache.cocoon.ProcessingException;
import org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.Redirector;
import org.apache.cocoon.environment.SourceResolver;
+import org.apache.cocoon.sitemap.SitemapParameters;
import org.apache.cocoon.util.Tokenizer;
import org.apache.regexp.RE;
import org.apache.regexp.RESyntaxException;
@@ -244,6 +246,13 @@
Map csets =
this.indexConfiguration(conf.getChildren("constraint-set"));
params = this.resolveConstraints(valsetstr, csets);
}
+
+ if (params == null) {
+ throw new ProcessingException("Neither a constraint-set nor
parameters in the sitemap "
+ + "were specified for validating
at "
+ +
SitemapParameters.getStatementLocation(parameters));
+ }
+
HashMap values = this.createMapOfParameters(objectModel, params);
allOK = this.validateSetOfParameters(desc, actionMap, resultMap,
params, values, this.isStringEncoded());