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>