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
*