Author: veithen
Date: Wed Sep 17 13:00:40 2008
New Revision: 696421

URL: http://svn.apache.org/viewvc?rev=696421&view=rev
Log:
* Make the ListMediator interface extend ManagedLifecycle. Indeed, all 
ListMediator implementations are expected to propagate lifecycle events and 
must therefore implement ManagedLifecycle themselves.
* SYNAPSE-451: Fixed FilterMediator to propagate lifecycle events to the else 
branch.

Modified:
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/ListMediator.java
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/filters/FilterMediator.java

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/ListMediator.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/ListMediator.java?rev=696421&r1=696420&r2=696421&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/ListMediator.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/ListMediator.java
 Wed Sep 17 13:00:40 2008
@@ -19,14 +19,19 @@
 
 package org.apache.synapse.mediators;
 
+import org.apache.synapse.ManagedLifecycle;
 import org.apache.synapse.Mediator;
 
 import java.util.List;
 
 /**
- * The List mediator executes a given sequence/list of child mediators
+ * The List mediator executes a given sequence/list of child mediators.
+ * <p>
+ * This interface extends [EMAIL PROTECTED] ManagedLifecycle}. An 
implementations must
+ * propagate lifecycle events to all children implementing the ManagedLifecycle
+ * interface.
  */
-public interface ListMediator extends Mediator {
+public interface ListMediator extends Mediator, ManagedLifecycle {
 
     /**
      * Appends the specified mediator to the end of this mediator's (children) 
list

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/filters/FilterMediator.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/filters/FilterMediator.java?rev=696421&r1=696420&r2=696421&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/filters/FilterMediator.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/filters/FilterMediator.java
 Wed Sep 17 13:00:40 2008
@@ -21,6 +21,7 @@
 
 import org.apache.synapse.Mediator;
 import org.apache.synapse.MessageContext;
+import org.apache.synapse.core.SynapseEnvironment;
 import org.apache.synapse.mediators.AbstractListMediator;
 import org.apache.synapse.mediators.ListMediator;
 import org.apache.synapse.util.xpath.SynapseXPath;
@@ -44,6 +45,22 @@
     private String thenKey = null;
     private String elseKey = null;
 
+    @Override
+    public void init(SynapseEnvironment se) {
+        super.init(se);
+        if (elseMediator != null) {
+            elseMediator.init(se);
+        }
+    }
+
+    @Override
+    public void destroy() {
+        super.destroy();
+        if (elseMediator != null) {
+            elseMediator.destroy();
+        }
+    }
+
     /**
      * Executes the list of sub/child mediators, if the filter condition is 
satisfied
      *


Reply via email to