kinman      2003/03/28 18:15:18

  Modified:    jasper2/src/share/org/apache/jasper/servlet JspServlet.java
  Added:       jasper2/src/share/org/apache/jasper
                        EmbeddedServletOptions.java
  Removed:     jasper2/src/share/org/apache/jasper
                        EmbededServletOptions.java
  Log:
  - Rename EmbededServletOptions.java to EmbeddedServletOptions.java
  
  Revision  Changes    Path
  1.1                  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/EmbeddedServletOptions.java
  
  Index: EmbeddedServletOptions.java
  ===================================================================
  /*
   * $Header: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/EmbeddedServletOptions.java,v
 1.1 2003/03/29 02:15:18 kinman Exp $
   * $Revision: 1.1 $
   * $Date: 2003/03/29 02:15:18 $
   *
   * ====================================================================
   * 
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999 The Apache Software Foundation.  All rights 
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer. 
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution, if
   *    any, must include the following acknowlegement:  
   *       "This product includes software developed by the 
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowlegement may appear in the software itself,
   *    if and wherever such third-party acknowlegements normally appear.
   *
   * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
   *    Foundation" must not be used to endorse or promote products derived
   *    from this software without prior written permission. For written 
   *    permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache"
   *    nor may "Apache" appear in their names without prior written
   *    permission of the Apache Group.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   */ 
  
  package org.apache.jasper;
  
  import java.io.File;
  import java.util.*;
  
  import javax.servlet.ServletConfig;
  import javax.servlet.ServletContext;
  
  import org.apache.jasper.compiler.TldLocationsCache;
  import org.apache.jasper.compiler.JspConfig;
  import org.apache.jasper.compiler.TagPluginManager;
  import org.apache.jasper.compiler.Localizer;
  import org.apache.jasper.xmlparser.ParserUtils;
  import org.apache.commons.logging.Log;
  import org.apache.commons.logging.LogFactory;
  
  /**
   * A class to hold all init parameters specific to the JSP engine. 
   *
   * @author Anil K. Vijendran
   * @author Hans Bergsten
   * @author Pierre Delisle
   */
  public final class EmbeddedServletOptions implements Options {
  
      // Logger
      private static Log log = LogFactory.getLog(EmbeddedServletOptions.class);
  
      private Properties settings = new Properties();
      
      /**
       * Is Jasper being used in development mode?
       */
      private boolean development = true;
  
      /**
       * Should Ant fork its java compiles of JSP pages.
       */
      public boolean fork = true;
  
      /**
       * Do you want to keep the generated Java files around?
       */
      private boolean keepGenerated = true;
  
      /**
       * Do you want support for "large" files? What this essentially
       * means is that we generated code so that the HTML data in a JSP
       * file is stored separately as opposed to those constant string
       * data being used literally in the generated servlet. 
       */
      private boolean largeFile = false;
  
      /**
       * Determines whether tag handler pooling is enabled.
       */
      private boolean isPoolingEnabled = true;
  
       /**
        * Tag handler pool size.
        */
      private int tagPoolSize;
      
      /**
       * Do you want support for "mapped" files? This will generate
       * servlet that has a print statement per line of the JSP file.
       * This seems like a really nice feature to have for debugging.
       */
      private boolean mappedFile = false;
      
      /**
       * Do you want stack traces and such displayed in the client's
       * browser? If this is false, such messages go to the standard
       * error or a log file if the standard error is redirected. 
       */
      private boolean sendErrorToClient = false;
  
      /**
       * Do we want to include debugging information in the class file?
       */
      private boolean classDebugInfo = true;
  
      /**
       * Background compile thread check interval in seconds.
       */
      private int checkInterval = 300;
  
      /**
       * JSP reloading check ?
       */
      private boolean reloading = true;
  
      /**
       * Is the generation of SMAP info for JSR45 debuggin suppressed?
       */
      private boolean suppressSmap = false;
  
      /**
       * I want to see my generated servlets. Which directory are they
       * in?
       */
      private File scratchDir;
      
      /**
       * Need to have this as is for versions 4 and 5 of IE. Can be set from
       * the initParams so if it changes in the future all that is needed is
       * to have a jsp initParam of type ieClassId="<value>"
       */
      private String ieClassId = "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93";
  
      /**
       * What classpath should I use while compiling generated servlets?
       */
      private String classpath = null;
      
      /**
       * Compiler to use.
       */
      private String compiler = null;
  
      /**
       * Cache for the TLD locations
       */
      private TldLocationsCache tldLocationsCache = null;
  
      /**
       * Jsp config information
       */
      private JspConfig jspConfig = null;
  
      /**
       * TagPluginManager
       */
      private TagPluginManager tagPluginManager = null;
  
      /**
       * Java platform encoding to generate the JSP
       * page servlet.
       */
      private String javaEncoding = "UTF8";
  
      public String getProperty(String name ) {
          return settings.getProperty( name );
      }
  
      public void setProperty(String name, String value ) {
          if (name != null && value != null){ 
              settings.setProperty( name, value );
          }
      }
      
      /**
       * Are we keeping generated code around?
       */
      public boolean getKeepGenerated() {
          return keepGenerated;
      }
      
      /**
       * Are we supporting large files?
       */
      public boolean getLargeFile() {
          return largeFile;
      }
      
      public boolean isPoolingEnabled() {
        return isPoolingEnabled;
      }
  
      /**
       * Returns the tag handler pool size.
       */
      public int getTagPoolSize() {
        return tagPoolSize;
      }
  
      /**
       * Are we supporting HTML mapped servlets?
       */
      public boolean getMappedFile() {
          return mappedFile;
      }
      
      /**
       * Should errors be sent to client or thrown into stderr?
       */
      public boolean getSendErrorToClient() {
          return sendErrorToClient;
      }
   
      /**
       * Should class files be compiled with debug information?
       */
      public boolean getClassDebugInfo() {
          return classDebugInfo;
      }
  
      /**
       * Background JSP compile thread check intervall
       */
      public int getCheckInterval() {
          return checkInterval;
      }
  
      /**
       * Is Jasper being used in development mode?
       */
      public boolean getDevelopment() {
          return development;
      }
  
      /**
       * JSP reloading check ?
       */
      public boolean getReloading() {
          return reloading;
      }
  
      /**
       * Is the generation of SMAP info for JSR45 debuggin suppressed?
       */
      public boolean suppressSmap() {
          return suppressSmap;
      }
  
      /**
       * Class ID for use in the plugin tag when the browser is IE. 
       */
      public String getIeClassId() {
          return ieClassId;
      }
      
      /**
       * What is my scratch dir?
       */
      public File getScratchDir() {
          return scratchDir;
      }
  
      /**
       * What classpath should I use while compiling the servlets
       * generated from JSP files?
       */
      public String getClassPath() {
          return classpath;
      }
  
      /**
       * Compiler to use.
       */
      public String getCompiler() {
          return compiler;
      }
  
  
      public TldLocationsCache getTldLocationsCache() {
        return tldLocationsCache;
      }
  
      public void setTldLocationsCache( TldLocationsCache tldC ) {
          tldLocationsCache = tldC;
      }
  
      public String getJavaEncoding() {
        return javaEncoding;
      }
  
      public boolean getFork() {
          return fork;
      }
  
      public JspConfig getJspConfig() {
        return jspConfig;
      }
  
      public TagPluginManager getTagPluginManager() {
        return tagPluginManager;
      }
  
      /**
       * Create an EmbeddedServletOptions object using data available from
       * ServletConfig and ServletContext. 
       */
      public EmbeddedServletOptions(ServletConfig config,
                                 ServletContext context) {
  
        this.tagPoolSize = Constants.MAX_POOL_SIZE;
  
          Enumeration enum=config.getInitParameterNames();
          while( enum.hasMoreElements() ) {
              String k=(String)enum.nextElement();
              String v=config.getInitParameter( k );
              setProperty( k, v);
          }
  
          // quick hack
          String validating=config.getInitParameter( "validating");
          if( "false".equals( validating )) ParserUtils.validating=false;
          
          String keepgen = config.getInitParameter("keepgenerated");
          if (keepgen != null) {
              if (keepgen.equalsIgnoreCase("true")) {
                  this.keepGenerated = true;
              } else if (keepgen.equalsIgnoreCase("false")) {
                  this.keepGenerated = false;
              } else {
                if (log.isWarnEnabled()) {
                    log.warn(Localizer.getMessage("jsp.warning.keepgen"));
                }
            }
          }
              
  
          String largeFile = config.getInitParameter("largefile"); 
          if (largeFile != null) {
              if (largeFile.equalsIgnoreCase("true")) {
                  this.largeFile = true;
              } else if (largeFile.equalsIgnoreCase("false")) {
                  this.largeFile = false;
              } else {
                if (log.isWarnEnabled()) {
                    log.warn(Localizer.getMessage("jsp.warning.largeFile"));
                }
            }
          }
        
        this.isPoolingEnabled = true;
          String poolingEnabledParam
            = config.getInitParameter("enablePooling"); 
          if (poolingEnabledParam != null
                && !poolingEnabledParam.equalsIgnoreCase("true")) {
              if (poolingEnabledParam.equalsIgnoreCase("false")) {
                  this.isPoolingEnabled = false;
              } else {
                if (log.isWarnEnabled()) {
                    log.warn(Localizer.getMessage("jsp.warning.enablePooling"));
                }                          
            }
          }
  
          String tagPoolSizeParam = config.getInitParameter("tagPoolSize");
          if (tagPoolSizeParam != null) {
              try {
                  this.tagPoolSize = Integer.parseInt(tagPoolSizeParam);
                  if (this.tagPoolSize <= 0) {
                      this.tagPoolSize = Constants.MAX_POOL_SIZE;
                    if (log.isWarnEnabled()) {
                        log.warn(Localizer.getMessage("jsp.warning.invalidTagPoolSize",
                                                      
Integer.toString(Constants.MAX_POOL_SIZE)));
                    }
                  }
              } catch(NumberFormatException ex) {
                if (log.isWarnEnabled()) {
                    log.warn(Localizer.getMessage("jsp.warning.invalidTagPoolSize",
                                                  
Integer.toString(Constants.MAX_POOL_SIZE)));
                }
              }
          }
  
          String mapFile = config.getInitParameter("mappedfile"); 
          if (mapFile != null) {
              if (mapFile.equalsIgnoreCase("true")) {
                  this.mappedFile = true;
              } else if (mapFile.equalsIgnoreCase("false")) {
                  this.mappedFile = false;
              } else {
                if (log.isWarnEnabled()) {
                    log.warn(Localizer.getMessage("jsp.warning.mappedFile"));
                }
            }
          }
        
          String senderr = config.getInitParameter("sendErrToClient");
          if (senderr != null) {
              if (senderr.equalsIgnoreCase("true")) {
                  this.sendErrorToClient = true;
              } else if (senderr.equalsIgnoreCase("false")) {
                  this.sendErrorToClient = false;
              } else {
                if (log.isWarnEnabled()) {
                    log.warn(Localizer.getMessage("jsp.warning.sendErrToClient"));
                }
            }
          }
  
          String debugInfo = config.getInitParameter("classdebuginfo");
          if (debugInfo != null) {
              if (debugInfo.equalsIgnoreCase("true")) {
                  this.classDebugInfo  = true;
              } else if (debugInfo.equalsIgnoreCase("false")) {
                  this.classDebugInfo  = false;
              } else {
                if (log.isWarnEnabled()) {
                    log.warn(Localizer.getMessage("jsp.warning.classDebugInfo"));
                }
            }
          }
  
          String checkInterval = config.getInitParameter("checkInterval");
          if (checkInterval != null) {
              try {
                this.checkInterval = Integer.parseInt(checkInterval);
                  if (this.checkInterval == 0) {
                      this.checkInterval = 300;
                    if (log.isWarnEnabled()) {
                        log.warn(Localizer.getMessage("jsp.warning.checkInterval"));
                    }
                  }
              } catch(NumberFormatException ex) {
                if (log.isWarnEnabled()) {
                    log.warn(Localizer.getMessage("jsp.warning.checkInterval"));
                }
              }
          }
  
          String development = config.getInitParameter("development");
          if (development != null) {
              if (development.equalsIgnoreCase("true")) {
                  this.development = true;
              } else if (development.equalsIgnoreCase("false")) {
                  this.development = false;
              } else {
                if (log.isWarnEnabled()) {
                    log.warn(Localizer.getMessage("jsp.warning.development"));
                }
            }
          }
  
          String reloading = config.getInitParameter("reloading");
          if (reloading != null) {
              if (reloading.equalsIgnoreCase("true")) {
                  this.reloading = true;
              } else if (reloading.equalsIgnoreCase("false")) {
                  this.reloading = false;
              } else {
                if (log.isWarnEnabled()) {
                    log.warn(Localizer.getMessage("jsp.warning.reloading"));
                }
            }
          }
  
          String suppressSmap = config.getInitParameter("suppressSmap");
          if (suppressSmap != null) {
              if (suppressSmap.equalsIgnoreCase("true")) {
                  this.suppressSmap = true;
              } else if (suppressSmap.equalsIgnoreCase("false")) {
                  this.suppressSmap = false;
              } else {
                  if (log.isWarnEnabled()) {
                      log.warn(Localizer.getMessage("jsp.warning.suppressSmap"));
                  }
              }
          }
  
          String ieClassId = config.getInitParameter("ieClassId");
          if (ieClassId != null)
              this.ieClassId = ieClassId;
  
          String classpath = config.getInitParameter("classpath");
          if (classpath != null)
              this.classpath = classpath;
  
        /*
         * scratchdir
         */
          String dir = config.getInitParameter("scratchdir"); 
          if (dir != null) {
              scratchDir = new File(dir);
          } else {
              // First try the Servlet 2.2 javax.servlet.context.tempdir property
              scratchDir = (File) context.getAttribute(Constants.TMP_DIR);
              if (scratchDir == null) {
                  // Not running in a Servlet 2.2 container.
                  // Try to get the JDK 1.2 java.io.tmpdir property
                  dir = System.getProperty("java.io.tmpdir");
                  if (dir != null)
                      scratchDir = new File(dir);
              }
          }      
          if (this.scratchDir == null) {
              log.fatal(Localizer.getMessage("jsp.error.no.scratch.dir"));
              return;
          }
              
          if (!(scratchDir.exists() && scratchDir.canRead() &&
                scratchDir.canWrite() && scratchDir.isDirectory()))
              log.fatal(Localizer.getMessage("jsp.error.bad.scratch.dir",
                                           scratchDir.getAbsolutePath()));
                                    
          this.compiler = config.getInitParameter("compiler");
  
          String javaEncoding = config.getInitParameter("javaEncoding");
          if (javaEncoding != null) {
              this.javaEncoding = javaEncoding;
          }
  
          String fork = config.getInitParameter("fork");
          if (fork != null) {
              if (fork.equalsIgnoreCase("true")) {
                  this.fork = true;
              } else if (fork.equalsIgnoreCase("false")) {
                  this.fork = false;
              } else {
                if (log.isWarnEnabled()) {
                    log.warn(Localizer.getMessage("jsp.warning.fork"));
                }
            }
          }
  
        // Setup the global Tag Libraries location cache for this
        // web-application.
        tldLocationsCache = new TldLocationsCache(context);
  
        // Setup the jsp config info for this web app.
        jspConfig = new JspConfig(context);
  
        // Create a Tag plugin instance
        tagPluginManager = new TagPluginManager(context);
      }
  
  }
  
  
  
  
  1.24      +5 -5      
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.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- JspServlet.java   31 Jan 2003 18:56:25 -0000      1.23
  +++ JspServlet.java   29 Mar 2003 02:15:18 -0000      1.24
  @@ -78,7 +78,7 @@
   import org.apache.jasper.JasperException;
   import org.apache.jasper.Constants;
   import org.apache.jasper.Options;
  -import org.apache.jasper.EmbededServletOptions;
  +import org.apache.jasper.EmbeddedServletOptions;
   
   import org.apache.jasper.compiler.JspRuntimeContext;
   import org.apache.jasper.compiler.Localizer;
  @@ -119,7 +119,7 @@
        this.config = config;
        this.context = config.getServletContext();
           
  -        options = new EmbededServletOptions(config, context);
  +        options = new EmbeddedServletOptions(config, context);
   
           // Initialize the JSP Runtime Context
           rctxt = new JspRuntimeContext(context,options);
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to