Repository: stratos
Updated Branches:
  refs/heads/stratos-4.1.x 4e868f24f -> e9bef7da5


Formatting Application message processors and improving logs


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

Branch: refs/heads/stratos-4.1.x
Commit: 6b4be642d76b815906663156e8717f2f13d995d2
Parents: 5344c39
Author: Akila Perera <[email protected]>
Authored: Sun Nov 29 23:54:19 2015 +0530
Committer: Akila Perera <[email protected]>
Committed: Mon Nov 30 00:33:45 2015 +0530

----------------------------------------------------------------------
 .../ApplicationCreatedMessageProcessor.java     | 25 ++++++------
 .../ApplicationDeletedMessageProcessor.java     | 12 +++---
 ...cationInstanceActivatedMessageProcessor.java | 42 ++++++++++----------
 ...licationInstanceCreatedMessageProcessor.java | 25 ++++++------
 ...tionInstanceInactivatedMessageProcessor.java | 40 ++++++++++---------
 ...ationInstanceTerminatedMessageProcessor.java | 25 ++++++------
 ...tionInstanceTerminatingMessageProcessor.java | 41 ++++++++++---------
 7 files changed, 109 insertions(+), 101 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/6b4be642/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationCreatedMessageProcessor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationCreatedMessageProcessor.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationCreatedMessageProcessor.java
index 83622ee..2bbd1f5 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationCreatedMessageProcessor.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationCreatedMessageProcessor.java
@@ -39,15 +39,13 @@ public class ApplicationCreatedMessageProcessor extends 
MessageProcessor {
 
     @Override
     public boolean process(String type, String message, Object object) {
-
         Applications applications = (Applications) object;
-
         if (ApplicationCreatedEvent.class.getName().equals(type)) {
             if (!applications.isInitialized()) {
                 return false;
             }
-
-            ApplicationCreatedEvent event = (ApplicationCreatedEvent) 
MessagingUtil.jsonToObject(message, ApplicationCreatedEvent.class);
+            ApplicationCreatedEvent event = (ApplicationCreatedEvent) 
MessagingUtil
+                    .jsonToObject(message, ApplicationCreatedEvent.class);
             if (event == null) {
                 log.error("Unable to convert the JSON message to 
ApplicationCreatedEvent");
                 return false;
@@ -60,19 +58,19 @@ public class ApplicationCreatedMessageProcessor extends 
MessageProcessor {
             } finally {
                 ApplicationsUpdater.releaseWriteLockForApplications();
             }
-
         } else {
             if (nextProcessor != null) {
                 // ask the next processor to take care of the message.
                 return nextProcessor.process(type, message, applications);
             } else {
-                throw new RuntimeException(String.format("Failed to process 
message using available message processors: [type] %s [body] %s", type, 
message));
+                throw new RuntimeException(String.format(
+                        "Failed to process message using available message 
processors: [type] %s, [body] %s", type,
+                        message));
             }
         }
     }
 
     private boolean doProcess(ApplicationCreatedEvent event, Applications 
applications) {
-
         // check if required properties are available
         if (event.getApplication() == null) {
             String errorMsg = "Application object of application created event 
is invalid";
@@ -80,8 +78,10 @@ public class ApplicationCreatedMessageProcessor extends 
MessageProcessor {
             throw new RuntimeException(errorMsg);
         }
 
-        if (event.getApplication().getUniqueIdentifier() == null || 
event.getApplication().getUniqueIdentifier().isEmpty()) {
-            String errorMsg = "App id of application created event is invalid: 
[ " + event.getApplication().getUniqueIdentifier() + " ]";
+        if (event.getApplication().getUniqueIdentifier() == null || 
event.getApplication().getUniqueIdentifier()
+                .isEmpty()) {
+            String errorMsg = String.format("App id of application created 
event is invalid: [%s]",
+                    event.getApplication().getUniqueIdentifier());
             log.error(errorMsg);
             throw new RuntimeException(errorMsg);
         }
@@ -89,16 +89,17 @@ public class ApplicationCreatedMessageProcessor extends 
MessageProcessor {
         // check if an Application with same name exists in applications
         if 
(applications.applicationExists(event.getApplication().getUniqueIdentifier())) {
             if (log.isDebugEnabled()) {
-                log.debug("Application with id [ " + 
event.getApplication().getUniqueIdentifier() + " ] already exists");
+                log.debug(String.format("App id of application created event 
already exists: [%s]",
+                        event.getApplication().getUniqueIdentifier()));
             }
         } else {
             // add application and the clusters to Topology
             applications.addApplication(event.getApplication());
             if (log.isInfoEnabled()) {
-                log.info("Application with id [ " + 
event.getApplication().getUniqueIdentifier() + " ] created");
+                log.info(String.format("Application created with id: [%s]",
+                        event.getApplication().getUniqueIdentifier()));
             }
         }
-
         notifyEventListeners(event);
         return true;
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/6b4be642/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationDeletedMessageProcessor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationDeletedMessageProcessor.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationDeletedMessageProcessor.java
index f1dc19c..61c4d39 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationDeletedMessageProcessor.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationDeletedMessageProcessor.java
@@ -39,15 +39,14 @@ public class ApplicationDeletedMessageProcessor extends 
MessageProcessor {
 
     @Override
     public boolean process(String type, String message, Object object) {
-
         Applications applications = (Applications) object;
-
         if (ApplicationDeletedEvent.class.getName().equals(type)) {
             if (!applications.isInitialized()) {
                 return false;
             }
 
-            ApplicationDeletedEvent event = (ApplicationDeletedEvent) 
MessagingUtil.jsonToObject(message, ApplicationDeletedEvent.class);
+            ApplicationDeletedEvent event = (ApplicationDeletedEvent) 
MessagingUtil
+                    .jsonToObject(message, ApplicationDeletedEvent.class);
             if (event == null) {
                 log.error("Unable to convert the JSON message to 
ApplicationDeletedEvent");
                 return false;
@@ -66,13 +65,14 @@ public class ApplicationDeletedMessageProcessor extends 
MessageProcessor {
                 // ask the next processor to take care of the message.
                 return nextProcessor.process(type, message, applications);
             } else {
-                throw new RuntimeException(String.format("Failed to process 
message using available message processors: [type] %s [body] %s", type, 
message));
+                throw new RuntimeException(String.format(
+                        "Failed to process message using available message 
processors: [type] %s [body] %s", type,
+                        message));
             }
         }
     }
 
     private boolean doProcess(ApplicationDeletedEvent event, Applications 
applications) {
-
         // check if required properties are available
         if (event.getAppId() == null || event.getAppId().isEmpty()) {
             String errorMsg = "App id of application deleted event is invalid: 
[ " + event.getAppId() + " ]";
@@ -82,13 +82,11 @@ public class ApplicationDeletedMessageProcessor extends 
MessageProcessor {
 
         // Remove application and clusters from topology
         applications.removeApplication(event.getAppId());
-
         notifyEventListeners(event);
 
         if (log.isInfoEnabled()) {
             log.info("[Application] " + event.getAppId() + " has been 
successfully removed");
         }
-
         return true;
     }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/6b4be642/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceActivatedMessageProcessor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceActivatedMessageProcessor.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceActivatedMessageProcessor.java
index 862ad8e..1acd9f6 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceActivatedMessageProcessor.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceActivatedMessageProcessor.java
@@ -33,10 +33,7 @@ import org.apache.stratos.messaging.util.MessagingUtil;
  * This processor responsible to process the application activation even and 
update the Topology.
  */
 public class ApplicationInstanceActivatedMessageProcessor extends 
MessageProcessor {
-    private static final Log log =
-            
LogFactory.getLog(ApplicationInstanceActivatedMessageProcessor.class);
-
-
+    private static final Log log = 
LogFactory.getLog(ApplicationInstanceActivatedMessageProcessor.class);
     private MessageProcessor nextProcessor;
 
     @Override
@@ -44,15 +41,15 @@ public class ApplicationInstanceActivatedMessageProcessor 
extends MessageProcess
         this.nextProcessor = nextProcessor;
     }
 
-
     @Override
     public boolean process(String type, String message, Object object) {
         Applications applications = (Applications) object;
 
         if (ApplicationInstanceActivatedEvent.class.getName().equals(type)) {
             // Return if applications has not been initialized
-            if (!applications.isInitialized())
+            if (!applications.isInitialized()) {
                 return false;
+            }
 
             // Parse complete message and build event
             ApplicationInstanceActivatedEvent event = 
(ApplicationInstanceActivatedEvent) MessagingUtil.
@@ -61,7 +58,6 @@ public class ApplicationInstanceActivatedMessageProcessor 
extends MessageProcess
             try {
                 
ApplicationsUpdater.acquireWriteLockForApplication(event.getAppId());
                 return doProcess(event, applications);
-
             } finally {
                 
ApplicationsUpdater.releaseWriteLockForApplication(event.getAppId());
             }
@@ -71,37 +67,43 @@ public class ApplicationInstanceActivatedMessageProcessor 
extends MessageProcess
                 // ask the next processor to take care of the message.
                 return nextProcessor.process(type, message, applications);
             } else {
-                throw new RuntimeException(String.format("Failed to process 
message using available message processors: [type] %s [body] %s", type, 
message));
+                throw new RuntimeException(String.format(
+                        "Failed to process message using available message 
processors: [type] %s [body] %s", type,
+                        message));
             }
         }
     }
 
     private boolean doProcess(ApplicationInstanceActivatedEvent event, 
Applications applications) {
-
         // Validate event against the existing applications
         Application application = 
applications.getApplication(event.getAppId());
         if (application == null) {
             if (log.isWarnEnabled()) {
-                log.warn(String.format("Application does not exist: [service] 
%s",
-                        event.getAppId()));
+                log.warn(String.format("Application does not exist: 
[application-id] %s", event.getAppId()));
             }
             return false;
         } else {
             // Apply changes to the applications
-            ApplicationInstance context = 
application.getInstanceContexts(event.getInstanceId());
-            if (context == null) {
+            ApplicationInstance applicationInstance = 
application.getInstanceContexts(event.getInstanceId());
+            if (applicationInstance == null) {
                 if (log.isWarnEnabled()) {
-                    log.warn(String.format("Application instance not exists in 
group: [AppId] %s" +
-                            "[instanceId] %s", event.getAppId(), 
event.getInstanceId()));
+                    log.warn(String.format(
+                            "Application instance not exists in group: 
[application-id] %s [instance-id] %s",
+                            event.getAppId(), event.getInstanceId()));
                 }
-
                 return false;
             }
-            ApplicationStatus status = ApplicationStatus.Active;
-            if (!context.isStateTransitionValid(status)) {
-                log.error("Invalid application state transfer from [" + 
context.getStatus() + "] to [" + status + "]");
+            ApplicationStatus currentStatus = applicationInstance.getStatus();
+            if 
(!applicationInstance.isStateTransitionValid(ApplicationStatus.Active)) {
+                log.error(String.format("Invalid application state transfer 
[from] %s [to] %s", currentStatus,
+                        ApplicationStatus.Active));
+                return false;
+            }
+            applicationInstance.setStatus(ApplicationStatus.Active);
+            if (log.isDebugEnabled()) {
+                log.debug(String.format("Application instance status updated 
[from] %s [to] %s for [instance-id] %s",
+                        currentStatus, ApplicationStatus.Active, 
applicationInstance.getInstanceId()));
             }
-            context.setStatus(status);
         }
 
         // Notify event listeners

http://git-wip-us.apache.org/repos/asf/stratos/blob/6b4be642/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceCreatedMessageProcessor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceCreatedMessageProcessor.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceCreatedMessageProcessor.java
index e56d7bf..5e79f85 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceCreatedMessageProcessor.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceCreatedMessageProcessor.java
@@ -45,9 +45,8 @@ public class ApplicationInstanceCreatedMessageProcessor 
extends MessageProcessor
             if (!applications.isInitialized()) {
                 return false;
             }
-            ApplicationInstanceCreatedEvent event =
-                    (ApplicationInstanceCreatedEvent) 
MessagingUtil.jsonToObject(message,
-                            ApplicationInstanceCreatedEvent.class);
+            ApplicationInstanceCreatedEvent event = 
(ApplicationInstanceCreatedEvent) MessagingUtil
+                    .jsonToObject(message, 
ApplicationInstanceCreatedEvent.class);
             if (event == null) {
                 log.error("Unable to convert the JSON message to 
ApplicationInstanceCreatedEvent");
                 return false;
@@ -56,8 +55,7 @@ public class ApplicationInstanceCreatedMessageProcessor 
extends MessageProcessor
             ApplicationsUpdater.acquireWriteLockForApplications();
             try {
                 return doProcess(event, applications);
-            }
-            finally {
+            } finally {
                 ApplicationsUpdater.releaseWriteLockForApplications();
             }
         } else {
@@ -73,12 +71,12 @@ public class ApplicationInstanceCreatedMessageProcessor 
extends MessageProcessor
     }
 
     private boolean doProcess(ApplicationInstanceCreatedEvent event, 
Applications applications) {
-
         // check if required properties are available
         if (event.getApplicationInstance() == null || event.getApplicationId() 
== null) {
-            String errorMsg = "Application instance object of 
ApplicationInstanceCreatedEvent is invalid. " +
-                    "[ApplicationId] " + event.getApplicationId() + ", 
[ApplicationInstance] " +
-                    event.getApplicationInstance();
+            String errorMsg = String
+                    .format("Application instance object of 
ApplicationInstanceCreatedEvent is invalid: "
+                                    + "[application-id] %s, [app-instance-id] 
%s", event.getApplicationId(),
+                            event.getApplicationInstance().getInstanceId());
             log.error(errorMsg);
             throw new RuntimeException(errorMsg);
         }
@@ -90,8 +88,8 @@ public class ApplicationInstanceCreatedMessageProcessor 
extends MessageProcessor
         ApplicationInstance applicationInstance = 
event.getApplicationInstance();
 
         if (applicationInstance.getInstanceId() == null || 
applicationInstance.getInstanceId().isEmpty()) {
-            String errorMsg = "App instance id of application instance created 
event is invalid: [ "
-                    + applicationInstance.getInstanceId() + " ]";
+            String errorMsg = String.format("Application instance created 
event is invalid: [app-instance-id] %s",
+                    applicationInstance.getInstanceId());
             log.error(errorMsg);
             throw new RuntimeException(errorMsg);
         }
@@ -99,7 +97,8 @@ public class ApplicationInstanceCreatedMessageProcessor 
extends MessageProcessor
         // check if an Application instance with same name exists in 
applications instance
         if (null != applications.getApplication(event.getApplicationId()).
                 
getInstanceByNetworkPartitionId(applicationInstance.getNetworkPartitionId())) {
-            log.warn("Application instance [AppInstanceId] " + 
applicationInstance.getInstanceId() + " already exists");
+            log.warn(String.format("Application instance [app-instance-id] %s 
already exists",
+                    applicationInstance.getInstanceId()));
         } else {
             // add application instance to Application Topology
             applications.getApplication(event.getApplicationId())
@@ -108,4 +107,4 @@ public class ApplicationInstanceCreatedMessageProcessor 
extends MessageProcessor
         notifyEventListeners(event);
         return true;
     }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/6b4be642/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceInactivatedMessageProcessor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceInactivatedMessageProcessor.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceInactivatedMessageProcessor.java
index 3f1b56c..daa2290 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceInactivatedMessageProcessor.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceInactivatedMessageProcessor.java
@@ -33,9 +33,7 @@ import org.apache.stratos.messaging.util.MessagingUtil;
  * This processor responsible to process the application Inactivation even and 
update the Topology.
  */
 public class ApplicationInstanceInactivatedMessageProcessor extends 
MessageProcessor {
-    private static final Log log =
-            
LogFactory.getLog(ApplicationInstanceInactivatedMessageProcessor.class);
-
+    private static final Log log = 
LogFactory.getLog(ApplicationInstanceInactivatedMessageProcessor.class);
 
     private MessageProcessor nextProcessor;
 
@@ -44,15 +42,15 @@ public class ApplicationInstanceInactivatedMessageProcessor 
extends MessageProce
         this.nextProcessor = nextProcessor;
     }
 
-
     @Override
     public boolean process(String type, String message, Object object) {
         Applications applications = (Applications) object;
 
         if (ApplicationInstanceInactivatedEvent.class.getName().equals(type)) {
             // Return if applications has not been initialized
-            if (!applications.isInitialized())
+            if (!applications.isInitialized()) {
                 return false;
+            }
 
             // Parse complete message and build event
             ApplicationInstanceInactivatedEvent event = 
(ApplicationInstanceInactivatedEvent) MessagingUtil.
@@ -72,38 +70,44 @@ public class ApplicationInstanceInactivatedMessageProcessor 
extends MessageProce
                 // ask the next processor to take care of the message.
                 return nextProcessor.process(type, message, applications);
             } else {
-                throw new RuntimeException(String.format("Failed to process 
message using available message processors: [type] %s [body] %s", type, 
message));
+                throw new RuntimeException(String.format(
+                        "Failed to process message using available message 
processors: [type] %s [body] %s", type,
+                        message));
             }
         }
     }
 
     private boolean doProcess(ApplicationInstanceInactivatedEvent event, 
Applications applications) {
-
         // Validate event against the existing applications
         Application application = 
applications.getApplication(event.getAppId());
         if (application == null) {
             if (log.isWarnEnabled()) {
-                log.warn(String.format("Application does not exist: [service] 
%s",
-                        event.getAppId()));
+                log.warn(String.format("Application does not exist: [service] 
%s", event.getAppId()));
             }
             return false;
         } else {
             // Apply changes to the applications
-            ApplicationInstance context = 
application.getInstanceContexts(event.getInstanceId());
-            if (context == null) {
+            ApplicationInstance applicationInstance = 
application.getInstanceContexts(event.getInstanceId());
+            if (applicationInstance == null) {
                 if (log.isWarnEnabled()) {
-                    log.warn(String.format("Application instance not exists in 
group: [application-id] %s" +
-                            "[instance-id] %s", event.getAppId(), 
event.getInstanceId()));
+                    log.warn(String.format(
+                            "Application instance not exists in group: 
[application-id] %s, [instance-id] %s",
+                            event.getAppId(), event.getInstanceId()));
                 }
 
                 return false;
             }
-            ApplicationStatus status = ApplicationStatus.Inactive;
-            if (!context.isStateTransitionValid(status)) {
-                log.error("Invalid state transfer from [ " + 
context.getStatus() +
-                        " ] to [ " + status + " ]");
+            ApplicationStatus currentStatus = applicationInstance.getStatus();
+            if 
(!applicationInstance.isStateTransitionValid(ApplicationStatus.Inactive)) {
+                log.error(String.format("Invalid application state transfer 
[from] %s [to] %s", currentStatus,
+                        ApplicationStatus.Inactive));
+                return false;
+            }
+            applicationInstance.setStatus(ApplicationStatus.Inactive);
+            if (log.isDebugEnabled()) {
+                log.debug(String.format("Application instance status updated 
[from] %s [to] %s for [instance-id] %s",
+                        currentStatus, ApplicationStatus.Inactive, 
applicationInstance.getInstanceId()));
             }
-            context.setStatus(status);
         }
 
         // Notify event listeners

http://git-wip-us.apache.org/repos/asf/stratos/blob/6b4be642/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceTerminatedMessageProcessor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceTerminatedMessageProcessor.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceTerminatedMessageProcessor.java
index 0753969..68e4557 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceTerminatedMessageProcessor.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceTerminatedMessageProcessor.java
@@ -32,9 +32,7 @@ import org.apache.stratos.messaging.util.MessagingUtil;
  * This processor responsible to process the application Inactivation even and 
update the Topology.
  */
 public class ApplicationInstanceTerminatedMessageProcessor extends 
MessageProcessor {
-    private static final Log log =
-            
LogFactory.getLog(ApplicationInstanceTerminatedMessageProcessor.class);
-
+    private static final Log log = 
LogFactory.getLog(ApplicationInstanceTerminatedMessageProcessor.class);
 
     private MessageProcessor nextProcessor;
 
@@ -43,15 +41,15 @@ public class ApplicationInstanceTerminatedMessageProcessor 
extends MessageProces
         this.nextProcessor = nextProcessor;
     }
 
-
     @Override
     public boolean process(String type, String message, Object object) {
         Applications applications = (Applications) object;
 
         if (ApplicationInstanceTerminatedEvent.class.getName().equals(type)) {
             // Return if applications has not been initialized
-            if (!applications.isInitialized())
+            if (!applications.isInitialized()) {
                 return false;
+            }
 
             // Parse complete message and build event
             ApplicationInstanceTerminatedEvent event = 
(ApplicationInstanceTerminatedEvent) MessagingUtil.
@@ -71,16 +69,18 @@ public class ApplicationInstanceTerminatedMessageProcessor 
extends MessageProces
                 // ask the next processor to take care of the message.
                 return nextProcessor.process(type, message, applications);
             } else {
-                throw new RuntimeException(String.format("Failed to process 
message using available message processors: [type] %s [body] %s", type, 
message));
+                throw new RuntimeException(String.format(
+                        "Failed to process message using available message 
processors: [type] %s [body] %s", type,
+                        message));
             }
         }
     }
 
     private boolean doProcess(ApplicationInstanceTerminatedEvent event, 
Applications applications) {
-
         // check if required properties are available
         if (event.getAppId() == null) {
-            String errorMsg = "Application Id of application removed event is 
invalid";
+            String errorMsg = "Application Id of application to be removed 
event is null. Failed to process "
+                    + "ApplicationInstanceTerminatedEvent";
             log.error(errorMsg);
             throw new RuntimeException(errorMsg);
         }
@@ -89,12 +89,15 @@ public class ApplicationInstanceTerminatedMessageProcessor 
extends MessageProces
         String appId = event.getAppId();
         String instanceId = event.getInstanceId();
         if (applications.applicationExists(appId)) {
-            log.warn("Application with id [ " + appId + " ] still exists in 
Applications, removing it");
+            log.warn(String.format(
+                    "Application [application-id] %s still exists. Removing 
application instance [instance-id] %s",
+                    appId, instanceId));
             ApplicationInstance instance = applications.getApplication(appId).
                     getInstanceContexts(instanceId);
             if (instance == null) {
                 if (log.isDebugEnabled()) {
-                    log.debug("Application [Instance] " + instanceId + " has 
already been removed");
+                    log.debug(String.format("Application instance 
[instance-id] %s has already been removed",
+                            instanceId));
                 }
             } else {
                 instance.setStatus(ApplicationStatus.Terminated);
@@ -102,9 +105,7 @@ public class ApplicationInstanceTerminatedMessageProcessor 
extends MessageProces
             }
 
         }
-
         notifyEventListeners(event);
         return true;
-
     }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/6b4be642/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceTerminatingMessageProcessor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceTerminatingMessageProcessor.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceTerminatingMessageProcessor.java
index bd184a1..a96b45c 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceTerminatingMessageProcessor.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceTerminatingMessageProcessor.java
@@ -33,9 +33,7 @@ import org.apache.stratos.messaging.util.MessagingUtil;
  * This processor responsible to process the application Inactivation even and 
update the Topology.
  */
 public class ApplicationInstanceTerminatingMessageProcessor extends 
MessageProcessor {
-    private static final Log log =
-            
LogFactory.getLog(ApplicationInstanceTerminatingMessageProcessor.class);
-
+    private static final Log log = 
LogFactory.getLog(ApplicationInstanceTerminatingMessageProcessor.class);
 
     private MessageProcessor nextProcessor;
 
@@ -44,15 +42,15 @@ public class ApplicationInstanceTerminatingMessageProcessor 
extends MessageProce
         this.nextProcessor = nextProcessor;
     }
 
-
     @Override
     public boolean process(String type, String message, Object object) {
         Applications applications = (Applications) object;
 
         if (ApplicationInstanceTerminatingEvent.class.getName().equals(type)) {
             // Return if applications has not been initialized
-            if (!applications.isInitialized())
+            if (!applications.isInitialized()) {
                 return false;
+            }
 
             // Parse complete message and build event
             ApplicationInstanceTerminatingEvent event = 
(ApplicationInstanceTerminatingEvent) MessagingUtil.
@@ -72,43 +70,48 @@ public class ApplicationInstanceTerminatingMessageProcessor 
extends MessageProce
                 // ask the next processor to take care of the message.
                 return nextProcessor.process(type, message, applications);
             } else {
-                throw new RuntimeException(String.format("Failed to process 
message using available message processors: [type] %s [body] %s", type, 
message));
+                throw new RuntimeException(String.format(
+                        "Failed to process message using available message 
processors: [type] %s [body] %s", type,
+                        message));
             }
         }
     }
 
     private boolean doProcess(ApplicationInstanceTerminatingEvent event, 
Applications applications) {
-
         // Validate event against the existing applications
         Application application = 
applications.getApplication(event.getAppId());
         if (application == null) {
             if (log.isWarnEnabled()) {
-                log.warn(String.format("Application does not exist: [service] 
%s",
-                        event.getAppId()));
+                log.warn(String.format("Application does not exist: 
[application-id] %s", event.getAppId()));
             }
             return false;
         } else {
             // Apply changes to the applications
-            ApplicationInstance context = 
application.getInstanceContexts(event.getInstanceId());
-            if (context == null) {
+            ApplicationInstance applicationInstance = 
application.getInstanceContexts(event.getInstanceId());
+            if (applicationInstance == null) {
                 if (log.isWarnEnabled()) {
-                    log.warn(String.format("Application Instance not exists in 
Group: [AppId] %s" +
-                            "[instanceId] %s", event.getAppId(), 
event.getInstanceId()));
+                    log.warn(String.format(
+                            "Application instance does not exist in group: 
[application-id] %s, [instance-id] %s",
+                            event.getAppId(), event.getInstanceId()));
                 }
 
                 return false;
             }
-            ApplicationStatus status = ApplicationStatus.Terminating;
-            if (!context.isStateTransitionValid(status)) {
-                log.error("Invalid State transfer from [ " + 
context.getStatus() +
-                        " ] to [ " + status + " ]");
+            ApplicationStatus currentStatus = applicationInstance.getStatus();
+            if 
(!applicationInstance.isStateTransitionValid(ApplicationStatus.Terminating)) {
+                log.error(String.format("Invalid application state transfer 
[from] %s [to] %s", currentStatus,
+                        ApplicationStatus.Terminating));
+                return false;
+            }
+            applicationInstance.setStatus(ApplicationStatus.Terminating);
+            if (log.isDebugEnabled()) {
+                log.debug(String.format("Application instance status updated 
[from] %s [to] %s for [instance-id] %s",
+                        currentStatus, ApplicationStatus.Terminating, 
applicationInstance.getInstanceId()));
             }
-            context.setStatus(status);
         }
 
         // Notify event listeners
         notifyEventListeners(event);
         return true;
-
     }
 }

Reply via email to