renaming events with instance and adding apis for undeployment of policy

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

Branch: refs/heads/master
Commit: 5f8b31cedad8a24bc28a83e722d22fa018d88d30
Parents: eb38f73
Author: reka <[email protected]>
Authored: Wed Dec 3 12:32:54 2014 +0530
Committer: reka <[email protected]>
Committed: Wed Dec 3 13:36:56 2014 +0530

----------------------------------------------------------------------
 .../autoscaler/api/AutoScalerServiceImpl.java   |  6 +-
 .../applications/topic/ApplicationBuilder.java  | 79 ++++++++++++++++++--
 .../topic/ApplicationsEventPublisher.java       | 12 +--
 .../status/processor/StatusChecker.java         |  2 +-
 .../group/GroupStatusTerminatedProcessor.java   |  2 +-
 .../group/GroupStatusTerminatingProcessor.java  |  4 +-
 .../application/ApplicationTopicReceiver.java   | 28 +++----
 .../messaging/topology/TopologyBuilder.java     |  5 +-
 .../client/CloudControllerServiceClient.java    |  4 +-
 .../ApplicationInactivatedEvent.java            | 46 ------------
 .../ApplicationInstanceInactivatedEvent.java    | 46 ++++++++++++
 .../ApplicationInstanceTerminatedEvent.java     | 48 ++++++++++++
 .../ApplicationInstanceTerminatingEvent.java    | 48 ++++++++++++
 .../ApplicationTerminatedEvent.java             | 48 ------------
 .../ApplicationTerminatingEvent.java            | 48 ------------
 .../ApplicationInactivatedMessageProcessor.java | 10 +--
 .../ApplicationTerminatedMessageProcessor.java  | 14 ++--
 .../ApplicationTerminatingMessageProcessor.java | 10 +--
 18 files changed, 261 insertions(+), 199 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
index 977844d..5593e1f 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java
@@ -143,10 +143,8 @@ public class AutoScalerServiceImpl implements 
AutoScalerServiceInterface {
     }
 
     @Override
-    public boolean undeployDeploymentPolicy(String deploymentPolicyName) {
-
-        
//PolicyManager.getInstance().undeployDeploymentPolicy(deploymentPolicyName);
-        return false;
+    public boolean undeployDeploymentPolicy(String applicationId) {
+        return 
ApplicationBuilder.handleApplicationPolicyUndeployed(applicationId);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
index 5c9c873..f2d62c6 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
@@ -24,10 +24,12 @@ import 
org.apache.stratos.autoscaler.context.AutoscalerContext;
 import org.apache.stratos.autoscaler.applications.ApplicationHolder;
 import 
org.apache.stratos.autoscaler.applications.pojo.ApplicationClusterContext;
 import org.apache.stratos.autoscaler.client.CloudControllerClient;
+import 
org.apache.stratos.autoscaler.event.publisher.ClusterStatusEventPublisher;
 import org.apache.stratos.autoscaler.monitor.component.ApplicationMonitor;
 import org.apache.stratos.autoscaler.monitor.component.GroupMonitor;
 import org.apache.stratos.messaging.domain.applications.*;
 import org.apache.stratos.messaging.domain.instance.ApplicationInstance;
+import org.apache.stratos.messaging.domain.instance.ClusterInstance;
 import org.apache.stratos.messaging.domain.instance.GroupInstance;
 import org.apache.stratos.messaging.domain.topology.Cluster;
 import org.apache.stratos.messaging.domain.topology.Service;
@@ -204,7 +206,72 @@ public class ApplicationBuilder {
         }
     }
 
-    public static void handleApplicationTerminatedEvent(String appId) {
+    public static boolean handleApplicationPolicyUndeployed(String appId) {
+        if (log.isDebugEnabled()) {
+            log.debug("Handling application terminating event: 
[application-id] " + appId);
+        }
+        Set<ClusterDataHolder> clusterData;
+        ApplicationHolder.acquireWriteLock();
+        try {
+            Applications applications = ApplicationHolder.getApplications();
+            Application application = applications.getApplication(appId);
+            //update the status of the Group
+            if (application == null) {
+                log.warn(String.format("Application does not exist: 
[application-id] %s",
+                        appId));
+                return false;
+            }
+            clusterData = application.getClusterDataRecursively();
+            Collection<ApplicationInstance> context = application.
+                    getInstanceIdToInstanceContextMap().values();
+            ApplicationStatus status = ApplicationStatus.Terminating;
+            for (ApplicationInstance context1 : context) {
+                if (context1.isStateTransitionValid(status)) {
+                    //setting the status, persist and publish
+                    application.setStatus(status, context1.getInstanceId());
+                    updateApplicationMonitor(appId, status, 
context1.getInstanceId());
+                    ApplicationHolder.persistApplication(application);
+                    
ApplicationsEventPublisher.sendApplicationTerminatingEvent(appId, 
context1.getInstanceId());
+                } else {
+                    log.warn(String.format("Application Instance state 
transition is not valid: [application-id] %s " +
+                                    " [instance-id] %s [current-status] %s 
[status-requested] %s", appId,
+                            context1.getInstanceId() + context1.getStatus(), 
status));
+                }
+            }
+        } finally {
+            ApplicationHolder.releaseWriteLock();
+        }
+
+        // if monitors is not found for any cluster, assume cluster is not 
there and send cluster terminating event.
+        // this assumes the cluster monitor will not fail after creating 
members, but will only fail before
+        for (ClusterDataHolder aClusterData : clusterData) {
+            if 
(AutoscalerContext.getInstance().getClusterMonitor(aClusterData.getClusterId()) 
== null) {
+                
TopologyManager.acquireReadLockForCluster(aClusterData.getServiceType(),
+                        aClusterData.getClusterId());
+                try {
+                    Service service = 
TopologyManager.getTopology().getService(aClusterData.getServiceType());
+                    if (service != null) {
+                        Cluster cluster = 
service.getCluster(aClusterData.getClusterId());
+                        if (cluster != null) {
+                            for(ClusterInstance instance : 
cluster.getInstanceIdToInstanceContextMap().values()) {
+                                
ClusterStatusEventPublisher.sendClusterTerminatingEvent(appId,
+                                                                    
aClusterData.getServiceType(),
+                                                                    
aClusterData.getClusterId(),
+                                                                    
instance.getInstanceId());
+                            }
+                        }
+                    }
+                } finally {
+                    
TopologyManager.releaseReadLockForCluster(aClusterData.getServiceType(),
+                            aClusterData.getClusterId());
+                }
+
+            }
+        }
+        return true;
+    }
+
+    public static void handleApplicationTerminatedEvent(String appId, String 
instanceId) {
         if (log.isDebugEnabled()) {
             log.debug("Handling application terminated event: [application-id] 
" + appId);
         }
@@ -218,10 +285,10 @@ public class ApplicationBuilder {
             Set<ClusterDataHolder> clusterData = 
application.getClusterDataRecursively();
 
             ApplicationStatus status = ApplicationStatus.Terminated;
-            if (application.isStateTransitionValid(status, null)) {
+            if (application.isStateTransitionValid(status, instanceId)) {
                 //setting the status, persist and publish
-                application.setStatus(status, null);
-                updateApplicationMonitor(appId, status, null);
+                application.setStatus(status, instanceId);
+                updateApplicationMonitor(appId, status, instanceId);
                 //removing the monitor
                 AutoscalerContext.getInstance().removeAppMonitor(appId);
                 //Removing the application from memory and registry
@@ -231,7 +298,9 @@ public class ApplicationBuilder {
                 
ApplicationsEventPublisher.sendApplicationTerminatedEvent(appId, clusterData);
             } else {
                 log.warn(String.format("Application state transition is not 
valid: [application-id] %s " +
-                        " [current-status] %s [status-requested] %s", appId, 
application.getStatus(null), status));
+                        " [current-status] %s [status-requested] %s", appId,
+                        
application.getInstanceContexts(instanceId).getStatus(),
+                        status));
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationsEventPublisher.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationsEventPublisher.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationsEventPublisher.java
index 68aaa12..1f4f6ca 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationsEventPublisher.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationsEventPublisher.java
@@ -96,8 +96,8 @@ public class ApplicationsEventPublisher {
         if (log.isInfoEnabled()) {
             log.info("Publishing Application In-activated event for 
[application]: " + appId);
         }
-        ApplicationInactivatedEvent applicationInActivatedEvent =
-                new ApplicationInactivatedEvent(appId, instanceId);
+        ApplicationInstanceInactivatedEvent applicationInActivatedEvent =
+                new ApplicationInstanceInactivatedEvent(appId, instanceId);
         publishEvent(applicationInActivatedEvent);
 
     }
@@ -106,8 +106,8 @@ public class ApplicationsEventPublisher {
         if (log.isInfoEnabled()) {
             log.info("Publishing Application terminating event for 
[application]: " + appId);
         }
-        ApplicationTerminatingEvent applicationTerminatingEvent =
-                new ApplicationTerminatingEvent(appId, instanceId);
+        ApplicationInstanceTerminatingEvent applicationTerminatingEvent =
+                new ApplicationInstanceTerminatingEvent(appId, instanceId);
         publishEvent(applicationTerminatingEvent);
     }
 
@@ -115,8 +115,8 @@ public class ApplicationsEventPublisher {
         if (log.isInfoEnabled()) {
             log.info("Publishing Application terminated event for 
[application]: " + appId);
         }
-        ApplicationTerminatedEvent applicationTerminatedEvent =
-                new ApplicationTerminatedEvent(appId, clusterData);
+        ApplicationInstanceTerminatedEvent applicationTerminatedEvent =
+                new ApplicationInstanceTerminatedEvent(appId, clusterData);
         publishEvent(applicationTerminatedEvent);
     }
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/StatusChecker.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/StatusChecker.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/StatusChecker.java
index daff8ba..7d7ed31 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/StatusChecker.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/StatusChecker.java
@@ -350,7 +350,7 @@ public class StatusChecker {
             //send the terminated event
             if (component instanceof Application) {
                 log.info("sending app terminated: " + appId);
-                ApplicationBuilder.handleApplicationTerminatedEvent(appId);
+                ApplicationBuilder.handleApplicationTerminatedEvent(appId, 
null);
             } else if (component instanceof Group) {
                 //send activation to the parent
                 if (((Group) component).getStatus(null) != 
GroupStatus.Terminated) {

http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatedProcessor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatedProcessor.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatedProcessor.java
index 3ea460d..e2a6368 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatedProcessor.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatedProcessor.java
@@ -93,7 +93,7 @@ public class GroupStatusTerminatedProcessor extends 
GroupStatusProcessor {
                     //send the terminated event
                     if (component instanceof Application) {
                         log.info("sending app terminated: " + appId);
-                        
ApplicationBuilder.handleApplicationTerminatedEvent(appId);
+                        
ApplicationBuilder.handleApplicationTerminatedEvent(appId, instanceId);
                         return true;
                     } else if (component instanceof Group) {
                         //send activation to the parent

http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatingProcessor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatingProcessor.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatingProcessor.java
index 5d51f23..37b2a2d 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatingProcessor.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatingProcessor.java
@@ -94,13 +94,13 @@ public class GroupStatusTerminatingProcessor extends 
GroupStatusProcessor {
                     //send the terminated event
                     if (component instanceof Application) {
                         log.info("sending app terminated: " + appId);
-                        
ApplicationBuilder.handleApplicationTerminatedEvent(appId);
+                        
ApplicationBuilder.handleApplicationTerminatedEvent(appId, instanceId);
                         return true;
                     } else if (component instanceof Group) {
                         //send activation to the parent
                         if (((Group) component).getStatus(null) != 
GroupStatus.Terminated) {
                             log.info("sending group terminated : " + 
component.getUniqueIdentifier());
-                            
ApplicationBuilder.handleGroupTerminatedEvent(appId,
+                            
ApplicationBuilder.handleGroupTerminatingEvent(appId,
                                     component.getUniqueIdentifier(), 
instanceId);
                             return true;
                         }

http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/application/ApplicationTopicReceiver.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/application/ApplicationTopicReceiver.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/application/ApplicationTopicReceiver.java
index 9df4f3a..22f1c5c 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/application/ApplicationTopicReceiver.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/receiver/application/ApplicationTopicReceiver.java
@@ -22,7 +22,7 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.cloud.controller.messaging.topology.TopologyBuilder;
 import org.apache.stratos.messaging.event.Event;
-import 
org.apache.stratos.messaging.event.applications.ApplicationTerminatedEvent;
+import 
org.apache.stratos.messaging.event.applications.ApplicationInstanceTerminatedEvent;
 import 
org.apache.stratos.messaging.listener.applications.ApplicationTerminatedEventListener;
 import 
org.apache.stratos.messaging.message.receiver.applications.ApplicationsEventReceiver;
 
@@ -57,19 +57,6 @@ public class ApplicationTopicReceiver {
 
        }
 
-       private void addEventListeners() {
-               applicationsEventReceiver.addEventListener(new 
ApplicationTerminatedEventListener() {
-                       @Override
-                       protected void onEvent(Event event) {
-                               //Remove the application related data
-                               ApplicationTerminatedEvent terminatedEvent = 
(ApplicationTerminatedEvent) event;
-                               log.info("ApplicationTerminatedEvent received 
for [application] " + terminatedEvent.getAppId());
-                               String appId = terminatedEvent.getAppId();
-                               
TopologyBuilder.handleApplicationClustersRemoved(appId, 
terminatedEvent.getClusterData());
-                       }
-               });
-       }
-
        public void setTerminated(boolean terminated) {
                this.terminated = terminated;
        }
@@ -78,6 +65,19 @@ public class ApplicationTopicReceiver {
                return executorService;
        }
 
+    private void addEventListeners() {
+        applicationsEventReceiver.addEventListener(new 
ApplicationTerminatedEventListener() {
+            @Override
+            protected void onEvent(Event event) {
+                //Remove the application related data
+                ApplicationInstanceTerminatedEvent terminatedEvent = 
(ApplicationInstanceTerminatedEvent)event;
+                log.info("ApplicationTerminatedEvent received for 
[application] " + terminatedEvent.getAppId());
+                String appId = terminatedEvent.getAppId();
+                TopologyBuilder.handleApplicationClustersRemoved(appId, 
terminatedEvent.getClusterData());
+            }
+        });
+    }
+
        public void setExecutorService(ExecutorService executorService) {
                this.executorService = executorService;
        }

http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
index a195708..991a355 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
@@ -28,13 +28,12 @@ import 
org.apache.stratos.cloud.controller.exception.CloudControllerException;
 import 
org.apache.stratos.cloud.controller.exception.InvalidCartridgeTypeException;
 import org.apache.stratos.cloud.controller.exception.InvalidMemberException;
 import 
org.apache.stratos.cloud.controller.messaging.publisher.CartridgeInstanceDataPublisher;
-import org.apache.stratos.cloud.controller.registry.RegistryManager;
 import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
 import org.apache.stratos.common.constants.StratosConstants;
 import org.apache.stratos.messaging.domain.applications.ClusterDataHolder;
 import org.apache.stratos.messaging.domain.instance.ClusterInstance;
 import org.apache.stratos.messaging.domain.topology.*;
-import 
org.apache.stratos.messaging.event.applications.ApplicationTerminatedEvent;
+import 
org.apache.stratos.messaging.event.applications.ApplicationInstanceTerminatedEvent;
 import org.apache.stratos.messaging.event.cluster.status.*;
 import 
org.apache.stratos.messaging.event.instance.status.InstanceActivatedEvent;
 import 
org.apache.stratos.messaging.event.instance.status.InstanceMaintenanceModeEvent;
@@ -864,7 +863,7 @@ public class TopologyBuilder {
     }
 
 
-    private static void 
deleteAppResourcesFromMetadataService(ApplicationTerminatedEvent event) {
+    private static void 
deleteAppResourcesFromMetadataService(ApplicationInstanceTerminatedEvent event) 
{
         try {
             MetaDataServiceClient metadataClient = new 
DefaultMetaDataServiceClient();
             metadataClient.deleteApplicationProperties(event.getAppId());

http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java
 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java
index 1594dc4..5482e56 100644
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java
@@ -100,8 +100,8 @@ public class CloudControllerServiceClient {
        stub.deployServiceGroup(serviceGroup);
     }
 
-    public void undeployDeploymentPOlicy (ServiceGroup serviceGroup) throws 
RemoteException, CloudControllerServiceInvalidServiceGroupExceptionException {
-        stub.deployServiceGroup(serviceGroup);
+    public void undeployDeploymentPOlicy (String applicationId) throws 
RemoteException, CloudControllerServiceInvalidServiceGroupExceptionException {
+        //stub.deployServiceGroup(serviceGroup);
     }
     
     public void undeployServiceGroup (String name)throws RemoteException, 
CloudControllerServiceInvalidServiceGroupExceptionException {

http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInactivatedEvent.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInactivatedEvent.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInactivatedEvent.java
deleted file mode 100644
index b2558dd..0000000
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInactivatedEvent.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.messaging.event.applications;
-
-import org.apache.stratos.messaging.event.Event;
-
-import java.io.Serializable;
-
-/**
- * This event will be fired upon the application inactivated is detected.
- */
-public class ApplicationInactivatedEvent extends Event implements Serializable 
{
-    private static final long serialVersionUID = 2625412714611885089L;
-
-    private String appId;
-    private String instanceId;
-
-    public ApplicationInactivatedEvent(String appId, String instanceId) {
-        this.appId = appId;
-        this.instanceId = instanceId;
-    }
-
-    public String getAppId() {
-        return appId;
-    }
-
-    public String getInstanceId() {
-        return instanceId;
-    }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceInactivatedEvent.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceInactivatedEvent.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceInactivatedEvent.java
new file mode 100644
index 0000000..c8254ed
--- /dev/null
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceInactivatedEvent.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.stratos.messaging.event.applications;
+
+import org.apache.stratos.messaging.event.Event;
+
+import java.io.Serializable;
+
+/**
+ * This event will be fired upon the application inactivated is detected.
+ */
+public class ApplicationInstanceInactivatedEvent extends Event implements 
Serializable {
+    private static final long serialVersionUID = 2625412714611885089L;
+
+    private String appId;
+    private String instanceId;
+
+    public ApplicationInstanceInactivatedEvent(String appId, String 
instanceId) {
+        this.appId = appId;
+        this.instanceId = instanceId;
+    }
+
+    public String getAppId() {
+        return appId;
+    }
+
+    public String getInstanceId() {
+        return instanceId;
+    }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceTerminatedEvent.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceTerminatedEvent.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceTerminatedEvent.java
new file mode 100644
index 0000000..1d05ba3
--- /dev/null
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceTerminatedEvent.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.stratos.messaging.event.applications;
+
+import org.apache.stratos.messaging.domain.applications.ClusterDataHolder;
+import org.apache.stratos.messaging.event.Event;
+
+import java.io.Serializable;
+import java.util.Set;
+
+/**
+ * This event will be fired upon the application terminated is detected.
+ */
+public class ApplicationInstanceTerminatedEvent extends Event implements 
Serializable {
+    private static final long serialVersionUID = 2625412714611885089L;
+
+    private String appId;
+    private Set<ClusterDataHolder> clusterData;
+
+    public ApplicationInstanceTerminatedEvent(String appId, 
Set<ClusterDataHolder> clusterData) {
+        this.appId = appId;
+        this.clusterData = clusterData;
+    }
+
+    public String getAppId() {
+        return appId;
+    }
+
+    public Set<ClusterDataHolder> getClusterData() {
+        return clusterData;
+    }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceTerminatingEvent.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceTerminatingEvent.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceTerminatingEvent.java
new file mode 100644
index 0000000..23510dd
--- /dev/null
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceTerminatingEvent.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.stratos.messaging.event.applications;
+
+import org.apache.stratos.messaging.event.Event;
+
+import java.io.Serializable;
+
+/**
+ * This event will be fired upon the application terminating is detected.
+ */
+public class ApplicationInstanceTerminatingEvent extends Event implements 
Serializable {
+    private static final long serialVersionUID = 2625412714611885089L;
+
+    private String appId;
+    private String instanceId;
+
+
+    public ApplicationInstanceTerminatingEvent(String appId, String 
instanceId) {
+        this.appId = appId;
+        this.instanceId = instanceId;
+
+    }
+
+    public String getAppId() {
+        return appId;
+    }
+
+    public String getInstanceId() {
+        return instanceId;
+    }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationTerminatedEvent.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationTerminatedEvent.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationTerminatedEvent.java
deleted file mode 100644
index eaa54e3..0000000
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationTerminatedEvent.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.messaging.event.applications;
-
-import org.apache.stratos.messaging.domain.applications.ClusterDataHolder;
-import org.apache.stratos.messaging.event.Event;
-
-import java.io.Serializable;
-import java.util.Set;
-
-/**
- * This event will be fired upon the application terminated is detected.
- */
-public class ApplicationTerminatedEvent extends Event implements Serializable {
-    private static final long serialVersionUID = 2625412714611885089L;
-
-    private String appId;
-    private Set<ClusterDataHolder> clusterData;
-
-    public ApplicationTerminatedEvent(String appId, Set<ClusterDataHolder> 
clusterData) {
-        this.appId = appId;
-        this.clusterData = clusterData;
-    }
-
-    public String getAppId() {
-        return appId;
-    }
-
-    public Set<ClusterDataHolder> getClusterData() {
-        return clusterData;
-    }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationTerminatingEvent.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationTerminatingEvent.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationTerminatingEvent.java
deleted file mode 100644
index c1afb73..0000000
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationTerminatingEvent.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.messaging.event.applications;
-
-import org.apache.stratos.messaging.event.Event;
-
-import java.io.Serializable;
-
-/**
- * This event will be fired upon the application terminating is detected.
- */
-public class ApplicationTerminatingEvent extends Event implements Serializable 
{
-    private static final long serialVersionUID = 2625412714611885089L;
-
-    private String appId;
-    private String instanceId;
-
-
-    public ApplicationTerminatingEvent(String appId, String instanceId) {
-        this.appId = appId;
-        this.instanceId = instanceId;
-
-    }
-
-    public String getAppId() {
-        return appId;
-    }
-
-    public String getInstanceId() {
-        return instanceId;
-    }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationInactivatedMessageProcessor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationInactivatedMessageProcessor.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationInactivatedMessageProcessor.java
index 48ecb8b..5a3ef91 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationInactivatedMessageProcessor.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationInactivatedMessageProcessor.java
@@ -24,7 +24,7 @@ import 
org.apache.stratos.messaging.domain.applications.Application;
 import org.apache.stratos.messaging.domain.applications.ApplicationStatus;
 import org.apache.stratos.messaging.domain.applications.Applications;
 import org.apache.stratos.messaging.domain.instance.ApplicationInstance;
-import 
org.apache.stratos.messaging.event.applications.ApplicationInactivatedEvent;
+import 
org.apache.stratos.messaging.event.applications.ApplicationInstanceInactivatedEvent;
 import org.apache.stratos.messaging.message.processor.MessageProcessor;
 import 
org.apache.stratos.messaging.message.processor.applications.updater.ApplicationsUpdater;
 import org.apache.stratos.messaging.util.Util;
@@ -49,14 +49,14 @@ public class ApplicationInactivatedMessageProcessor extends 
MessageProcessor {
     public boolean process(String type, String message, Object object) {
         Applications applications = (Applications) object;
 
-        if (ApplicationInactivatedEvent.class.getName().equals(type)) {
+        if (ApplicationInstanceInactivatedEvent.class.getName().equals(type)) {
             // Return if applications has not been initialized
             if (!applications.isInitialized())
                 return false;
 
             // Parse complete message and build event
-            ApplicationInactivatedEvent event = (ApplicationInactivatedEvent) 
Util.
-                    jsonToObject(message, ApplicationInactivatedEvent.class);
+            ApplicationInstanceInactivatedEvent event = 
(ApplicationInstanceInactivatedEvent) Util.
+                    jsonToObject(message, 
ApplicationInstanceInactivatedEvent.class);
 
             
ApplicationsUpdater.acquireWriteLockForApplication(event.getAppId());
 
@@ -77,7 +77,7 @@ public class ApplicationInactivatedMessageProcessor extends 
MessageProcessor {
         }
     }
 
-    private boolean doProcess(ApplicationInactivatedEvent event, Applications 
applications) {
+    private boolean doProcess(ApplicationInstanceInactivatedEvent event, 
Applications applications) {
 
         // Validate event against the existing applications
         Application application = 
applications.getApplication(event.getAppId());

http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationTerminatedMessageProcessor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationTerminatedMessageProcessor.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationTerminatedMessageProcessor.java
index f07c6f6..a6d2cd5 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationTerminatedMessageProcessor.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationTerminatedMessageProcessor.java
@@ -21,15 +21,11 @@ package 
org.apache.stratos.messaging.message.processor.applications;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.messaging.domain.applications.Applications;
-import org.apache.stratos.messaging.domain.applications.ClusterDataHolder;
-import 
org.apache.stratos.messaging.event.applications.ApplicationTerminatedEvent;
+import 
org.apache.stratos.messaging.event.applications.ApplicationInstanceTerminatedEvent;
 import org.apache.stratos.messaging.message.processor.MessageProcessor;
 import 
org.apache.stratos.messaging.message.processor.applications.updater.ApplicationsUpdater;
-import 
org.apache.stratos.messaging.message.processor.topology.updater.TopologyUpdater;
 import org.apache.stratos.messaging.util.Util;
 
-import java.util.Set;
-
 /**
  * This processor responsible to process the application Inactivation even and 
update the Topology.
  */
@@ -50,14 +46,14 @@ public class ApplicationTerminatedMessageProcessor extends 
MessageProcessor {
     public boolean process(String type, String message, Object object) {
         Applications applications = (Applications) object;
 
-        if (ApplicationTerminatedEvent.class.getName().equals(type)) {
+        if (ApplicationInstanceTerminatedEvent.class.getName().equals(type)) {
             // Return if applications has not been initialized
             if (!applications.isInitialized())
                 return false;
 
             // Parse complete message and build event
-            ApplicationTerminatedEvent event = (ApplicationTerminatedEvent) 
Util.
-                    jsonToObject(message, ApplicationTerminatedEvent.class);
+            ApplicationInstanceTerminatedEvent event = 
(ApplicationInstanceTerminatedEvent) Util.
+                    jsonToObject(message, 
ApplicationInstanceTerminatedEvent.class);
 
             ApplicationsUpdater.acquireWriteLockForApplications();
 
@@ -78,7 +74,7 @@ public class ApplicationTerminatedMessageProcessor extends 
MessageProcessor {
         }
     }
 
-    private boolean doProcess(ApplicationTerminatedEvent event, Applications 
applications) {
+    private boolean doProcess(ApplicationInstanceTerminatedEvent event, 
Applications applications) {
 
         // check if required properties are available
         if (event.getAppId() == null) {

http://git-wip-us.apache.org/repos/asf/stratos/blob/5f8b31ce/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationTerminatingMessageProcessor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationTerminatingMessageProcessor.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationTerminatingMessageProcessor.java
index e6cdd2b..33ad474 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationTerminatingMessageProcessor.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/applications/ApplicationTerminatingMessageProcessor.java
@@ -24,7 +24,7 @@ import 
org.apache.stratos.messaging.domain.applications.Application;
 import org.apache.stratos.messaging.domain.applications.ApplicationStatus;
 import org.apache.stratos.messaging.domain.applications.Applications;
 import org.apache.stratos.messaging.domain.instance.ApplicationInstance;
-import 
org.apache.stratos.messaging.event.applications.ApplicationTerminatingEvent;
+import 
org.apache.stratos.messaging.event.applications.ApplicationInstanceTerminatingEvent;
 import org.apache.stratos.messaging.message.processor.MessageProcessor;
 import 
org.apache.stratos.messaging.message.processor.applications.updater.ApplicationsUpdater;
 import org.apache.stratos.messaging.util.Util;
@@ -49,14 +49,14 @@ public class ApplicationTerminatingMessageProcessor extends 
MessageProcessor {
     public boolean process(String type, String message, Object object) {
         Applications applications = (Applications) object;
 
-        if (ApplicationTerminatingEvent.class.getName().equals(type)) {
+        if (ApplicationInstanceTerminatingEvent.class.getName().equals(type)) {
             // Return if applications has not been initialized
             if (!applications.isInitialized())
                 return false;
 
             // Parse complete message and build event
-            ApplicationTerminatingEvent event = (ApplicationTerminatingEvent) 
Util.
-                    jsonToObject(message, ApplicationTerminatingEvent.class);
+            ApplicationInstanceTerminatingEvent event = 
(ApplicationInstanceTerminatingEvent) Util.
+                    jsonToObject(message, 
ApplicationInstanceTerminatingEvent.class);
 
             
ApplicationsUpdater.acquireWriteLockForApplication(event.getAppId());
 
@@ -77,7 +77,7 @@ public class ApplicationTerminatingMessageProcessor extends 
MessageProcessor {
         }
     }
 
-    private boolean doProcess(ApplicationTerminatingEvent event, Applications 
applications) {
+    private boolean doProcess(ApplicationInstanceTerminatingEvent event, 
Applications applications) {
 
         // Validate event against the existing applications
         Application application = 
applications.getApplication(event.getAppId());

Reply via email to