remm        2004/09/01 15:55:48

  Modified:    catalina/src/share/org/apache/catalina/core
                        StandardContext.java mbeans-descriptors.xml
               catalina/src/share/org/apache/catalina/startup
                        ContextConfig.java Constants.java
  Log:
  - Allow configuring the default context.xml.
  - Remove old descriptors.
  
  Revision  Changes    Path
  1.145     +25 -6     
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContext.java
  
  Index: StandardContext.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContext.java,v
  retrieving revision 1.144
  retrieving revision 1.145
  diff -u -r1.144 -r1.145
  --- StandardContext.java      31 Aug 2004 15:07:23 -0000      1.144
  +++ StandardContext.java      1 Sep 2004 22:55:48 -0000       1.145
  @@ -280,8 +280,13 @@
   
   
       /** 
  -     * Override the default web xml location. ContextConfig is not configurable
  -     * so the setter is not used.
  +     * Override the default context xml location.
  +     */
  +    private String defaultContextXml;
  +
  +
  +    /** 
  +     * Override the default web xml location.
        */
       private String defaultWebXml;
   
  @@ -1044,15 +1049,29 @@
   
       }
   
  +    public String getDefaultContextXml() {
  +        return defaultContextXml;
  +    }
  +
  +    /** 
  +     * Set the location of the default context xml that will be used.
  +     * If not absolute, it'll be made relative to the engine's base dir
  +     * ( which defaults to catalina.base system property ).
  +     *
  +     * @param defaultWebXml The default web xml 
  +     */
  +    public void setDefaultContextXml(String defaultContextXml) {
  +        this.defaultContextXml = defaultContextXml;
  +    }
  +
       public String getDefaultWebXml() {
           return defaultWebXml;
       }
   
  -    /** Set the location of the default web xml that will be used.
  +    /** 
  +     * Set the location of the default web xml that will be used.
        * If not absolute, it'll be made relative to the engine's base dir
        * ( which defaults to catalina.base system property ).
  -     *
  -     * XXX If a file is not found - we can attempt a getResource()
        *
        * @param defaultWebXml The default web xml 
        */
  
  
  
  1.33      +4 -103    
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml
  
  Index: mbeans-descriptors.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- mbeans-descriptors.xml    29 Jul 2004 06:22:52 -0000      1.32
  +++ mbeans-descriptors.xml    1 Sep 2004 22:55:48 -0000       1.33
  @@ -1,109 +1,6 @@
   <?xml version="1.0"?>
   <mbeans-descriptors>
   
  -  <mbean name="DefaultContext"
  -         description="Used to store the default configuration a Host will use when 
creating a Context"
  -         domain="Catalina"
  -         group="Default-Context"
  -         type="org.apache.catalina.core.StandardDefaultContext">
  -
  -    <attribute name="allowLinking"
  -               description="Allow symlinking to outside the webapp root directory, 
if the webapp is an exploded directory"
  -               is="true"
  -               type="boolean"/>
  -
  -    <attribute name="cacheMaxSize"
  -               description="Maximum cache size in KB"
  -               type="int"/>
  -      
  -    <attribute name="cacheTTL"
  -               description="Time interval in ms between cache refeshes"
  -               type="int"/>
  -      
  -    <attribute name="cachingAllowed"
  -               description="Should we cache static resources for this webapp"
  -               is="true"
  -               type="boolean"/>
  -      
  -    <attribute name="caseSensitive"
  -               description="Should case sensitivity checks be performed"
  -               is="true"
  -               type="boolean"/>
  -      
  -    <attribute name="cookies"
  -               description="Should we attempt to use cookies for session id 
communication?"
  -               type="boolean"/>
  -      
  -    <attribute name="crossContext"
  -               description="Should we allow the ServletContext.getContext() method 
to access the context of other web applications in this server?"
  -               type="boolean"/>
  -      
  -    <attribute name="managerChecksFrequency"
  -               description="The frequency of the manager checks (expiration and 
passivation)"
  -               type="int"/>
  -               
  -    <attribute name="reloadable"
  -               description="The reloadable flag for this web application"
  -               type="boolean"/>
  -
  -    <attribute name="swallowOutput"
  -               description="Flag to set to cause the system.out and system.err to 
be redirected to the logger when executing a servlet"
  -               type="boolean"/>
  -
  -    <attribute name="useNaming"
  -               description="Create JNDI naming context?"
  -               is="true"
  -               type="boolean"/>
  -
  -    <attribute name="resourceNames"
  -               description="Object names for the resources"
  -               is="true"
  -               type="[Ljava.lang.String;"/>
  -                 
  -    <operation name="addEnvironment"
  -               description="Add an environment entry for this web application"
  -               impact="ACTION"
  -               returnType="void">
  -      <parameter name="envName"
  -                 description="New environment entry name"
  -                 type="java.lang.String"/>
  -      <parameter name="type"
  -                 description="Type of entry"
  -                 type="java.lang.String" />
  -    </operation>
  -
  -    <operation name="addResource"
  -               description="Add a resource reference for this web application"
  -               impact="ACTION"
  -               returnType="void">
  -      <parameter name="resourceName"
  -                 description="New resource reference name"
  -                 type="java.lang.String"/>
  -      <parameter name="type"
  -                 description="Type of resource"
  -                 type="java.lang.String" />
  -    </operation>
  -    
  -    <operation name="removeEnvironment"
  -               description="Remove any environment entry with the specified name"
  -               impact="ACTION"
  -               returnType="void">
  -      <parameter name="envName"
  -                 description="Name of the environment entry to remove"
  -                 type="java.lang.String"/>
  -    </operation>
  -    
  -    <operation name="removeResource"
  -               description="Remove any resource reference with the specified name"
  -               impact="ACTION"
  -               returnType="void">
  -      <parameter name="resourceName"
  -                 description="Name of the resource reference to remove"
  -                 type="java.lang.String"/>
  -    </operation>
  -    
  -  </mbean>
  -  
     <mbean name="NamingContextListener"
            description="Helper class used to initialize and populate the JNDI context 
associated with each context and server"
            domain="Catalina"
  @@ -171,6 +68,10 @@
                  description="Should we allow the ServletContext.getContext() method 
to access the context of other web applications in this server?"
                  type="boolean"/>
   
  +    <attribute name="defaultContextXml"
  +               description="Location of the default context.xml resource or file"
  +               type="java.lang.String"/>
  +               
       <attribute name="defaultWebXml"
                  description="Location of the default web.xml resource or file"
                  type="java.lang.String"/>
  
  
  
  1.52      +39 -5     
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
  
  Index: ContextConfig.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
  retrieving revision 1.51
  retrieving revision 1.52
  diff -u -r1.51 -r1.52
  --- ContextConfig.java        27 Jul 2004 10:04:39 -0000      1.51
  +++ ContextConfig.java        1 Sep 2004 22:55:48 -0000       1.52
  @@ -87,6 +87,12 @@
   
   
       /**
  +     * The default web application's context file location.
  +     */
  +    protected String defaultContextXml = null;
  +    
  +    
  +    /**
        * The default web application's deployment descriptor location.
        */
       protected String defaultWebXml = null;
  @@ -179,6 +185,28 @@
       }
   
   
  +    /**
  +     * Return the location of the default context file
  +     */
  +    public String getDefaultContextXml() {
  +        if( defaultContextXml == null ) 
defaultContextXml=Constants.DefaultContextXml;
  +        return (this.defaultContextXml);
  +
  +    }
  +
  +
  +    /**
  +     * Set the location of the default context file
  +     *
  +     * @param path Absolute/relative path to the default context.xml
  +     */
  +    public void setDefaultContextXml(String path) {
  +
  +        this.defaultContextXml = path;
  +
  +    }
  +
  +
       // --------------------------------------------------------- Public Methods
   
   
  @@ -517,7 +545,7 @@
           stream = null;
           source = null;
   
  -        file = new File(getConfigBase(), "web.xml.default");
  +        file = new File(getConfigBase(), Constants.HostWebXml);
           
           try {
              if (file.exists()) {
  @@ -588,10 +616,16 @@
        */
       protected void contextConfig() {
           
  -        // FIXME: Externalize default context.xml path the same way as web.xml
  +        // Open the default web.xml file, if it exists
  +        if( defaultContextXml==null && context instanceof StandardContext ) {
  +            defaultContextXml = ((StandardContext)context).getDefaultContextXml();
  +        }
  +        // set the default if we don't have any overrides
  +        if( defaultContextXml==null ) getDefaultContextXml();
  +
           if (!context.getOverride()) {
  -            processContextConfig(new File(getBaseDir(), "conf/context.xml"));
  -            processContextConfig(new File(getConfigBase(), "context.xml.default"));
  +            processContextConfig(new File(getBaseDir(), defaultContextXml));
  +            processContextConfig(new File(getConfigBase(), 
Constants.HostContextXml));
           }
           if (context.getConfigFile() != null)
               processContextConfig(new File(context.getConfigFile()));
  
  
  
  1.8       +4 -5      
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/Constants.java
  
  Index: Constants.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/Constants.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Constants.java    27 Feb 2004 14:58:48 -0000      1.7
  +++ Constants.java    1 Sep 2004 22:55:48 -0000       1.8
  @@ -31,7 +31,10 @@
       public static final String Package = "org.apache.catalina.startup";
   
       public static final String ApplicationWebXml = "/WEB-INF/web.xml";
  +    public static final String DefaultContextXml = "conf/context.xml";
       public static final String DefaultWebXml = "conf/web.xml";
  +    public static final String HostContextXml = "context.xml.default";
  +    public static final String HostWebXml = "web.xml.default";
   
       public static final String TldDtdPublicId_11 =
           "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN";
  @@ -87,9 +90,5 @@
               "j2ee_web_services_client_1_1.xsd";
       public static final String J2eeWebServiceClientSchemaResourcePath_11 =
               "/javax/servlet/resources/j2ee_web_services_client_1_1.xsd";
  -    
  -    
  -    
  -    
   
   }
  
  
  

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

Reply via email to