You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2010/02/04 23:09:19 UTC

svn commit: r906680 - in /tomcat/trunk/java/org/apache/catalina: Container.java core/ContainerBase.java core/StandardPipeline.java

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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org