craigmcc 01/08/23 15:32:10 Modified: catalina/src/share/org/apache/catalina Connector.java Engine.java catalina/src/share/org/apache/catalina/connector/http HttpConnector.java catalina/src/share/org/apache/catalina/connector/http10 HttpConnector.java catalina/src/share/org/apache/catalina/connector/warp WarpConnector.java catalina/src/share/org/apache/catalina/core StandardEngine.java StandardService.java Log: Add navigation link properties so that the entire Catalina component hierarchy can be navigated. Previously, you could go "down" from a Service to its associated "Connector" and "Container" children, but you could not go up. Note that the existence of Server and Service components is optional - they are used when Catalina is configured from conf/server.xml, but are not typically used in embedded environments. Revision Changes Path 1.10 +18 -4 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Connector.java Index: Connector.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Connector.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- Connector.java 2001/07/22 21:02:45 1.9 +++ Connector.java 2001/08/23 22:32:10 1.10 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Connector.java,v 1.9 2001/07/22 21:02:45 pier Exp $ - * $Revision: 1.9 $ - * $Date: 2001/07/22 21:02:45 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Connector.java,v 1.10 2001/08/23 22:32:10 craigmcc Exp $ + * $Revision: 1.10 $ + * $Date: 2001/08/23 22:32:10 $ * * ==================================================================== * @@ -117,7 +117,7 @@ * normative. * * @author Craig R. McClanahan - * @version $Revision: 1.9 $ $Date: 2001/07/22 21:02:45 $ + * @version $Revision: 1.10 $ $Date: 2001/08/23 22:32:10 $ */ public interface Connector { @@ -222,6 +222,20 @@ * @param secure The new secure connection flag */ public void setSecure(boolean secure); + + + /** + * Return the <code>Service</code> with which we are associated (if any). + */ + public Service getService(); + + + /** + * Set the <code>Service</code> with which we are associated (if any). + * + * @param service The service that owns this Engine + */ + public void setService(Service service); // --------------------------------------------------------- Public Methods 1.6 +18 -4 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Engine.java Index: Engine.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Engine.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- Engine.java 2001/07/22 20:13:30 1.5 +++ Engine.java 2001/08/23 22:32:10 1.6 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Engine.java,v 1.5 2001/07/22 20:13:30 pier Exp $ - * $Revision: 1.5 $ - * $Date: 2001/07/22 20:13:30 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Engine.java,v 1.6 2001/08/23 22:32:10 craigmcc Exp $ + * $Revision: 1.6 $ + * $Date: 2001/08/23 22:32:10 $ * * ==================================================================== * @@ -90,7 +90,7 @@ * should throw <code>IllegalArgumentException</code>. * * @author Craig R. McClanahan - * @version $Revision: 1.5 $ $Date: 2001/07/22 20:13:30 $ + * @version $Revision: 1.6 $ $Date: 2001/08/23 22:32:10 $ */ public interface Engine extends Container { @@ -111,6 +111,20 @@ * @param defaultHost The new default host */ public void setDefaultHost(String defaultHost); + + + /** + * Return the <code>Service</code> with which we are associated (if any). + */ + public Service getService(); + + + /** + * Set the <code>Service</code> with which we are associated (if any). + * + * @param service The service that owns this Engine + */ + public void setService(Service service); /** 1.22 +33 -4 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpConnector.java Index: HttpConnector.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpConnector.java,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- HttpConnector.java 2001/07/22 22:36:09 1.21 +++ HttpConnector.java 2001/08/23 22:32:10 1.22 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpConnector.java,v 1.21 2001/07/22 22:36:09 pier Exp $ - * $Revision: 1.21 $ - * $Date: 2001/07/22 22:36:09 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpConnector.java,v 1.22 2001/08/23 22:32:10 craigmcc Exp $ + * $Revision: 1.22 $ + * $Date: 2001/08/23 22:32:10 $ * * ==================================================================== * @@ -84,6 +84,7 @@ import org.apache.catalina.Logger; import org.apache.catalina.Request; import org.apache.catalina.Response; +import org.apache.catalina.Service; import org.apache.catalina.net.DefaultServerSocketFactory; import org.apache.catalina.net.ServerSocketFactory; import org.apache.catalina.util.LifecycleSupport; @@ -95,7 +96,7 @@ * * @author Craig R. McClanahan * @author Remy Maucherat - * @version $Revision: 1.21 $ $Date: 2001/07/22 22:36:09 $ + * @version $Revision: 1.22 $ $Date: 2001/08/23 22:32:10 $ */ @@ -251,6 +252,12 @@ /** + * The <code>Service</code> we are associated with (if any). + */ + private Service service = null; + + + /** * The string manager for this package. */ private StringManager sm = @@ -721,6 +728,28 @@ public void setSecure(boolean secure) { this.secure = secure; + + } + + + /** + * Return the <code>Service</code> with which we are associated (if any). + */ + public Service getService() { + + return (this.service); + + } + + + /** + * Set the <code>Service</code> with which we are associated (if any). + * + * @param service The service that owns this Engine + */ + public void setService(Service service) { + + this.service = service; } 1.11 +33 -4 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http10/HttpConnector.java Index: HttpConnector.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http10/HttpConnector.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- HttpConnector.java 2001/07/22 22:36:09 1.10 +++ HttpConnector.java 2001/08/23 22:32:10 1.11 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http10/HttpConnector.java,v 1.10 2001/07/22 22:36:09 pier Exp $ - * $Revision: 1.10 $ - * $Date: 2001/07/22 22:36:09 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http10/HttpConnector.java,v 1.11 2001/08/23 22:32:10 craigmcc Exp $ + * $Revision: 1.11 $ + * $Date: 2001/08/23 22:32:10 $ * * ==================================================================== * @@ -83,6 +83,7 @@ import org.apache.catalina.Logger; import org.apache.catalina.Request; import org.apache.catalina.Response; +import org.apache.catalina.Service; import org.apache.catalina.net.DefaultServerSocketFactory; import org.apache.catalina.net.ServerSocketFactory; import org.apache.catalina.util.LifecycleSupport; @@ -94,7 +95,7 @@ * purposes. Not intended to be the final solution. * * @author Craig R. McClanahan - * @version $Revision: 1.10 $ $Date: 2001/07/22 22:36:09 $ + * @version $Revision: 1.11 $ $Date: 2001/08/23 22:32:10 $ */ @@ -250,6 +251,12 @@ /** + * The <code>Service</code> we are associated with (if any). + */ + private Service service = null; + + + /** * The string manager for this package. */ private StringManager sm = @@ -686,6 +693,28 @@ public void setSecure(boolean secure) { this.secure = secure; + + } + + + /** + * Return the <code>Service</code> with which we are associated (if any). + */ + public Service getService() { + + return (this.service); + + } + + + /** + * Set the <code>Service</code> with which we are associated (if any). + * + * @param service The service that owns this Engine + */ + public void setService(Service service) { + + this.service = service; } 1.16 +25 -0 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/warp/WarpConnector.java Index: WarpConnector.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/warp/WarpConnector.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- WarpConnector.java 2001/08/09 20:08:58 1.15 +++ WarpConnector.java 2001/08/23 22:32:10 1.16 @@ -73,6 +73,7 @@ import org.apache.catalina.Logger; import org.apache.catalina.Request; import org.apache.catalina.Response; +import org.apache.catalina.Service; import org.apache.catalina.net.DefaultServerSocketFactory; import org.apache.catalina.net.ServerSocketFactory; import org.apache.catalina.util.LifecycleSupport; @@ -112,6 +113,8 @@ private String scheme="warp"; /** The secure flag of this <code>Connector</code>. */ private boolean secure=false; + /** The <code>Service</code> we are associated with (if any). */ + private Service service=null; /** Descriptive information of this <code>Connector</code>. */ private String info=null; /** The address we need to bind to. */ @@ -287,6 +290,28 @@ if (Constants.DEBUG) logger.debug("Setting secure to "+secure); } + + /** + * Return the <code>Service</code> with which we are associated (if any). + */ + public Service getService() { + + return (this.service); + + } + + + /** + * Set the <code>Service</code> with which we are associated (if any). + * + * @param service The service that owns this Engine + */ + public void setService(Service service) { + + this.service = service; + + } + /** * Return descriptive information about this <code>Connector</code>. 1.10 +33 -4 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardEngine.java Index: StandardEngine.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardEngine.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- StandardEngine.java 2001/07/22 20:25:08 1.9 +++ StandardEngine.java 2001/08/23 22:32:10 1.10 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardEngine.java,v 1.9 2001/07/22 20:25:08 pier Exp $ - * $Revision: 1.9 $ - * $Date: 2001/07/22 20:25:08 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardEngine.java,v 1.10 2001/08/23 22:32:10 craigmcc Exp $ + * $Revision: 1.10 $ + * $Date: 2001/08/23 22:32:10 $ * * ==================================================================== * @@ -77,6 +77,7 @@ import org.apache.catalina.LifecycleException; import org.apache.catalina.Request; import org.apache.catalina.Response; +import org.apache.catalina.Service; import org.apache.catalina.core.DefaultContext; /** @@ -85,7 +86,7 @@ * fully qualified host name of that virtual host. * * @author Craig R. McClanahan - * @version $Revision: 1.9 $ $Date: 2001/07/22 20:25:08 $ + * @version $Revision: 1.10 $ $Date: 2001/08/23 22:32:10 $ */ public class StandardEngine @@ -132,6 +133,12 @@ /** + * The <code>Service</code> that owns this Engine, if any. + */ + private Service service = null; + + + /** * DefaultContext config */ private DefaultContext defaultContext; @@ -202,6 +209,28 @@ this.mapperClass = mapperClass; support.firePropertyChange("mapperClass", oldMapperClass, this.mapperClass); + + } + + + /** + * Return the <code>Service</code> with which we are associated (if any). + */ + public Service getService() { + + return (this.service); + + } + + + /** + * Set the <code>Service</code> with which we are associated (if any). + * + * @param service The service that owns this Engine + */ + public void setService(Service service) { + + this.service = service; } 1.5 +11 -4 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardService.java Index: StandardService.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardService.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- StandardService.java 2001/07/22 20:25:08 1.4 +++ StandardService.java 2001/08/23 22:32:10 1.5 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardService.java,v 1.4 2001/07/22 20:25:08 pier Exp $ - * $Revision: 1.4 $ - * $Date: 2001/07/22 20:25:08 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardService.java,v 1.5 2001/08/23 22:32:10 craigmcc Exp $ + * $Revision: 1.5 $ + * $Date: 2001/08/23 22:32:10 $ * * ==================================================================== * @@ -67,6 +67,7 @@ import org.apache.catalina.Connector; import org.apache.catalina.Container; +import org.apache.catalina.Engine; import org.apache.catalina.Lifecycle; import org.apache.catalina.LifecycleEvent; import org.apache.catalina.LifecycleException; @@ -83,7 +84,7 @@ * not required. * * @author Craig R. McClanahan - * @version $Revision: 1.4 $ $Date: 2001/07/22 20:25:08 $ + * @version $Revision: 1.5 $ $Date: 2001/08/23 22:32:10 $ */ public final class StandardService @@ -166,7 +167,11 @@ public void setContainer(Container container) { Container oldContainer = this.container; + if ((oldContainer != null) && (oldContainer instanceof Engine)) + ((Engine) oldContainer).setService(null); this.container = container; + if ((this.container != null) && (this.container instanceof Engine)) + ((Engine) this.container).setService(this); if (started && (this.container != null) && (this.container instanceof Lifecycle)) { try { @@ -238,6 +243,7 @@ synchronized (connectors) { connector.setContainer(this.container); + connector.setService(this); Connector results[] = new Connector[connectors.length + 1]; System.arraycopy(connectors, 0, results, 0, connectors.length); results[connectors.length] = connector; @@ -300,6 +306,7 @@ } } connectors[j].setContainer(null); + connector.setService(null); int k = 0; Connector results[] = new Connector[connectors.length - 1]; for (int i = 0; i < connectors.length; i++) {