Author: markt Date: Thu Feb 4 22:09:18 2010 New Revision: 906680 URL: http://svn.apache.org/viewvc?rev=906680&view=rev Log: Move firing the events to StandardPipeline. This way calls to container.addValve() and container.getPipeline().addValve() will both trigger the event. Custom pipelines (unlikely but possible) would not trigger the event. The javadocs for Pipeline will be updated to note that they should in a following commit. Part of removing the Pipeline interface from ContainerBase
Modified: tomcat/trunk/java/org/apache/catalina/Container.java tomcat/trunk/java/org/apache/catalina/core/ContainerBase.java tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java Modified: tomcat/trunk/java/org/apache/catalina/Container.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/Container.java?rev=906680&r1=906679&r2=906680&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/Container.java (original) +++ tomcat/trunk/java/org/apache/catalina/Container.java Thu Feb 4 22:09:18 2010 @@ -440,4 +440,13 @@ public void removePropertyChangeListener(PropertyChangeListener listener); + /** + * Notify all container event listeners that a particular event has + * occurred for this Container. The default implementation performs + * this notification synchronously using the calling thread. + * + * @param type Event type + * @param data Event data + */ + public void fireContainerEvent(String type, Object data); } Modified: tomcat/trunk/java/org/apache/catalina/core/ContainerBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ContainerBase.java?rev=906680&r1=906679&r2=906680&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/core/ContainerBase.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/ContainerBase.java Thu Feb 4 22:09:18 2010 @@ -1215,7 +1215,6 @@ public synchronized void addValve(Valve valve) { pipeline.addValve(valve); - fireContainerEvent(ADD_VALVE_EVENT, valve); } public ObjectName[] getValveObjectNames() { @@ -1264,7 +1263,6 @@ public synchronized void removeValve(Valve valve) { pipeline.removeValve(valve); - fireContainerEvent(REMOVE_VALVE_EVENT, valve); } Modified: tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java?rev=906680&r1=906679&r2=906680&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java Thu Feb 4 22:09:18 2010 @@ -472,7 +472,8 @@ current = current.getNext(); } } - + + container.fireContainerEvent(Container.ADD_VALVE_EVENT, valve); } @@ -558,14 +559,15 @@ unregisterValve(valve); } + container.fireContainerEvent(Container.REMOVE_VALVE_EVENT, valve); } public Valve getFirst() { if (first != null) { return first; - } else { - return basic; } + + return basic; } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org