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 &lt;jsp:plugin&gt; 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