package org.strecks.controller.chain.command;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.chain.contexts.ActionContext;
import org.apache.struts.chain.contexts.ServletActionContext;
import org.strecks.form.handler.FormValidationHandler;
import org.strecks.form.handler.FormValidationHandlerImpl;
/**
* Replaces <code>ValidateActionForm</code> in chain
* @author Phil Zoio
*/
public class ValidateActionForm extends org.apache.struts.chain.commands.servlet.ValidateActionForm
{
private FormValidationHandler formValidationHandler;
public ValidateActionForm()
{
super();
formValidationHandler = newFormValidationHandler();
}
protected FormValidationHandler newFormValidationHandler()
{
return new FormValidationHandlerImpl();
}
@Override
public boolean execute(ActionContext context) throws Exception
{
super.execute(context);
postExecute(context);
return false;
}
void postExecute(ActionContext context)
{
ServletActionContext sc = (ServletActionContext) context;
final HttpServletRequest request = sc.getRequest();
final ActionMapping actionConfig = (ActionMapping) sc.getActionConfig();
final Boolean formValid = context.getFormValid();
formValidationHandler.postValidate(request, actionConfig, formValid);
}
}