}
if (NumberTools.toBool(request.getParameter("AKTERA_auto"), false))
{
String bean = cmdPage != null && cmdPage.getModel() != null ? cmdPage.getModel() : cmdEdit.getModel();
BeanRequest newRequest = new BeanRequest();
newRequest.setBean(bean);
newRequest.setLocale(request.getLocale());
newRequest.setUserEnvironment(request.getUserEnvironment());
for (Iterator i = request.getParameters().keySet().iterator(); i.hasNext();)
{
String key = (String) i.next();
if (! "model".equals(key) && ! "SEQUENCE_NAME".equals(key) && ! "SEQUENCE_NUMBER".equals(key))
{
newRequest.setParameter(key, request.getParameters().get(key));
}
}
newRequest.setParameter(keyName, id);
newRequest.setParameter("reedit", "Y");
if (request.getParameter("ajax") != null)
{
newRequest.setParameter("ajax", "Y");
}
redirect(bean, newRequest, response);
return;
}
handler.preStorePersistents(wrappedRequest, formular, formular.getPersistents(), new Boolean(modified));
if (request.getParameter(NO_FORM_STORE) == null && validate
&& ! NumberTools.toBool(request.getParameter(SYSTEM_EDIT), false))
{
ValidationResult result = null;
try
{
result = FormTools.validateInput(wrappedRequest, wrappedResponse, formular, formular
.getPersistents());
handler.validatePersistents(persistentConfig, wrappedRequest, wrappedResponse, formular, formular
.getPersistents(), NumberTools.toInt(id, - 1) == - 1, result);
}
catch (Exception x)
{
System.out.println("[Save] Error while validating input: " + x);
x.printStackTrace();
}
if (result.hasErrors())
{
formular.setPage(Math.max(formular.getPageWithField(result.getFirstErrorField(formular).replaceAll(
"_", ".")), 0));
}
result.createResponseElements(wrappedResponse, formular);
if (result.hasErrors())
{
if (! NumberTools.toBool(request.getParameter(SYSTEM_EDIT), false))
{
BeanRequest newRequest = new BeanRequest();
newRequest.setBean(cmdEdit.getModel());
newRequest.setLocale(request.getLocale());
newRequest.setUserEnvironment(request.getUserEnvironment());
newRequest.setParameter(keyName, id);
newRequest.setParameter("error", result.getFirstErrorField(formular));
redirect(cmdEdit.getModel(), newRequest, response);
return;
}
else
{
return;
}
}
}
if (NumberTools.toInt(id, - 1) != - 1)
{
try
{
handler.updatePersistents(wrappedRequest, formular, formular.getPersistents(), persistentConfig,
modified);
}
catch (Exception x)
{
logger.error("Unable to update persistents: " + x);
throw new ModelException(x);
}
if (! preserveContext)
{
UserTools.removeContextObject(wrappedRequest, persistentsId);
}
}
else
{
id = new Integer(handler.createPersistents(wrappedRequest, formular, formular.getPersistents(),
persistentConfig));
if (NumberTools.toInt(id, - 1) != - 1)
{
if (! preserveContext)
{
UserTools.removeContextObject(wrappedRequest, FormTools.createContextKey(contextId, - 1));
}
else
{
UserTools.setContextObject(wrappedRequest, FormTools.createContextKey(contextId, id), formular);
}
}
}
if (! NumberTools.toBool(request.getParameter(SYSTEM_EDIT), false))
{
context.setSaveId(id);
BeanRequest newRequest = new BeanRequest();
cmdOk.setParameters(newRequest, context);
newRequest.setBean(cmdOk.getModel());
newRequest.setLocale(request.getLocale());
newRequest.setUserEnvironment(request.getUserEnvironment());
redirect(cmdOk.getModel(), newRequest, response);
return;
}
else
{