costin      2002/12/05 07:57:48

  Modified:    catalina/src/share/org/apache/catalina/startup Catalina.java
  Log:
  Make Catalina extend Embed.
  
  Some methods moved ( setters/getters grouped ).
  Duplicated methods removed ( use the ones in parent ).
  Catalina.home and jndi are done in parent.
  
  For consistency and to keep the embeded tomcat close to standalone -
  please make all the changes in Embed, except those related with server.xml
  reading.
  
  Revision  Changes    Path
  1.11      +51 -126   
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/Catalina.java
  
  Index: Catalina.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/Catalina.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- Catalina.java     20 Nov 2002 00:21:33 -0000      1.10
  +++ Catalina.java     5 Dec 2002 15:57:48 -0000       1.11
  @@ -97,12 +97,14 @@
    * <li><b>-stop</b> - Stop the currently running instance of Catalina.
    * </u>
    *
  + * Should do the same thing as Embedded, but using a server.xml file.
  + *
    * @author Craig R. McClanahan
    * @author Remy Maucherat
    * @version $Revision$ $Date$
    */
   
  -public class Catalina {
  +public class Catalina extends Embedded {
   
   
       // ----------------------------------------------------- Instance Variables
  @@ -113,13 +115,7 @@
        */
       protected String configFile = "conf/server.xml";
   
  -
  -    /**
  -     * Set the debugging detail level on our Digester.
  -     */
  -    protected boolean debug = false;
  -
  -
  +    // XXX Should be moved to embedded
       /**
        * The shared extensions class loader for this server.
        */
  @@ -145,18 +141,6 @@
       protected boolean stopping = false;
   
       /**
  -     * Are we using naming ?
  -     */
  -    protected boolean useNaming = true;
  -
  -
  -    /**
  -     * Use await.
  -     */
  -    protected boolean await = false;
  -
  -
  -    /**
        * Shutdown hook.
        */
       protected Thread shutdownHook = new CatalinaShutdownHook();
  @@ -165,23 +149,38 @@
       // ------------------------------------------------------------- Properties
   
   
  -    public void setUseNaming(boolean b) {
  -        useNaming = b;
  -    }
  -
  -
       public void setConfig(String file) {
           configFile = file;
       }
   
  +    public String getConfigFile() {
  +        return configFile;
  +    }
  +
  +    /**
  +     * Set the shared extensions class loader.
  +     *
  +     * @param parentClassLoader The shared extensions class loader.
  +     */
  +    public void setParentClassLoader(ClassLoader parentClassLoader) {
  +
  +        this.parentClassLoader = parentClassLoader;
   
  -    public void setAwait(boolean b) {
  -        await = b;
       }
   
   
  -    // ----------------------------------------------------------- Main Program
  +    /**
  +     * Set the server instance we are configuring.
  +     *
  +     * @param server The new server
  +     */
  +    public void setServer(Server server) {
  +
  +        this.server = server;
  +
  +    }
   
  +    // ----------------------------------------------------------- Main Program
   
       /**
        * The application main program.
  @@ -218,33 +217,6 @@
       }
   
   
  -    // --------------------------------------------------------- Public Methods
  -
  -
  -    /**
  -     * Set the shared extensions class loader.
  -     *
  -     * @param parentClassLoader The shared extensions class loader.
  -     */
  -    public void setParentClassLoader(ClassLoader parentClassLoader) {
  -
  -        this.parentClassLoader = parentClassLoader;
  -
  -    }
  -
  -
  -    /**
  -     * Set the server instance we are configuring.
  -     *
  -     * @param server The new server
  -     */
  -    public void setServer(Server server) {
  -
  -        this.server = server;
  -
  -    }
  -
  -
       // ------------------------------------------------------ Protected Methods
   
   
  @@ -271,9 +243,9 @@
               } else if (args[i].equals("-config")) {
                   isConfig = true;
               } else if (args[i].equals("-debug")) {
  -                debug = true;
  +                debug = 1;
               } else if (args[i].equals("-nonaming")) {
  -                useNaming = false;
  +                setUseNaming( false );
               } else if (args[i].equals("-help")) {
                   usage();
                   return (false);
  @@ -314,8 +286,8 @@
           long t1=System.currentTimeMillis();
           // Initialize the digester
           Digester digester = new Digester();
  -        if (debug)
  -            digester.setDebug(999);
  +        if (debug>0)
  +            digester.setDebug(debug);
           digester.setValidating(false);
   
           // Configure the actions we will be using
  @@ -412,8 +384,8 @@
   
           // Initialize the digester
           Digester digester = new Digester();
  -        if (debug)
  -            digester.setDebug(999);
  +        if (debug>0)
  +            digester.setDebug(debug);
   
           // Configure the rules we need for shutting down
           digester.addObjectCreate("Server",
  @@ -470,60 +442,31 @@
       /**
        * Set the <code>catalina.base</code> System property to the current
        * working directory if it has not been set.
  +     * @deprecated Use initDirs()
        */
       public void setCatalinaBase() {
  -
  -        if (System.getProperty("catalina.base") != null)
  -            return;
  -        System.setProperty("catalina.base",
  -                           System.getProperty("catalina.home"));
  -
  -    }
  -
  -    public void setCatalinaHome( String s ) {
  -        System.out.println("Setting home "+ s);
  -        System.setProperty( "catalina.home", s);
  -    }
  -
  -    public void setCatalinaBase( String s ) {
  -        System.setProperty( "catalina.base", s);
  +        initDirs();
       }
   
       /**
        * Set the <code>catalina.home</code> System property to the current
        * working directory if it has not been set.
  +     * @deprecated Use initDirs()
        */
       public void setCatalinaHome() {
  -
  -        if (System.getProperty("catalina.home") != null)
  -            return;
  -        System.setProperty("catalina.home",
  -                           System.getProperty("user.dir"));
  -
  -    }
  -
  -    public String getConfigFile() {
  -        return configFile;
  -    }
  -
  -    public boolean isAwait() {
  -        return await;
  -    }
  -
  -    public boolean isDebug() {
  -        return debug;
  -    }
  -
  -    public boolean isUseNaming() {
  -        return useNaming;
  +        initDirs();
       }
   
       /**
        * Start a new server instance.
        */
       public void load() {
  -        setCatalinaHome();
  -        setCatalinaBase();
  +        initDirs();
  +
  +        // Before digester - it may be needed
  +
  +        initNaming();
  +
           // Create and execute our Digester
           Digester digester = createStartDigester();
           long t1 = System.currentTimeMillis();
  @@ -544,32 +487,13 @@
           long t2 = System.currentTimeMillis();
           log.debug( "Server.xml processed " + (t2 - t1));
   
  -        // Setting additional variables
  -        if (!useNaming) {
  -            System.setProperty("catalina.useNaming", "false");
  -        } else {
  -            System.setProperty("catalina.useNaming", "true");
  -            String value = "org.apache.naming";
  -            String oldValue =
  -                System.getProperty(javax.naming.Context.URL_PKG_PREFIXES);
  -            if (oldValue != null) {
  -                value = value + ":" + oldValue;
  -            }
  -            System.setProperty(javax.naming.Context.URL_PKG_PREFIXES, value);
  -            value = System.getProperty
  -                (javax.naming.Context.INITIAL_CONTEXT_FACTORY);
  -            if (value == null) {
  -                System.setProperty
  -                    (javax.naming.Context.INITIAL_CONTEXT_FACTORY,
  -                     "org.apache.naming.java.javaURLContextFactory");
  -            }
  -        }
  -
  +        // TODO: move to Embedded
           SecurityConfig securityConfig = SecurityConfig.newInstance();
           securityConfig.setPackageDefinition();
           securityConfig.setPackageAccess();
   
           // Replace System.out and System.err with a custom PrintStream
  +        // TODO: move to Embedded, make it configurable
           SystemLogHandler systemlog = new SystemLogHandler(System.out);
           System.setOut(systemlog);
           System.setErr(systemlog);
  @@ -585,6 +509,7 @@
   
       }
   
  +
       /* 
        * Load using arguments
        */
  @@ -691,7 +616,7 @@
   
       // --------------------------------------- CatalinaShutdownHook Inner Class
   
  -
  +    // XXX Should be moved to embedded !
       /**
        * Shutdown hook which will perform a clean shutdown of Catalina if needed.
        */
  
  
  

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

Reply via email to