joerg       2004/03/16 13:38:30

  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.9       +9 -1      
cocoon-2.1/src/java/org/apache/cocoon/acting/AbstractValidatorAction.java
  
  Index: AbstractValidatorAction.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/java/org/apache/cocoon/acting/AbstractValidatorAction.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- AbstractValidatorAction.java      5 Mar 2004 13:02:43 -0000       1.8
  +++ AbstractValidatorAction.java      16 Mar 2004 21:38:30 -0000      1.9
  @@ -21,9 +21,11 @@
   import org.apache.avalon.framework.parameters.Parameters;
   
   import org.apache.cocoon.Constants;
  +import org.apache.cocoon.ProcessingException;
   import org.apache.cocoon.environment.SourceResolver;
   import org.apache.cocoon.environment.ObjectModelHelper;
   import org.apache.cocoon.environment.Redirector;
  +import org.apache.cocoon.sitemap.SitemapParameters;
   import org.apache.cocoon.util.Tokenizer;
   
   import org.apache.regexp.RE;
  @@ -245,6 +247,12 @@
                       "Validating parameters " + "from given constraint-set " 
+ valsetstr);
               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());
  
  
  

Reply via email to