pier 00/12/13 17:25:58 Modified: catalina/src/share/org/apache/catalina/connector/warp WarpHost.java WarpEngine.java WarpConnectionHandler.java Log: Start WarpHost container if WarpEngine has already been started. Revision Changes Path 1.4 +8 -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.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- WarpHost.java 2000/12/08 15:33:42 1.3 +++ WarpHost.java 2000/12/14 01:25:57 1.4 @@ -73,7 +73,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.3 2000/12/08 15:33:42 pier Exp $ + * @version CVS $Id: WarpHost.java,v 1.4 2000/12/14 01:25:57 pier Exp $ */ public class WarpHost extends StandardHost { @@ -162,6 +162,13 @@ protected void setHostID(int id) { if (DEBUG) this.debug("Setting HostID for "+super.getName()+" to "+id); this.id=id; + } + + /** + * Check if the start() method has already been called. + */ + public boolean isStarted() { + return(super.started); } // ------------------------------------------------------ DEBUGGING METHODS 1.7 +29 -2 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/warp/WarpEngine.java Index: WarpEngine.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/warp/WarpEngine.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- WarpEngine.java 2000/12/08 15:33:43 1.6 +++ WarpEngine.java 2000/12/14 01:25:57 1.7 @@ -75,7 +75,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: WarpEngine.java,v 1.6 2000/12/08 15:33:43 pier Exp $ + * @version CVS $Id: WarpEngine.java,v 1.7 2000/12/14 01:25:57 pier Exp $ */ public class WarpEngine extends StandardEngine { @@ -164,6 +164,17 @@ host.setHostID(this.hostid++); host.setAppBase(this.appbase); this.addChild(host); + try { + if (DEBUG) this.debug("Manually starting host"); + if (super.started) { + if (!host.isStarted()) { + host.start(); + } + } + } catch (LifecycleException e) { + this.log(e); + return(null); + } } return(host); } @@ -215,8 +226,24 @@ String old=this.appbase; this.appbase=appbase; } + + // ------------------------------------------ LOGGING AND DEBUGGING METHODS + + /** + * Dump a log message. + */ + public void log(String msg) { + // FIXME: Log thru catalina + WarpDebug.debug(this,msg); + } - // ------------------------------------------------------ DEBUGGING METHODS + /** + * Dump information for an Exception. + */ + public void log(Exception exc) { + // FIXME: Log thru catalina + WarpDebug.debug(this,exc); + } /** * Dump a debug message. 1.9 +9 -2 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/warp/WarpConnectionHandler.java Index: WarpConnectionHandler.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/warp/WarpConnectionHandler.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- WarpConnectionHandler.java 2000/12/08 15:33:44 1.8 +++ WarpConnectionHandler.java 2000/12/14 01:25:57 1.9 @@ -64,7 +64,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: WarpConnectionHandler.java,v 1.8 2000/12/08 15:33:44 pier Exp $ + * @version CVS $Id: WarpConnectionHandler.java,v 1.9 2000/12/14 01:25:57 pier Exp $ */ public class WarpConnectionHandler extends WarpHandler { /** The WarpReader associated with this WarpConnectionHandler. */ @@ -102,7 +102,14 @@ String name=reader.readString()+"."+reader.readShort(); // Retrieve this host id - int hid=engine.setupChild(name).getHostID(); + WarpHost host=engine.setupChild(name); + if (host==null) { + this.log("Cannot retrieve host instance"); + this.send(WarpConstants.TYP_CONINIT_ERR,this.packet); + return(false); + } + + int hid=host.getHostID(); if (DEBUG) this.debug("Host "+name+" has ID="+hid); // Send the HOST ID back to the WARP client