String valsetstr = (String) this.settings.get("validate-set");
String valstr = (String) this.settings.get("validate");
try {
Configuration conf = this.getConfiguration(
parameters.getParameter("descriptor", (String) this.settings.get("descriptor")),
resolver,
parameters.getParameterAsBoolean("reloadable", reloadable)
);
valstr = parameters.getParameter("validate", valstr);
valsetstr = parameters.getParameter("validate-set", valsetstr);
Configuration[] desc = conf.getChildren("parameter");
Configuration[] csets = conf.getChildren("constraint-set");
HashMap actionMap = new HashMap();
/*
* old obsoleted method
*/
if (!"".equals(valstr.trim())) {
if (getLogger().isDebugEnabled()) {
getLogger().debug("COOKIEVALIDATOR: validating parameters "
+ "as specified via 'validate' parameter");
}
/*
* get list of params to be validated
*/
String[] rparams = Tokenizer.tokenize(valstr, ",", false);
/*
* perform actuall validation
*/
ValidatorActionHelper result = null;
String name = null;
HashMap params = new HashMap(rparams.length);
/*
* put required params into hash
*/
for (int i = 0; i < rparams.length; i++) {
name = rparams[i];
if (name == null || "".equals(name.trim())) {
if (getLogger().isDebugEnabled()) {
getLogger().debug("COOKIEVALIDATOR: "
+ "wrong syntax of the 'validate' parameter");
}
return null;
}
name = name.trim();
/*
* String cookieValue = XSPCookieHelper.getValue(objectModel, name,-1) ;
* getLogger().debug("COOKIE(" + name + ")=" + cookieValue + "(" +
* XSPCookieHelper.getCookie (objectModel, name, -1).getValue()
* +")");
*/
params.put(name, XSPCookieHelper.getCookie(objectModel, name, -1).getValue());
}
for (int i = 0; i < rparams.length; i++) {
name = rparams[i].trim();
result = validateParameter(name, null, desc,
params, false);
if (!result.isOK()) {
if (getLogger().isDebugEnabled()) {
getLogger().debug("COOKIEVALIDATOR: "
+ "validation failed for parameter " + name);
}
return null;
}
actionMap.put(name, result.getObject());
}
}
/*
* new set-based method
*/
if (valsetstr != null && !"".equals(valsetstr.trim())) {
if (getLogger().isDebugEnabled()) {
getLogger().debug("COOKIEVALIDATOR: validating parameters "
+ "from given constraint-set " + valsetstr);
}
Configuration cset = null;
String setname = null;
int j = 0;
boolean found = false;
for (j = 0; j < csets.length; j++) {
setname = csets[j].getAttribute("name", "");
if (valsetstr.trim().equals(setname.trim())) {
found = true;
break;
}
}
if (!found) {
if (getLogger().isDebugEnabled()) {
getLogger().debug("COOKIEVALIDATOR: given set "
+ valsetstr
+ " does not exist in a description file");
}
return null;
}
cset = csets[j];
/*
* get the list of params to be validated
*/
Configuration[] set = cset.getChildren("validate");
/*
* perform actuall validation
*/
ValidatorActionHelper result = null;