Package org.strecks.controller.chain.command

Source Code of org.strecks.controller.chain.command.PopulateActionForm

package org.strecks.controller.chain.command;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionForm;
import org.apache.struts.chain.contexts.ActionContext;
import org.apache.struts.chain.contexts.ServletActionContext;
import org.apache.struts.config.ActionConfig;
import org.apache.struts.util.RequestUtils;
import org.strecks.form.handler.FormPopulateSource;
import org.strecks.form.handler.FormPopulateSourceImpl;

/**
* Replaces <code>PopulateActionForm</code> in chain
* @author Phil Zoio
*/
public class PopulateActionForm extends org.apache.struts.chain.commands.servlet.PopulateActionForm
{
 
  private FormPopulateSource formPopulateSource;

  public PopulateActionForm()
  {
    super();
    formPopulateSource = newFormPopulateSource();
  }

  protected FormPopulateSource newFormPopulateSource()
  {
    return new FormPopulateSourceImpl();
  }

  @Override
  protected void populate(ActionContext context, ActionConfig actionConfig, ActionForm actionForm) throws Exception
  {
    final ServletActionContext sc = (ServletActionContext) context;
    final ActionForm form = sc.getActionForm();
    final HttpServletRequest request = sc.getRequest();
    ActionForm wrappedForm = formPopulateSource.prePopulate(form, request);

        populateForm(actionConfig, request, wrappedForm);
  }

  protected void populateForm(ActionConfig actionConfig, final HttpServletRequest request, ActionForm wrappedForm) throws ServletException
  {
    RequestUtils.populate(wrappedForm, actionConfig.getPrefix(),
            actionConfig.getSuffix(), request);
  }

}
TOP

Related Classes of org.strecks.controller.chain.command.PopulateActionForm

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.