pier 00/12/08 01:39:54 Modified: catalina/src/share/org/apache/catalina/connector/warp WarpHost.java Log: Added methods for invoking requests within Catalina. Revision Changes Path 1.2 +39 -1 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/warp/WarpHost.java Index: WarpHost.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/warp/WarpHost.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- WarpHost.java 2000/12/07 21:12:56 1.1 +++ WarpHost.java 2000/12/08 09:39:54 1.2 @@ -57,7 +57,12 @@ package org.apache.catalina.connector.warp; import java.io.IOException; +import java.net.URL; +import org.apache.catalina.Container; import org.apache.catalina.core.StandardHost; +import org.apache.catalina.core.StandardContext; +import org.apache.catalina.startup.HostConfig; +import org.apache.catalina.LifecycleException; /** * @@ -65,7 +70,7 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Pier Fumagalli</a> * @author Copyright © 1999, 2000 <a href="http://www.apache.org">The * Apache Software Foundation. - * @version CVS $Id: WarpHost.java,v 1.1 2000/12/07 21:12:56 pier Exp $ + * @version CVS $Id: WarpHost.java,v 1.2 2000/12/08 09:39:54 pier Exp $ */ public class WarpHost extends StandardHost { @@ -73,11 +78,44 @@ /** Our debug flag status (Used to compile out debugging information). */ private static final boolean DEBUG=WarpDebug.DEBUG; + /** The class used for contexts. */ + private static String cc="org.apache.catalina.connector.warp.WarpContext"; // -------------------------------------------------------- LOCAL VARIABLES /** The Warp Host ID of this Host. */ private int id=-1; + /** The ID to use for the next dynamically configured application. */ + private int applid=0; + + // --------------------------------------------------------- PUBLIC METHODS + + /** + * Create a new instance of a WarpHost. + */ + public WarpHost() { + super(); + HostConfig conf=new HostConfig(); + conf.setContextClass(cc); + this.setContextClass(cc); + this.addLifecycleListener(conf); + } + + /** + * Add a new context to this host. + */ + public void addChild(Container container) { + if (container instanceof WarpContext) { + WarpContext cont=(WarpContext)container; + cont.setApplicationID(this.applid++); + if (DEBUG) this.debug("Adding context for path \""+cont.getName()+ + "\" with ID="+cont.getApplicationID()); + super.addChild(cont); + } else { + throw new IllegalArgumentException("Cannot add context class "+ + container.getClass().getName()+" to WarpContext"); + } + } // ----------------------------------------------------------- BEAN METHODS