Repository: incubator-stratos
Updated Branches:
  refs/heads/master 2a0af3e5f -> 06491aada


Updated member terminated and tenant removed message processors to fire event 
listeners even if objects have been already removed


Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/a45d16ed
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/a45d16ed
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/a45d16ed

Branch: refs/heads/master
Commit: a45d16ed1f0ad40748c4f6f457aea347d23116c5
Parents: 4b0367b
Author: Imesh Gunaratne <[email protected]>
Authored: Fri Apr 18 10:06:38 2014 +0530
Committer: Imesh Gunaratne <[email protected]>
Committed: Fri Apr 18 10:06:38 2014 +0530

----------------------------------------------------------------------
 .../tenant/TenantRemovedMessageProcessor.java   | 12 ++++----
 .../MemberTerminatedMessageProcessor.java       | 32 ++++++--------------
 2 files changed, 16 insertions(+), 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/a45d16ed/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/tenant/TenantRemovedMessageProcessor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/tenant/TenantRemovedMessageProcessor.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/tenant/TenantRemovedMessageProcessor.java
index 0017eef..f079a16 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/tenant/TenantRemovedMessageProcessor.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/tenant/TenantRemovedMessageProcessor.java
@@ -58,14 +58,14 @@ public class TenantRemovedMessageProcessor extends 
MessageProcessor {
                 Tenant tenant = 
TenantManager.getInstance().getTenant(event.getTenantId());
                 if(tenant == null) {
                     if(log.isWarnEnabled()) {
-                        log.warn(String.format("Tenant not found: [tenant-id] 
%d", event.getTenantId()));
+                        log.warn(String.format("Tenant already removed: 
[tenant-id] %d", event.getTenantId()));
                     }
-                    return false;
                 }
-                TenantManager.getInstance().removeTenant(event.getTenantId());
-
-                if(log.isInfoEnabled()) {
-                    log.info(String.format("Tenant removed: [tenant-id] %d 
[tenant-domain] %s", tenant.getTenantId(), tenant.getTenantDomain()));
+                else {
+                    
TenantManager.getInstance().removeTenant(event.getTenantId());
+                    if(log.isInfoEnabled()) {
+                        log.info(String.format("Tenant removed: [tenant-id] %d 
[tenant-domain] %s", tenant.getTenantId(), tenant.getTenantDomain()));
+                    }
                 }
 
                 // Notify event listeners

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/a45d16ed/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/MemberTerminatedMessageProcessor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/MemberTerminatedMessageProcessor.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/MemberTerminatedMessageProcessor.java
index 4e9b713..461b0da 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/MemberTerminatedMessageProcessor.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/MemberTerminatedMessageProcessor.java
@@ -22,7 +22,6 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.messaging.domain.topology.Cluster;
 import org.apache.stratos.messaging.domain.topology.Member;
-import org.apache.stratos.messaging.domain.topology.MemberStatus;
 import org.apache.stratos.messaging.domain.topology.Service;
 import org.apache.stratos.messaging.domain.topology.Topology;
 import org.apache.stratos.messaging.event.topology.MemberTerminatedEvent;
@@ -93,27 +92,19 @@ public class MemberTerminatedMessageProcessor extends 
MessageProcessor {
                 return false;
             }
             Member member = cluster.getMember(event.getMemberId());
-            if (member == null) {
-                if (log.isWarnEnabled()) {
-                    log.warn(String.format("Member does not exist: [service] 
%s [cluster] %s [member] %s",
-                            event.getServiceName(),
-                            event.getClusterId(),
-                            event.getMemberId()));
-                }
-                return false;
-            }
-
-            // Apply member filter
-            if(TopologyMemberFilter.getInstance().isActive()) {
-                
if(TopologyMemberFilter.getInstance().lbClusterIdExcluded(member.getLbClusterId()))
 {
-                    if (log.isDebugEnabled()) {
-                        log.debug(String.format("Member is excluded: 
[lb-cluster-id] %s", member.getLbClusterId()));
+            if(member != null) {
+                // Apply member filter
+                if(TopologyMemberFilter.getInstance().isActive()) {
+                    
if(TopologyMemberFilter.getInstance().lbClusterIdExcluded(member.getLbClusterId()))
 {
+                        if (log.isDebugEnabled()) {
+                            log.debug(String.format("Member is excluded: 
[lb-cluster-id] %s", member.getLbClusterId()));
+                        }
+                        return false;
                     }
-                    return false;
                 }
             }
 
-            if (member.getStatus() == MemberStatus.Terminated) {
+            if (member == null) {
                 if (log.isWarnEnabled()) {
                     log.warn(String.format("Member already terminated: 
[service] %s [cluster] %s [member] %s",
                             event.getServiceName(),
@@ -121,10 +112,7 @@ public class MemberTerminatedMessageProcessor extends 
MessageProcessor {
                             event.getMemberId()));
                 }
             } else {
-               
-               // Apply changes to the topology
-               member.setStatus(MemberStatus.Terminated);
-               //removing the member from the cluster
+               // Remove member from the cluster
                cluster.removeMember(member);
                
                if (log.isInfoEnabled()) {

Reply via email to