rleland     2002/11/08 23:11:21

  Modified:    src/share/org/apache/struts/action ActionServlet.java
               src/share/org/apache/struts/taglib/template InsertTag.java
               src/share/org/apache/struts/tiles
                        StrutsModulesTilesUtilImpl.java TilesPlugin.java
               src/share/org/apache/struts/validator Resources.java
                        ValidatorPlugIn.java
  Log:
  Bug 14054
  Make use of PlugInPatch Interface
  and remove additional referances to ApplicationConfig.
  Test struts-validator & tiles-documentation apps
  under Tomcat 4.0.6
  
  Revision  Changes    Path
  1.127     +15 -9     
jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java
  
  Index: ActionServlet.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java,v
  retrieving revision 1.126
  retrieving revision 1.127
  diff -u -r1.126 -r1.127
  --- ActionServlet.java        8 Nov 2002 05:39:24 -0000       1.126
  +++ ActionServlet.java        9 Nov 2002 07:11:21 -0000       1.127
  @@ -101,6 +101,7 @@
   import org.apache.struts.config.ForwardConfig;
   import org.apache.struts.config.MessageResourcesConfig;
   import org.apache.struts.config.PlugInConfig;
  +import org.apache.struts.config.ModuleConfig;
   import org.apache.struts.util.GenericDataSource;
   import org.apache.struts.util.MessageResources;
   import org.apache.struts.util.MessageResourcesFactory;
  @@ -981,15 +982,20 @@
                       (plugInConfigs[i].getClassName());
                   BeanUtils.populate(plugIns[i],
                                      plugInConfigs[i].getProperties());
  -                plugIns[i].init(this, config);
  +                if (plugIns[i] instanceof PlugInPatch) {
  +                    ((PlugInPatch)plugIns[i]).init(this, (ModuleConfig)config);
  +                }
  +                else  {
  +                    plugIns[i].init(this, config);
  +                }
               } catch (ServletException e) {
                 // Lets propagate
                   throw e;
               } catch (Exception e) {
  -                e.printStackTrace();
  -                throw new UnavailableException
  -                    (internal.getMessage("plugIn.init",
  -                                         plugInConfigs[i].getClassName()));
  +                String errMsg = internal.getMessage("plugIn.init",
  +                                         plugInConfigs[i].getClassName());
  +                log(errMsg,e);
  +                throw new UnavailableException(errMsg);
               }
           }
   
  
  
  
  1.15      +9 -9      
jakarta-struts/src/share/org/apache/struts/taglib/template/InsertTag.java
  
  Index: InsertTag.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/template/InsertTag.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- InsertTag.java    30 Oct 2002 02:31:38 -0000      1.14
  +++ InsertTag.java    9 Nov 2002 07:11:21 -0000       1.15
  @@ -61,16 +61,16 @@
   package org.apache.struts.taglib.template;
   
   import java.io.IOException;
  -import java.util.Hashtable;
  -import java.util.Stack;
   import javax.servlet.ServletException;
   import javax.servlet.jsp.JspException;
   import javax.servlet.jsp.PageContext;
   import javax.servlet.jsp.tagext.TagSupport;
   import org.apache.struts.action.Action;
  -import org.apache.struts.config.ApplicationConfig;
  -import org.apache.struts.taglib.template.util.*;
  +import org.apache.struts.config.ModuleConfig;
   import org.apache.struts.util.RequestUtils;
  +import org.apache.struts.taglib.template.util.ContentMap;
  +import org.apache.struts.taglib.template.util.ContentMapStack;
  +import org.apache.struts.taglib.template.util.Content;
   
   /**
    * This is the tag handler for <template:insert>, which includes 
  @@ -153,7 +153,7 @@
      public int doEndTag() throws JspException {
   
         String prefix = "";
  -      ApplicationConfig config = RequestUtils.getModuleConfig(pageContext);
  +      ModuleConfig config = RequestUtils.getModuleConfig(pageContext);
         if (config != null) {
             prefix = config.getPrefix();
         }
  
  
  
  1.2       +15 -15    
jakarta-struts/src/share/org/apache/struts/tiles/StrutsModulesTilesUtilImpl.java
  
  Index: StrutsModulesTilesUtilImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-struts/src/share/org/apache/struts/tiles/StrutsModulesTilesUtilImpl.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- StrutsModulesTilesUtilImpl.java   5 Nov 2002 14:16:41 -0000       1.1
  +++ StrutsModulesTilesUtilImpl.java   9 Nov 2002 07:11:21 -0000       1.2
  @@ -65,7 +65,7 @@
   import org.apache.struts.tiles.TilesRequestProcessor;
   
   import org.apache.struts.util.RequestUtils;
  -import org.apache.struts.config.ApplicationConfig;
  +import org.apache.struts.config.ModuleConfig;
   import org.apache.struts.action.Action;
   
   import javax.servlet.*;
  @@ -131,8 +131,8 @@
        */
     public DefinitionsFactory getDefinitionsFactory(ServletRequest request, 
ServletContext servletContext)
     {
  -  ApplicationConfig appConfig = getModuleConfig( (HttpServletRequest)request, 
servletContext);
  -  return 
(DefinitionsFactory)servletContext.getAttribute(DEFINITIONS_FACTORY+appConfig.getPrefix()
 );
  +  ModuleConfig moduleConfig = getModuleConfig( (HttpServletRequest)request, 
servletContext);
  +  return 
(DefinitionsFactory)servletContext.getAttribute(DEFINITIONS_FACTORY+moduleConfig.getPrefix()
 );
     }
   
       /**
  @@ -176,27 +176,27 @@
      */
    protected TilesRequestProcessor getRequestProcessor(HttpServletRequest request, 
ServletContext servletContext)
     {
  -  ApplicationConfig appConfig = getModuleConfig( request, servletContext);
  -  return 
(TilesRequestProcessor)servletContext.getAttribute(Action.REQUEST_PROCESSOR_KEY+appConfig.getPrefix()
 );
  +  ModuleConfig moduleConfig = getModuleConfig( request, servletContext);
  +  return 
(TilesRequestProcessor)servletContext.getAttribute(Action.REQUEST_PROCESSOR_KEY+moduleConfig.getPrefix()
 );
     }
   
     /**
  -   * Get the current ApplicationConfig.
  +   * Get the current ModuleConfig.
      * <br>
      * Lookup in the request, and do selectApplication if not found. The side effect
      * is that the Application object is set in the request if it was not present.
      */
  - protected ApplicationConfig getModuleConfig(HttpServletRequest request, 
ServletContext servletContext)
  + protected ModuleConfig getModuleConfig(HttpServletRequest request, ServletContext 
servletContext)
     {
  -  ApplicationConfig appConfig = RequestUtils.getModuleConfig( request, 
servletContext);
  -  if(appConfig==null)
  +  ModuleConfig moduleConfig = RequestUtils.getModuleConfig( request, 
servletContext);
  +  if(moduleConfig==null)
       {
  -      // ApplicationConfig not found in current request. Select it.
  +      // ModuleConfig not found in current request. Select it.
       RequestUtils.selectApplication(request, servletContext);
  -    appConfig = RequestUtils.getModuleConfig( request, servletContext);
  +    moduleConfig = RequestUtils.getModuleConfig( request, servletContext);
       }
   
  -  return appConfig;
  +  return moduleConfig;
     }
   
   }
  
  
  
  1.8       +29 -10    
jakarta-struts/src/share/org/apache/struts/tiles/TilesPlugin.java
  
  Index: TilesPlugin.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-struts/src/share/org/apache/struts/tiles/TilesPlugin.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- TilesPlugin.java  5 Nov 2002 14:15:53 -0000       1.7
  +++ TilesPlugin.java  9 Nov 2002 07:11:21 -0000       1.8
  @@ -69,6 +69,7 @@
   import org.apache.struts.config.ControllerConfig;
   import org.apache.struts.action.ActionServlet;
   import org.apache.struts.action.RequestProcessor;
  +import org.apache.struts.action.PlugInPatch;
   
   import org.apache.commons.logging.Log;
   import org.apache.commons.logging.LogFactory;
  @@ -78,6 +79,7 @@
   import javax.servlet.ServletException;
   import javax.servlet.UnavailableException;
   import org.apache.struts.config.ApplicationConfig;
  +import org.apache.struts.config.ModuleConfig;
   
   
   /**
  @@ -104,7 +106,7 @@
    * @author Cedric Dumoulin
    * @since 1.1
    */
  -public class TilesPlugin implements PlugIn {
  +public class TilesPlugin implements PlugIn,PlugInPatch {
   
     /** Commons Logging instance. */
       protected static Log log = LogFactory.getLog(TilesPlugin.class);
  @@ -128,13 +130,30 @@
        * Set the module aware flag.
        * true: user want a single factory instance
        * false: user want multiple factory instance (one per module with Struts)
  -     * @param singleFactoryInstance
  +     * @param moduleAware
        */
     public void setModuleAware(boolean moduleAware)
     {
       this.moduleAware = moduleAware;
     }
   
  +    /**
  +     * <p>Receive notification that the specified module is being
  +     * started up.</p>
  +     *
  +     * @param servlet ActionServlet that is managing all the modules
  +     *  in this web application
  +     * @param config ApplicationConfig for the module with which
  +     *  this plug in is associated
  +     *
  +     * @exception ServletException if this <code>PlugIn</code> cannot
  +     *  be successfully initialized
  +     */
  +    public void init(ActionServlet servlet, ApplicationConfig config)
  +        throws ServletException
  +    {
  +        init(servlet,(ModuleConfig)config);
  +    }
     /**
      * <p>Receive notification that the specified module is being
      * started up.</p>
  @@ -147,13 +166,13 @@
      * @exception ServletException if this <code>PlugIn</code> cannot
      *  be successfully initialized
      */
  -  public void init(ActionServlet servlet, ApplicationConfig config)
  +  public void init(ActionServlet servlet, ModuleConfig config)
         throws ServletException
     {
       // Create factory config object
     DefinitionsFactoryConfig factoryConfig = readFactoryConfig(servlet, config);
       // Set RequestProcessor class
  -  initRequestProcessorClass( config );
  +  initRequestProcessorClass(config);
   
       // Check if user want one single factory instance for all module,
       // or one factory for each module. Set the appropriate TilesUtil
  @@ -211,7 +230,7 @@
      * @exception ServletException if this <code>PlugIn</code> cannot
      *  be successfully initialized
      */
  -  protected DefinitionsFactoryConfig readFactoryConfig(ActionServlet servlet, 
ApplicationConfig config)
  +  protected DefinitionsFactoryConfig readFactoryConfig(ActionServlet servlet, 
ModuleConfig config)
         throws ServletException
     {
       // Create tiles definitions config object
  @@ -256,7 +275,7 @@
      * @exception ServletException if this <code>PlugIn</code> cannot
      *  be successfully initialized
      */
  -  protected Map findStrutsPlugInConfigProperties(ActionServlet servlet, 
ApplicationConfig config)
  +  protected Map findStrutsPlugInConfigProperties(ActionServlet servlet, 
ModuleConfig config)
         throws ServletException
     {
     PlugIn plugIns[] = (PlugIn[])servlet.getServletContext().getAttribute( 
Action.PLUG_INS_KEY + config.getPrefix() );
  @@ -287,7 +306,7 @@
      *  this plug in is associated
      * @throws ServletException If an error occur
      */
  -  protected void initRequestProcessorClass( ApplicationConfig config )
  +  protected void initRequestProcessorClass( ModuleConfig config )
       throws ServletException
     {
     String tilesProcessorClassname = TilesRequestProcessor.class.getName();
  
  
  
  1.4       +10 -8     
jakarta-struts/src/share/org/apache/struts/validator/Resources.java
  
  Index: Resources.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-struts/src/share/org/apache/struts/validator/Resources.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Resources.java    8 Nov 2002 05:39:25 -0000       1.3
  +++ Resources.java    9 Nov 2002 07:11:21 -0000       1.4
  @@ -64,18 +64,20 @@
   import java.util.Locale;
   import javax.servlet.ServletContext;
   import javax.servlet.http.HttpServletRequest;
  +
   import org.apache.struts.action.Action;
   import org.apache.struts.action.ActionError;
   import org.apache.struts.action.ActionErrors;
  +import org.apache.struts.config.ModuleConfig;
   import org.apache.struts.util.MessageResources;
  +import org.apache.struts.validator.ValidatorPlugIn;
  +import org.apache.struts.Globals;
  +
   import org.apache.commons.validator.Arg;
   import org.apache.commons.validator.Field;
   import org.apache.commons.validator.Validator;
   import org.apache.commons.validator.ValidatorAction;
   import org.apache.commons.validator.ValidatorResources;
  -import org.apache.struts.validator.ValidatorPlugIn;
  -import org.apache.struts.config.ApplicationConfig;
  -import org.apache.struts.Globals;
   
   
   /**
  @@ -125,7 +127,7 @@
      */
      public static ValidatorResources getValidatorResources(ServletContext 
application,HttpServletRequest request) {
         return (ValidatorResources) 
application.getAttribute(ValidatorPlugIn.VALIDATOR_KEY +
  -                           
((ApplicationConfig)request.getAttribute(Globals.MODULE_KEY)).getPrefix());
  +                           
((ModuleConfig)request.getAttribute(Globals.MODULE_KEY)).getPrefix());
      }
   
      /**
  
  
  
  1.12      +6 -5      
jakarta-struts/src/share/org/apache/struts/validator/ValidatorPlugIn.java
  
  Index: ValidatorPlugIn.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-struts/src/share/org/apache/struts/validator/ValidatorPlugIn.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- ValidatorPlugIn.java      8 Nov 2002 05:39:25 -0000       1.11
  +++ ValidatorPlugIn.java      9 Nov 2002 07:11:21 -0000       1.12
  @@ -76,6 +76,7 @@
   import org.apache.commons.validator.ValidatorResourcesInitializer;
   import org.apache.struts.action.ActionServlet;
   import org.apache.struts.action.PlugIn;
  +import org.apache.struts.action.PlugInPatch;
   import org.apache.struts.config.ApplicationConfig;
   import org.apache.struts.config.ModuleConfig;
   
  @@ -88,7 +89,7 @@
    * @version $Revision$ $Date$
    * @since Struts 1.1
    */
  -public class ValidatorPlugIn implements PlugIn {
  +public class ValidatorPlugIn implements PlugIn,PlugInPatch {
   
       /**
        * Commons Logging instance.
  
  
  

--
To unsubscribe, e-mail:   <mailto:struts-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:struts-dev-help@;jakarta.apache.org>

Reply via email to