Replace terminate behavior Booleans by an Enum

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

Branch: refs/heads/master
Commit: 3930b18b03ec4b90957cadb8d93eb244f9ed593e
Parents: 4d1504a
Author: Lahiru Sandaruwan <[email protected]>
Authored: Sat Nov 8 16:47:00 2014 +0530
Committer: Lahiru Sandaruwan <[email protected]>
Committed: Sat Nov 8 16:47:00 2014 +0530

----------------------------------------------------------------------
 .../dependency/DependencyBuilder.java           | 10 ++--
 .../applications/dependency/DependencyTree.java | 51 +++++---------------
 .../context/ApplicationContextFactory.java      |  2 +-
 3 files changed, 18 insertions(+), 45 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/3930b18b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/dependency/DependencyBuilder.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/dependency/DependencyBuilder.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/dependency/DependencyBuilder.java
index 48c22fd..8a12b97 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/dependency/DependencyBuilder.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/dependency/DependencyBuilder.java
@@ -65,11 +65,11 @@ public class DependencyBuilder {
             String terminationBehaviour = 
dependencyOrder.getTerminationBehaviour();
 
             if (Constants.TERMINATE_NONE.equals(terminationBehaviour)) {
-                dependencyTree.setKillNone(true);
+                
dependencyTree.setTerminationBehavior(DependencyTree.TerminationBehavior.TERMINATE_NONE);
             } else if (Constants.TERMINATE_ALL.equals(terminationBehaviour)) {
-                dependencyTree.setKillAll(true);
+                
dependencyTree.setTerminationBehavior(DependencyTree.TerminationBehavior.TERMINATE_ALL);
             } else if 
(Constants.TERMINATE_DEPENDENTS.equals(terminationBehaviour)) {
-                dependencyTree.setKillDependent(true);
+                
dependencyTree.setTerminationBehavior(DependencyTree.TerminationBehavior.TERMINATE_DEPENDENT);
             }
 
             log.info("Setting the [terminationBehaviour] " + 
terminationBehaviour + " to the " +
@@ -139,14 +139,14 @@ public class DependencyBuilder {
         for (Group group1 : component.getAliasToGroupMap().values()) {
             if (dependencyTree.findApplicationContextWithId(group1.getAlias()) 
== null) {
                 ApplicationContext context = ApplicationContextFactory.
-                        getGroupContext(group1.getAlias(), 
dependencyTree.isKillDependent());
+                        getGroupContext(group1.getAlias(), 
dependencyTree.isTerminateDependent());
                 dependencyTree.addApplicationContext(context);
             }
         }
         for (ClusterDataHolder dataHolder : 
component.getClusterDataMap().values()) {
             if 
(dependencyTree.findApplicationContextWithId(dataHolder.getClusterId()) == 
null) {
                 ApplicationContext context = 
ApplicationContextFactory.getClusterContext(dataHolder,
-                                                                
dependencyTree.isKillDependent());
+                                                                
dependencyTree.isTerminateDependent());
                 dependencyTree.addApplicationContext(context);
 
             }

http://git-wip-us.apache.org/repos/asf/stratos/blob/3930b18b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/dependency/DependencyTree.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/dependency/DependencyTree.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/dependency/DependencyTree.java
index 0cb9aa4..c1d0817 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/dependency/DependencyTree.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/dependency/DependencyTree.java
@@ -37,11 +37,7 @@ public class DependencyTree {
 
     private boolean terminated;
 
-    private boolean killAll;
-
-    private boolean killNone;
-
-    private boolean killDependent;
+    private TerminationBehavior terminationBehavior;
 
     private boolean startupOder;
 
@@ -191,14 +187,14 @@ public class DependencyTree {
         List<ApplicationContext> allChildrenOfAppContext = new 
ArrayList<ApplicationContext>();
         ApplicationContext applicationContext = 
findApplicationContextWithId(id);
 
-        if (this.killDependent) {
+        if (terminationBehavior == TerminationBehavior.TERMINATE_DEPENDENT) {
             //finding the ApplicationContext of the given id
             //finding all the children of the found application context
             allChildrenOfAppContext.add(applicationContext);
             
findAllChildrenOfAppContext(applicationContext.getApplicationContextList(),
                     allChildrenOfAppContext);
             return allChildrenOfAppContext;
-        } else if (this.killAll) {
+        } else if (terminationBehavior == 
TerminationBehavior.TERMINATE_DEPENDENT) {
             //killall will be killed by the monitor from it's list.
             findAllChildrenOfAppContext(this.applicationContextList,
                     allChildrenOfAppContext);
@@ -224,44 +220,20 @@ public class DependencyTree {
         return childContexts;
     }
 
-    public boolean isKillAll() {
-        return killAll;
-    }
-
-    public void setKillAll(boolean killAll) {
-        this.killAll = killAll;
-    }
-
-    public boolean isKillNone() {
-        return killNone;
-    }
-
-    public void setKillNone(boolean killNone) {
-        this.killNone = killNone;
+    public void setTerminationBehavior(TerminationBehavior 
terminationBehavior) {
+        this.terminationBehavior = terminationBehavior;
     }
 
-    public boolean isStarted() {
-        return started;
+    public boolean isTerminateDependent() {
+        return this.terminationBehavior == 
TerminationBehavior.TERMINATE_DEPENDENT;
     }
 
-    public void setStarted(boolean started) {
-        this.started = started;
+    public boolean isTerminateAll() {
+        return this.terminationBehavior == TerminationBehavior.TERMINATE_ALL;
     }
 
-    public boolean isTerminated() {
-        return terminated;
-    }
-
-    public void setTerminated(boolean terminated) {
-        this.terminated = terminated;
-    }
-
-    public boolean isKillDependent() {
-        return killDependent;
-    }
-
-    public void setKillDependent(boolean killDependent) {
-        this.killDependent = killDependent;
+    public enum TerminationBehavior {
+        TERMINATE_ALL, TERMINATE_NONE, TERMINATE_DEPENDENT
     }
 
     public String getId() {
@@ -287,4 +259,5 @@ public class DependencyTree {
     public void setReverseStartupOrder(boolean reverseStartupOrder) {
         this.reverseStartupOrder = reverseStartupOrder;
     }
+
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/3930b18b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/dependency/context/ApplicationContextFactory.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/dependency/context/ApplicationContextFactory.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/dependency/context/ApplicationContextFactory.java
index 62b2921..8141de5 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/dependency/context/ApplicationContextFactory.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/dependency/context/ApplicationContextFactory.java
@@ -44,7 +44,7 @@ public class ApplicationContextFactory {
                                                            DependencyTree 
tree) {
         String id;
         ApplicationContext applicationContext = null;
-        boolean isDependent = tree.isKillDependent() || tree.isKillAll();
+        boolean isDependent = tree.isTerminateDependent() || 
tree.isTerminateAll();
         if (order.startsWith(Constants.GROUP + ".")) {
             //getting the group alias
             id = getGroupFromStartupOrder(order);

Reply via email to