Repository: stratos
Updated Branches:
  refs/heads/4.0.0-grouping 26a093993 -> 3560f07bc


fixing application created event


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

Branch: refs/heads/4.0.0-grouping
Commit: 59d3134ef5d8f32787f39957f5f08db52d21e6c2
Parents: fade19d
Author: reka <[email protected]>
Authored: Sun Oct 12 11:04:09 2014 +0530
Committer: reka <[email protected]>
Committed: Sun Oct 12 11:04:09 2014 +0530

----------------------------------------------------------------------
 .../monitor/application/ApplicationMonitor.java | 30 ++++++++++++++++++--
 1 file changed, 28 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/59d3134e/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java
index 1505a43..01422cc 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java
@@ -27,6 +27,7 @@ import 
org.apache.stratos.autoscaler.monitor.AbstractClusterMonitor;
 import org.apache.stratos.autoscaler.monitor.Monitor;
 import org.apache.stratos.autoscaler.monitor.events.MonitorStatusEvent;
 import org.apache.stratos.autoscaler.monitor.group.GroupMonitor;
+import org.apache.stratos.autoscaler.status.checker.StatusChecker;
 import org.apache.stratos.messaging.domain.topology.Application;
 import org.apache.stratos.messaging.domain.topology.Status;
 
@@ -225,9 +226,10 @@ public class ApplicationMonitor extends Monitor {
 
     @Override
     protected void monitor(MonitorStatusEvent statusEvent) {
-        ApplicationContext context = this.dependencyTree.
+        /*ApplicationContext context = this.dependencyTree.
                 findApplicationContextWithId(statusEvent.getId());
-        if(context.getStatusLifeCycle().isEmpty()) {
+        //TODO remove activated
+        if(context.getStatusLifeCycle().isEmpty() || context.getStatus() == 
Status.Activated) {
             try {
                 //if life cycle is empty, need to start the monitor
                 boolean dependencyStarted = 
startDependency(statusEvent.getId());
@@ -243,7 +245,31 @@ public class ApplicationMonitor extends Monitor {
             }
         } else {
             //TODO act based on life cycle events
+        }*/
+
+        String id = statusEvent.getId();
+        ApplicationContext context = this.dependencyTree.
+                findApplicationContextWithId(id);
+        if(context.getStatusLifeCycle().isEmpty()) {
+            try {
+                //if life cycle is empty, need to start the monitor
+                boolean startDep = startDependency(statusEvent.getId());
+                //updating the life cycle and current status
+                context.setStatus(statusEvent.getStatus());
+                context.addStatusToLIfeCycle(statusEvent.getStatus());
+                if(!startDep) {
+                    //Checking in the children whether all are active,
+                    // since no dependency found to be started.
+                    StatusChecker.getInstance().onChildStatusChange(id, 
this.component, this.appId);
+                }
+            } catch (TopologyInConsistentException e) {
+                //TODO revert the siblings and notify parent, change a flag 
for reverting/un-subscription
+                log.error(e);
+            }
+        } else {
+            //TODO act based on life cycle events
         }
 
+
     }
 }

Reply via email to