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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]