You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2005/04/04 13:11:51 UTC
cvs commit: jakarta-tomcat-catalina/webapps/docs changelog.xml jasper-howto.xml
remm 2005/04/04 04:11:51
Modified: jasper2/src/share/org/apache/jasper/servlet JspServlet.java
webapps/docs changelog.xml jasper-howto.xml
Log:
- 34272: Add options class configuration.
- Submitted by Scott Stark.
Revision Changes Path
1.42 +36 -13 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/servlet/JspServlet.java
Index: JspServlet.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/servlet/JspServlet.java,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -r1.41 -r1.42
--- JspServlet.java 21 Mar 2005 15:38:12 -0000 1.41
+++ JspServlet.java 4 Apr 2005 11:11:50 -0000 1.42
@@ -17,6 +17,7 @@
package org.apache.jasper.servlet;
import java.io.IOException;
+import java.lang.reflect.Constructor;
import java.util.Enumeration;
import javax.servlet.ServletConfig;
@@ -66,20 +67,42 @@
* Initializes this JspServlet.
*/
public void init(ServletConfig config) throws ServletException {
-
- super.init(config);
- this.config = config;
- this.context = config.getServletContext();
-
+
+ super.init(config);
+ this.config = config;
+ this.context = config.getServletContext();
+
// Initialize the JSP Runtime Context
- options = new EmbeddedServletOptions(config, context);
- rctxt = new JspRuntimeContext(context,options);
-
- if (log.isDebugEnabled()) {
- log.debug(Localizer.getMessage("jsp.message.scratch.dir.is",
- options.getScratchDir().toString()));
- log.debug(Localizer.getMessage("jsp.message.dont.modify.servlets"));
- }
+ // Check for a custom Options implementation
+ String engineOptionsName =
+ config.getInitParameter("engineOptionsClass");
+ if (engineOptionsName != null) {
+ // Instantiate the indicated Options implementation
+ try {
+ ClassLoader loader = Thread.currentThread()
+ .getContextClassLoader();
+ Class engineOptionsClass = loader.loadClass(engineOptionsName);
+ Class[] ctorSig = { ServletConfig.class, ServletContext.class };
+ Constructor ctor = engineOptionsClass.getConstructor(ctorSig);
+ Object[] args = { config, context };
+ options = (Options) ctor.newInstance(args);
+ } catch (Throwable e) {
+ // Need to localize this.
+ log.warn("Failed to load engineOptionsClass", e);
+ // Use the default Options implementation
+ options = new EmbeddedServletOptions(config, context);
+ }
+ } else {
+ // Use the default Options implementation
+ options = new EmbeddedServletOptions(config, context);
+ }
+ rctxt = new JspRuntimeContext(context, options);
+
+ if (log.isDebugEnabled()) {
+ log.debug(Localizer.getMessage("jsp.message.scratch.dir.is",
+ options.getScratchDir().toString()));
+ log.debug(Localizer.getMessage("jsp.message.dont.modify.servlets"));
+ }
}
1.281 +9 -0 jakarta-tomcat-catalina/webapps/docs/changelog.xml
Index: changelog.xml
===================================================================
RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/docs/changelog.xml,v
retrieving revision 1.280
retrieving revision 1.281
diff -u -r1.280 -r1.281
--- changelog.xml 3 Apr 2005 16:06:11 -0000 1.280
+++ changelog.xml 4 Apr 2005 11:11:51 -0000 1.281
@@ -68,6 +68,10 @@
Read patch causing Session.getId to throw an ISE, and make all internal components
use a safe getIdInternal method (remm)
</update>
+ <update>
+ Store principal to be exposed for Request.getUserPrincipal inside the GenericPrincipal,
+ to remove hacks from the JAAS realm (remm)
+ </update>
</changelog>
</subsection>
@@ -76,8 +80,13 @@
<fix>
<bug>18477</bug>: Allow symbolic links when precompiling JSPs (markt)
</fix>
+ <add>
+ <bug>34727</bug>: Allow specifying the Option class used by the Jasper engine,
+ submitted by Scott Stark (remm)
+ </add>
</changelog>
</subsection>
+
<subsection name="Cluster">
<changelog>
<update>
1.26 +5 -0 jakarta-tomcat-catalina/webapps/docs/jasper-howto.xml
Index: jasper-howto.xml
===================================================================
RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/docs/jasper-howto.xml,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- jasper-howto.xml 30 Mar 2005 16:52:52 -0000 1.25
+++ jasper-howto.xml 4 Apr 2005 11:11:51 -0000 1.26
@@ -99,6 +99,11 @@
enabled. <code>true</code> or <code>false</code>, default <code>true</code>.
</li>
+<li><strong>engineOptionsClass</strong> - Allows specifying the Options class
+used to configure Jasper. If not present, the default EmbeddedServletOptions
+will be used.
+</li>
+
<li><strong>ieClassId</strong> - The class-id value to be sent to Internet
Explorer when using <jsp:plugin> tags. Default
<code>clsid:8AD9C840-044E-11D1-B3E9-00805F499D93</code>.</li>
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org