> -----Original Message-----
> From: Farr, Aaron [mailto:[EMAIL PROTECTED]
> I haven't had time to test this, since I have to run to an appointment,
> but
> here's a very simple avalon-struts solution:

Apparently the attachment got stripped or something.  Here's the class:

----------------  AvalonActionServlet.java  -----------------------------

package org.apache.avalon.struts;

import org.apache.struts.action.ActionServlet;
import org.apache.avalon.fortress.ContainerManager;
import org.apache.avalon.fortress.impl.DefaultContainerManager;
import org.apache.avalon.fortress.impl.DefaultContainer;
import org.apache.avalon.framework.container.ContainerUtil;
import org.apache.avalon.framework.service.ServiceManager;

import java.io.IOException;
import java.io.File;
import javax.servlet.ServletException;


public class AvalonActionServlet extends ActionServlet {

  public static final String SERVICE_MANAGER =
"org.apache.avalon.framework.service.ServiceManager";
  protected static final String CONTAINER_CLASS = "avalon.container.class";
  protected static final String CONTAINER_CONF = "avalon.container.conf";
  protected static final String LOGGER_CONF = "avalon.logger.conf";

  protected String m_containerClass =
"org.apache.avalon.fortress.impl.DefaultContainer";
  protected String m_containerConf = "/WEB-INF/system.xconf";
  protected String m_loggerConf = "/WEB-INF/system.xlog";
  protected ContainerManager m_containerManager;
  protected DefaultContainer m_container;
  protected ServiceManager m_manager;

  public AvalonActionServlet()
  {
  }


  public void init() throws ServletException {
    super.init();

    String containerClass = getInitParameter(CONTAINER_CLASS);
    String containerConf = getInitParameter(CONTAINER_CONF);
    String loggerConf = getInitParameter(LOGGER_CONF);

    if(containerClass != null)
      m_containerClass = containerClass;

    if(containerConf != null)
      m_containerConf = containerConf;

    if(loggerConf != null)
      m_loggerConf = loggerConf;

    try
    {
        final org.apache.avalon.fortress.util.FortressConfig config = new
org.apache.avalon.fortress.util.FortressConfig();
        config.setContainerClass( m_containerClass );
        config.setContextDirectory( getServletContext().getRealPath("/") );
        config.setWorkDirectory( (File) getServletContext().getAttribute(
"javax.servlet.context.tempdir" ) );
        config.setContainerConfiguration( m_containerConf );
        config.setLoggerManagerConfiguration( m_loggerConf );

        m_containerManager = new DefaultContainerManager(
config.getContext() );
        ContainerUtil.initialize( m_containerManager );

        m_container = (DefaultContainer) m_containerManager.getContainer();
        m_manager = m_container.getServiceManager();

        getServletContext().setAttribute(SERVICE_MANAGER,m_manager);

    }
    catch( Exception e )
    {
        throw new ServletException( "Error during initialization", e );
    }
  }

  public void destroy(){
    super.destroy();

    ContainerUtil.dispose(m_containerManager);

  }

}


----------------

jaaron

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to