String[] tokens = tokenize(mapping.getParameter());
// Create our ProcessBean helper
Object helper = createHelperObject(request,tokens[0]);
servlet.log(Log.HELPER_EXECUTING,Log.DEBUG);
ProcessBean dataBean = (ProcessBean) helper;
// Pass along the helper's parameter, if any
if (tokens.length>2) {
dataBean.setParameter(tokens[2]);
}
properties = null;
if (null!=form) {
if (form instanceof BaseForm) {
BaseForm formBean = (BaseForm) form;
// Merge user profile (if found)
// and our form into a single map
servlet.log(Log.HELPER_POPULATE,Log.DEBUG);
properties = formBean.merge(userBean);
// Pass up the Locale and RemoteServer (if any)
dataBean.setLocale(formBean.getSessionLocale());
dataBean.setRemoteServer(getRemoteServer());
}
else {
properties = PropertyUtils.describe(form);
}
} // end null form
else if (null!=userBean) {
// if no form, but is profile, still use profile
properties = PropertyUtils.describe(userBean);
}
// Execute business logic, using values from map
servlet.log(Log.HELPER_EXECUTING,Log.DEBUG);
Method method = dataBean.getClass().getMethod(tokens[1],types);
Object args[] = { properties };
ProcessResult result = null;
try {