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

Reply via email to