Introducing removeEventListener method to unregister an event listener
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/bd5e2f8d Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/bd5e2f8d Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/bd5e2f8d Branch: refs/heads/stratos-4.1.x Commit: bd5e2f8dd0645233f38a3b995dddd598e3022244 Parents: 2b82b91 Author: Akila Perera <[email protected]> Authored: Sun Nov 29 23:57:07 2015 +0530 Committer: Akila Perera <[email protected]> Committed: Mon Nov 30 00:33:46 2015 +0530 ---------------------------------------------------------------------- .../processor/MessageProcessorChain.java | 2 + .../ApplicationsMessageProcessorChain.java | 38 +++++++++++++++- .../ApplicationSignUpMessageProcessorChain.java | 13 ++++++ .../ClusterStatusMessageProcessorChain.java | 18 ++++++++ .../DomainMappingMessageProcessorChain.java | 11 +++++ .../stat/HealthStatMessageProcessorChain.java | 41 ++++++++++++++++- .../InitializerMessageProcessorChain.java | 15 ++++++ .../InstanceNotifierMessageProcessorChain.java | 12 +++++ .../InstanceStatusMessageProcessorChain.java | 14 ++++++ .../tenant/TenantMessageProcessorChain.java | 14 ++++++ .../topology/TopologyMessageProcessorChain.java | 48 ++++++++++++++++++++ .../ApplicationsEventMessageDelegator.java | 4 ++ .../application/ApplicationsEventReceiver.java | 4 ++ 13 files changed, 231 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/bd5e2f8d/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/MessageProcessorChain.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/MessageProcessorChain.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/MessageProcessorChain.java index 0814830..fb49a97 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/MessageProcessorChain.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/MessageProcessorChain.java @@ -39,6 +39,8 @@ public abstract class MessageProcessorChain { public abstract void addEventListener(EventListener eventListener); + public abstract void removeEventListener(EventListener eventListener); + public void add(MessageProcessor messageProcessor) { if (list.size() > 0) { list.getLast().setNext(messageProcessor); http://git-wip-us.apache.org/repos/asf/stratos/blob/bd5e2f8d/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationsMessageProcessorChain.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationsMessageProcessorChain.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationsMessageProcessorChain.java index bed9b0d..71a968e 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationsMessageProcessorChain.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationsMessageProcessorChain.java @@ -101,7 +101,6 @@ public class ApplicationsMessageProcessorChain extends MessageProcessorChain { } public void addEventListener(EventListener eventListener) { - if (eventListener instanceof GroupInstanceCreatedEventListener) { groupCreatedMessageProcessor.addEventListener(eventListener); } else if (eventListener instanceof GroupInstanceInactivateEventListener) { @@ -136,4 +135,41 @@ public class ApplicationsMessageProcessorChain extends MessageProcessorChain { throw new RuntimeException("Unknown event listener " + eventListener.toString()); } } + + + public void removeEventListener(EventListener eventListener) { + if (eventListener instanceof GroupInstanceCreatedEventListener) { + groupCreatedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof GroupInstanceInactivateEventListener) { + groupInactivateMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof GroupInstanceActivatedEventListener) { + groupActivatedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof GroupInstanceTerminatingEventListener) { + groupTerminatingProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof GroupInstanceTerminatedEventListener) { + groupTerminatedProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ApplicationInstanceCreatedEventListener) { + applicationInstanceCreatedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ApplicationCreatedEventListener) { + applicationCreatedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ApplicationUndeployedEventListener) { + applicationUpdatedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ApplicationDeletedEventListener) { + applicationDeletedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ApplicationInstanceActivatedEventListener) { + applicationActivatedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ApplicationInstanceInactivatedEventListener) { + applicationInactivatedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ApplicationInstanceTerminatingEventListener) { + applicationTerminatingMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ApplicationInstanceTerminatedEventListener) { + applicationTerminatedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof CompleteApplicationsEventListener) { + completeApplicationsMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof GroupMaintenanceModeEventListener){ + groupMaintenanceModeProcessor.removeEventListener(eventListener); + } else { + throw new RuntimeException("Unknown event listener " + eventListener.toString()); + } + } } http://git-wip-us.apache.org/repos/asf/stratos/blob/bd5e2f8d/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/signup/ApplicationSignUpMessageProcessorChain.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/signup/ApplicationSignUpMessageProcessorChain.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/signup/ApplicationSignUpMessageProcessorChain.java index c1a63f7..fea4092 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/signup/ApplicationSignUpMessageProcessorChain.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/signup/ApplicationSignUpMessageProcessorChain.java @@ -62,4 +62,17 @@ public class ApplicationSignUpMessageProcessorChain extends MessageProcessorChai throw new RuntimeException("Unknown event listener"); } } + + @Override + public void removeEventListener(EventListener eventListener) { + if (eventListener instanceof CompleteApplicationSignUpsEventListener) { + completeApplicationSignUpsMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ApplicationSignUpAddedEventListener) { + applicationSignUpAddedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ApplicationSignUpRemovedEventListener) { + applicationSignUpRemovedMessageProcessor.removeEventListener(eventListener); + } else { + throw new RuntimeException("Unknown event listener"); + } + } } http://git-wip-us.apache.org/repos/asf/stratos/blob/bd5e2f8d/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/cluster/status/ClusterStatusMessageProcessorChain.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/cluster/status/ClusterStatusMessageProcessorChain.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/cluster/status/ClusterStatusMessageProcessorChain.java index 090a586..87ceb73 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/cluster/status/ClusterStatusMessageProcessorChain.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/cluster/status/ClusterStatusMessageProcessorChain.java @@ -79,6 +79,24 @@ public class ClusterStatusMessageProcessorChain extends MessageProcessorChain { } else { throw new RuntimeException("Unknown event listener " + eventListener.toString()); } + } + @Override + public void removeEventListener(EventListener eventListener) { + if (eventListener instanceof ClusterStatusClusterResetEventListener) { + clusterResetMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ClusterStatusClusterInactivateEventListener) { + clusterInactivateMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ClusterStatusClusterActivatedEventListener) { + clusterActivatedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ClusterStatusClusterTerminatingEventListener) { + clusterTerminatingMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ClusterStatusClusterTerminatedEventListener) { + clusterTerminatedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ClusterStatusClusterInstanceCreatedEventListener) { + clusterInstanceCreatedMessageProcessor.removeEventListener(eventListener); + } else { + throw new RuntimeException("Unknown event listener " + eventListener.toString()); + } } } http://git-wip-us.apache.org/repos/asf/stratos/blob/bd5e2f8d/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/domain/mapping/DomainMappingMessageProcessorChain.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/domain/mapping/DomainMappingMessageProcessorChain.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/domain/mapping/DomainMappingMessageProcessorChain.java index ab4452b..9f494f8 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/domain/mapping/DomainMappingMessageProcessorChain.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/domain/mapping/DomainMappingMessageProcessorChain.java @@ -55,4 +55,15 @@ public class DomainMappingMessageProcessorChain extends MessageProcessorChain { throw new RuntimeException("Unknown event listener"); } } + + @Override + public void removeEventListener(EventListener eventListener) { + if (eventListener instanceof DomainMappingAddedEventListener) { + domainNameAddedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof DomainMappingRemovedEventListener) { + domainNameRemovedMessageProcessor.removeEventListener(eventListener); + } else { + throw new RuntimeException("Unknown event listener"); + } + } } http://git-wip-us.apache.org/repos/asf/stratos/blob/bd5e2f8d/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/HealthStatMessageProcessorChain.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/HealthStatMessageProcessorChain.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/HealthStatMessageProcessorChain.java index 70bde39..2066a0a 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/HealthStatMessageProcessorChain.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/health/stat/HealthStatMessageProcessorChain.java @@ -93,7 +93,6 @@ public class HealthStatMessageProcessorChain extends MessageProcessorChain { } public void addEventListener(EventListener eventListener) { - if (eventListener instanceof AverageLoadAverageEventListener) { averageLoadAverageMessageProcessor.addEventListener(eventListener); } else if (eventListener instanceof AverageMemoryConsumptionEventListener) { @@ -126,10 +125,48 @@ public class HealthStatMessageProcessorChain extends MessageProcessorChain { secondDerivativeOfLoadAverageMessageProcessor.addEventListener(eventListener); } else if (eventListener instanceof SecondDerivativeOfMemoryConsumptionEventListener) { secondDerivativeOfMemoryConsumptionMessageProcessor.addEventListener(eventListener); - } else if (eventListener instanceof SecondDerivativeOfRequestsInFlightEventListener) { secondDerivativeOfRequestsInFlightMessageProcessor.addEventListener(eventListener); + } else { + throw new RuntimeException("Unknown event listener"); + } + } + public void removeEventListener(EventListener eventListener) { + if (eventListener instanceof AverageLoadAverageEventListener) { + averageLoadAverageMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof AverageMemoryConsumptionEventListener) { + averageMemoryConsumptionMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof AverageRequestsInFlightEventListener) { + averageRequestsInFlightMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof AverageRequestsServingCapabilityEventListener) { + averageRequestsServingCapabilityMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof GradientOfLoadAverageEventListener) { + gradientOfLoadAverageMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof GradientOfMemoryConsumptionEventListener) { + gradientOfMemoryConsumptionMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof GradientOfRequestsInFlightEventListener) { + gradientOfRequestsInFlightMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof MemberAverageLoadAverageEventListener) { + memberAverageLoadAverageMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof MemberAverageMemoryConsumptionEventListener) { + memberAverageMemoryConsumptionMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof MemberFaultEventListener) { + memberFaultMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof MemberGradientOfLoadAverageEventListener) { + memberGradientOfLoadAverageMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof MemberGradientOfMemoryConsumptionEventListener) { + memberGradientOfMemoryConsumptionMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof MemberSecondDerivativeOfLoadAverageEventListener) { + memberSecondDerivativeOfLoadAverageMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof MemberSecondDerivativeOfMemoryConsumptionEventListener) { + memberSecondDerivativeOfMemoryConsumptionMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof SecondDerivativeOfLoadAverageEventListener) { + secondDerivativeOfLoadAverageMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof SecondDerivativeOfMemoryConsumptionEventListener) { + secondDerivativeOfMemoryConsumptionMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof SecondDerivativeOfRequestsInFlightEventListener) { + secondDerivativeOfRequestsInFlightMessageProcessor.removeEventListener(eventListener); } else { throw new RuntimeException("Unknown event listener"); } http://git-wip-us.apache.org/repos/asf/stratos/blob/bd5e2f8d/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/initializer/InitializerMessageProcessorChain.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/initializer/InitializerMessageProcessorChain.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/initializer/InitializerMessageProcessorChain.java index f3e292f..44398b7 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/initializer/InitializerMessageProcessorChain.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/initializer/InitializerMessageProcessorChain.java @@ -67,4 +67,19 @@ public class InitializerMessageProcessorChain extends MessageProcessorChain { throw new RuntimeException("Unknown event listener"); } } + + @Override + public void removeEventListener(EventListener eventListener) { + if (eventListener instanceof CompleteTopologyRequestEventListener) { + completeTopologyRequestMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof CompleteApplicationsRequestEventListener) { + completeApplicationsRequestMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof CompleteTenantRequestEventListener) { + completeTenantRequestMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof CompleteApplicationSignUpsRequestEventListener) { + completeApplicationSignUpsRequestMessageProcessor.removeEventListener(eventListener); + } else { + throw new RuntimeException("Unknown event listener"); + } + } } http://git-wip-us.apache.org/repos/asf/stratos/blob/bd5e2f8d/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/instance/notifier/InstanceNotifierMessageProcessorChain.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/instance/notifier/InstanceNotifierMessageProcessorChain.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/instance/notifier/InstanceNotifierMessageProcessorChain.java index 013a030..a8db9d8 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/instance/notifier/InstanceNotifierMessageProcessorChain.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/instance/notifier/InstanceNotifierMessageProcessorChain.java @@ -63,4 +63,16 @@ public class InstanceNotifierMessageProcessorChain extends MessageProcessorChain throw new RuntimeException("Unknown event listener"); } } + + public void removeEventListener(EventListener eventListener) { + if (eventListener instanceof ArtifactUpdateEventListener) { + artifactUpdateMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof InstanceCleanupMemberEventListener) { + instanceCleanupMemberNotifierMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof InstanceCleanupClusterEventListener) { + instanceCleanupClusterNotifierMessageProcessor.removeEventListener(eventListener); + } else { + throw new RuntimeException("Unknown event listener"); + } + } } http://git-wip-us.apache.org/repos/asf/stratos/blob/bd5e2f8d/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/instance/status/InstanceStatusMessageProcessorChain.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/instance/status/InstanceStatusMessageProcessorChain.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/instance/status/InstanceStatusMessageProcessorChain.java index 8e6a7de..4b5daed 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/instance/status/InstanceStatusMessageProcessorChain.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/instance/status/InstanceStatusMessageProcessorChain.java @@ -73,4 +73,18 @@ public class InstanceStatusMessageProcessorChain extends MessageProcessorChain { throw new RuntimeException("Unknown event listener"); } } + + public void removeEventListener(EventListener eventListener) { + if (eventListener instanceof InstanceStartedEventListener) { + instanceStatusMemberStartedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof InstanceReadyToShutdownEventListener) { + instanceStatusMemberReadyToShutdownMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof InstanceMaintenanceListener) { + instanceStatusMemberMaintenanceMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof InstanceActivatedEventListener) { + instanceStatusMemberActivatedMessageProcessor.removeEventListener(eventListener); + } else { + throw new RuntimeException("Unknown event listener"); + } + } } http://git-wip-us.apache.org/repos/asf/stratos/blob/bd5e2f8d/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/tenant/TenantMessageProcessorChain.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/tenant/TenantMessageProcessorChain.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/tenant/TenantMessageProcessorChain.java index 53c6085..bfb23ba 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/tenant/TenantMessageProcessorChain.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/tenant/TenantMessageProcessorChain.java @@ -71,4 +71,18 @@ public class TenantMessageProcessorChain extends MessageProcessorChain { throw new RuntimeException("Unknown event listener"); } } + + public void removeEventListener(EventListener eventListener) { + if (eventListener instanceof CompleteTenantEventListener) { + completeTenantMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof TenantCreatedEventListener) { + tenantCreatedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof TenantUpdatedEventListener) { + tenantUpdatedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof TenantRemovedEventListener) { + tenantRemovedMessageProcessor.removeEventListener(eventListener); + } else { + throw new RuntimeException("Unknown event listener"); + } + } } http://git-wip-us.apache.org/repos/asf/stratos/blob/bd5e2f8d/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/TopologyMessageProcessorChain.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/TopologyMessageProcessorChain.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/TopologyMessageProcessorChain.java index a026a50..4dadcb7 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/TopologyMessageProcessorChain.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/TopologyMessageProcessorChain.java @@ -171,4 +171,52 @@ public class TopologyMessageProcessorChain extends MessageProcessorChain { throw new RuntimeException("Unknown event listener"); } } + + public void removeEventListener(EventListener eventListener) { + if (eventListener instanceof CompleteTopologyEventListener) { + completeTopologyMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ClusterCreatedEventListener) { + clusterCreatedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ApplicationClustersCreatedEventListener) { + appClustersCreatedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ApplicationClustersRemovedEventListener) { + appClustersRemovedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ClusterInstanceActivatedEventListener) { + clusterActivatedProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ClusterInstanceInactivateEventListener) { + clusterInactivateProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ClusterRemovedEventListener) { + clusterRemovedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ClusterInstanceCreatedEventListener) { + clusterInstanceCreatedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ClusterInstanceTerminatedEventListener) { + clusterTerminatedProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ClusterResetEventListener) { + clusterResetMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ClusterInstanceTerminatingEventListener) { + clusterTerminatingProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof MemberCreatedEventListener) { + memberCreatedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof MemberInitializedEventListener) { + memberInitializedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof MemberActivatedEventListener) { + memberActivatedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof MemberStartedEventListener) { + memberStartedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof MemberReadyToShutdownEventListener) { + memberReadyToShutdownProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof MemberSuspendedEventListener) { + memberSuspendedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof MemberTerminatedEventListener) { + memberTerminatedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ServiceCreatedEventListener) { + serviceCreatedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof ServiceRemovedEventListener) { + serviceRemovedMessageProcessor.removeEventListener(eventListener); + } else if (eventListener instanceof MemberMaintenanceListener) { + memberMaintenanceModeProcessor.removeEventListener(eventListener); + } else { + throw new RuntimeException("Unknown event listener"); + } + } } http://git-wip-us.apache.org/repos/asf/stratos/blob/bd5e2f8d/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/application/ApplicationsEventMessageDelegator.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/application/ApplicationsEventMessageDelegator.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/application/ApplicationsEventMessageDelegator.java index 29e57cc..59ef5ca 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/application/ApplicationsEventMessageDelegator.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/application/ApplicationsEventMessageDelegator.java @@ -41,6 +41,10 @@ public class ApplicationsEventMessageDelegator implements Runnable { processorChain.addEventListener(eventListener); } + public void removeEventListener(EventListener eventListener){ + processorChain.removeEventListener(eventListener); + } + @Override public void run() { try { http://git-wip-us.apache.org/repos/asf/stratos/blob/bd5e2f8d/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/application/ApplicationsEventReceiver.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/application/ApplicationsEventReceiver.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/application/ApplicationsEventReceiver.java index d7e7196..9306ad2 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/application/ApplicationsEventReceiver.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/application/ApplicationsEventReceiver.java @@ -47,6 +47,10 @@ public class ApplicationsEventReceiver { messageDelegator.addEventListener(eventListener); } + public void removeEventListener(EventListener eventListener) { + messageDelegator.removeEventListener(eventListener); + } + public void execute() { try { // Start topic subscriber thread
