Make the Group monitor as a schedular executor service

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

Branch: refs/heads/master
Commit: f994da132cc71a23ff9e285fc32d96c4ee6386ca
Parents: eaa92e9
Author: gayan <[email protected]>
Authored: Tue Dec 16 13:24:36 2014 +0530
Committer: Udara Liyanage <[email protected]>
Committed: Thu Dec 18 12:06:57 2014 +0530

----------------------------------------------------------------------
 .../monitor/component/GroupMonitor.java         | 93 ++++++++++----------
 1 file changed, 47 insertions(+), 46 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/f994da13/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java
index 43a385b..0052f647 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java
@@ -90,6 +90,7 @@ public class GroupMonitor extends ParentComponentMonitor 
implements Runnable {
         this.appId = appId;
         networkPartitionCtxts = new HashMap<String, 
GroupLevelNetworkPartitionContext>();
         this.hasScalingDependents = hasScalingDependents;
+           mapScalingEvent=new HashMap<String, ScalingEvent>();
        }
 
     @Override
@@ -284,52 +285,52 @@ public class GroupMonitor extends ParentComponentMonitor 
implements Runnable {
         }
     }
 
-    @Override
-    public void onChildScalingEvent(ScalingEvent scalingEvent) {
-        if (hasScalingDependents) {
-            //notify parent
-            parent.onChildScalingEvent(scalingEvent);
-        }
-
-        if (log.isDebugEnabled()) {
-            log.debug("Child scaling event received to [group]: " + 
this.getId()
-                    + ", [network partition]: " + 
scalingEvent.getNetworkPartitionId()
-                    + ", [event] " + scalingEvent.getId() + ", [group 
instance] " + scalingEvent.getInstanceId());
-        }
-
-        //find the child context of this group,        
-        //Notifying children, if this group has scaling dependencies
-        if (scalingDependencies != null && !scalingDependencies.isEmpty()) {
-            // has dependencies. Notify children
-            if (aliasToActiveMonitorsMap != null && 
!aliasToActiveMonitorsMap.values().isEmpty()) {
-
-                for (ScalingDependentList scalingDependentList : 
scalingDependencies) {
-
-                    for (String scalingDependentListComponent : 
scalingDependentList.
-                                                            
getScalingDependentListComponents()) {
-
-                        if 
(scalingDependentListComponent.equals(scalingEvent.getId())) {
-
-                            for (String 
scalingDependentListComponentInSelectedList :
-                                        
scalingDependentList.getScalingDependentListComponents()) {
-
-                                Monitor monitor = aliasToActiveMonitorsMap.
-                                                    
get(scalingDependentListComponentInSelectedList);
-                                if (monitor instanceof GroupMonitor ||
-                                                            monitor instanceof 
VMClusterMonitor) {
-                                    monitor.onParentScalingEvent(scalingEvent);
-                                }
-                            }
-                            break;
-                        }
-                    }
-                }
-            }
-        }
-           if (scalingEvent.getId().equals(appId)) {
-                   mapScalingEvent.put(scalingEvent.getInstanceId(), 
scalingEvent);
-           }
-    }
+       @Override
+       public void onChildScalingEvent(ScalingEvent scalingEvent) {
+               if (hasScalingDependents) {
+                       //notify parent
+                       parent.onChildScalingEvent(scalingEvent);
+               }
+
+               if (log.isDebugEnabled()) {
+                       log.debug("Child scaling event received to [group]: " + 
this.getId()
+                                 + ", [network partition]: " + 
scalingEvent.getNetworkPartitionId()
+                                 + ", [event] " + scalingEvent.getId() + ", 
[group instance] " + scalingEvent.getInstanceId());
+               }
+
+               //find the child context of this group,
+               //Notifying children, if this group has scaling dependencies
+               if (scalingDependencies != null && 
!scalingDependencies.isEmpty()) {
+                       // has dependencies. Notify children
+                       if (aliasToActiveMonitorsMap != null && 
!aliasToActiveMonitorsMap.values().isEmpty()) {
+
+                               for (ScalingDependentList scalingDependentList 
: scalingDependencies) {
+
+                                       for (String 
scalingDependentListComponent : scalingDependentList
+                                                       
.getScalingDependentListComponents()) {
+
+                                               if 
(scalingDependentListComponent.equals(scalingEvent.getId())) {
+
+                                                       for (String 
scalingDependentListComponentInSelectedList :
+                                                                       
scalingDependentList.getScalingDependentListComponents()) {
+
+                                                               Monitor monitor 
= aliasToActiveMonitorsMap.get(
+                                                                               
scalingDependentListComponentInSelectedList);
+                                                               if (monitor 
instanceof GroupMonitor ||
+                                                                   monitor 
instanceof VMClusterMonitor) {
+                                                                       
monitor.onParentScalingEvent(scalingEvent);
+                                                               }
+                                                       }
+                                                       break;
+                                               }
+                                       }
+                               }
+                       }
+               }
+               if (scalingEvent.getId().equals(appId)) {
+                       mapScalingEvent.put(scalingEvent.getInstanceId(), 
scalingEvent);
+               }
+       }
 
     @Override
     public void onChildScalingOverMaxEvent(ScalingOverMaxEvent 
scalingOverMaxEvent) {

Reply via email to