You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by is...@apache.org on 2014/10/22 08:23:43 UTC

git commit: changing life cycle states to allow transitions to self

Repository: stratos
Updated Branches:
  refs/heads/4.0.0-grouping 4904878df -> fd6b7ab9b


changing life cycle states to allow transitions to self


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

Branch: refs/heads/4.0.0-grouping
Commit: fd6b7ab9b2f6031dab1c888fc7e0c5a8ff6f7a2f
Parents: 4904878
Author: Isuru Haththotuwa <is...@apache.org>
Authored: Wed Oct 22 11:53:06 2014 +0530
Committer: Isuru Haththotuwa <is...@apache.org>
Committed: Wed Oct 22 11:53:17 2014 +0530

----------------------------------------------------------------------
 .../cloud/controller/topology/TopologyBuilder.java |  8 ++++----
 .../domain/topology/ApplicationStatus.java         | 15 ++++++++-------
 .../messaging/domain/topology/ClusterStatus.java   | 15 ++++++++-------
 .../messaging/domain/topology/GroupStatus.java     | 13 ++++++++-----
 .../messaging/domain/topology/MemberStatus.java    | 17 ++++++++++-------
 .../topology/lifecycle/LifeCycleStateManager.java  |  2 +-
 6 files changed, 39 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/fd6b7ab9/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java
index 68c96d4..c3286c5 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java
@@ -707,14 +707,14 @@ public class TopologyBuilder {
                     Cluster aCluster = service.getCluster(clusterDataHolder.getClusterId());
                     if (aCluster != null) {
                         // validate state transition
-                        if (aCluster.isStateTransitionValid(ClusterStatus.Terminating)) {
+                        if (!aCluster.isStateTransitionValid(ClusterStatus.Terminating)) {
                             log.error("Invalid state transfer from " + aCluster.getStatus() + " to "
-                                    + ClusterStatus.Terminating + " successfully");
+                                    + ClusterStatus.Terminating);
                         }
                         // for now anyway update the status forcefully
                         aCluster.setStatus(ClusterStatus.Terminating);
                         log.info("Cluster " + clusterDataHolder.getClusterId() + "'s status updated to "
-                                + ClusterStatus.Terminating + " successfully");
+                                + ClusterStatus.Terminating);
 
                     } else {
                         log.warn("Unable to find Cluster with cluster id " + clusterDataHolder.getClusterId() +
@@ -723,7 +723,7 @@ public class TopologyBuilder {
 
                 } else {
                     log.warn("Unable to remove cluster with cluster id: " + clusterDataHolder.getClusterId() + " from Topology, " +
-                            " associated Service [ " + clusterDataHolder.getServiceType() + " ] npt found");
+                            " associated Service [ " + clusterDataHolder.getServiceType() + " ] not found");
                 }
             }
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/fd6b7ab9/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/ApplicationStatus.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/ApplicationStatus.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/ApplicationStatus.java
index cda6196..2173f86 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/ApplicationStatus.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/ApplicationStatus.java
@@ -30,34 +30,35 @@ public enum ApplicationStatus implements LifeCycleState {
     Created (0) {
         @Override
         public Set<LifeCycleState> getNextStates() {
-            return new HashSet<LifeCycleState>(Arrays.asList(ApplicationStatus.Active,
-                    ApplicationStatus.Terminating));
+            return new HashSet<LifeCycleState>(Arrays.asList(ApplicationStatus.Created,
+                    ApplicationStatus.Active, ApplicationStatus.Terminating));
         }
     },
     Active (1) {
         @Override
         public Set<LifeCycleState> getNextStates() {
-            return new HashSet<LifeCycleState>(Arrays.asList(ApplicationStatus.Terminating,
-                    ApplicationStatus.Inactive));
+            return new HashSet<LifeCycleState>(Arrays.asList(ApplicationStatus.Active,
+                    ApplicationStatus.Terminating, ApplicationStatus.Inactive));
         }
     },
     Inactive (2) {
         @Override
         public Set<LifeCycleState> getNextStates() {
-            return new HashSet<LifeCycleState>(Arrays.asList(ApplicationStatus.Active,
+            return new HashSet<LifeCycleState>(Arrays.asList(ApplicationStatus.Inactive, ApplicationStatus.Active,
                     ApplicationStatus.Terminating));
         }
     },
     Terminating (3) {
         @Override
         public Set<LifeCycleState> getNextStates() {
-            return new HashSet<LifeCycleState>(Arrays.asList(ApplicationStatus.Terminated));
+            return new HashSet<LifeCycleState>(Arrays.asList(ApplicationStatus.Terminating,
+                    ApplicationStatus.Terminated));
         }
     },
     Terminated (4) {
         @Override
         public Set<LifeCycleState> getNextStates() {
-            return null;
+            return new HashSet<LifeCycleState>(Arrays.asList(ApplicationStatus.Terminated));
         }
     };
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/fd6b7ab9/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/ClusterStatus.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/ClusterStatus.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/ClusterStatus.java
index 8ff5957..afc0b30 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/ClusterStatus.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/ClusterStatus.java
@@ -30,40 +30,41 @@ public enum ClusterStatus implements LifeCycleState {
     Created(0) {
         @Override
         public Set<LifeCycleState> getNextStates() {
-            return new HashSet<LifeCycleState>(Arrays.asList(ClusterStatus.Active,
-                    ClusterStatus.Terminating));
+            return new HashSet<LifeCycleState>(Arrays.asList(ClusterStatus.Created,
+                    ClusterStatus.Active, ClusterStatus.Terminating));
         }
     },
     Active(1) {
         @Override
         public Set<LifeCycleState> getNextStates() {
-            return new HashSet<LifeCycleState>(Arrays.asList(ClusterStatus.Inactive,
+            return new HashSet<LifeCycleState>(Arrays.asList(ClusterStatus.Active, ClusterStatus.Inactive,
                     ClusterStatus.Patching, ClusterStatus.Terminating));
         }
     },
     Patching (2) {
         @Override
         public Set<LifeCycleState> getNextStates() {
-            return new HashSet<LifeCycleState>(Arrays.asList(ClusterStatus.Active));
+            return new HashSet<LifeCycleState>(Arrays.asList(ClusterStatus.Patching, ClusterStatus.Active));
         }
     },
     Inactive(3) {
         @Override
         public Set<LifeCycleState> getNextStates() {
-            return new HashSet<LifeCycleState>(Arrays.asList(ClusterStatus.Active,
+            return new HashSet<LifeCycleState>(Arrays.asList(ClusterStatus.Inactive, ClusterStatus.Active,
                     ClusterStatus.Terminating));
         }
     },
     Terminating(4) {
         @Override
         public Set<LifeCycleState> getNextStates() {
-            return new HashSet<LifeCycleState>(Arrays.asList(ClusterStatus.Terminated));
+            return new HashSet<LifeCycleState>(Arrays.asList(ClusterStatus.Terminating,
+                    ClusterStatus.Terminated));
         }
     },
     Terminated(5) {
         @Override
         public Set<LifeCycleState> getNextStates() {
-            return null;
+            return new HashSet<LifeCycleState>(Arrays.asList(ClusterStatus.Terminated));
         }
     };
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/fd6b7ab9/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/GroupStatus.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/GroupStatus.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/GroupStatus.java
index 55a7731..42873be 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/GroupStatus.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/GroupStatus.java
@@ -29,31 +29,34 @@ public enum GroupStatus implements LifeCycleState {
     Created(0) {
         @Override
         public Set<LifeCycleState> getNextStates() {
-            return new HashSet<LifeCycleState>(Arrays.asList(GroupStatus.Active, GroupStatus.Terminating));
+            return new HashSet<LifeCycleState>(Arrays.asList(GroupStatus.Created,
+                    GroupStatus.Active, GroupStatus.Terminating));
         }
     },
     Active(1) {
         @Override
         public Set<LifeCycleState> getNextStates() {
-            return new HashSet<LifeCycleState>(Arrays.asList(GroupStatus.Inactive, GroupStatus.Terminating));
+            return new HashSet<LifeCycleState>(Arrays.asList(GroupStatus.Active,
+                    GroupStatus.Inactive, GroupStatus.Terminating));
         }
     },
     Inactive(2) {
         @Override
         public Set<LifeCycleState> getNextStates() {
-            return new HashSet<LifeCycleState>(Arrays.asList(GroupStatus.Terminating));
+            return new HashSet<LifeCycleState>(Arrays.asList(GroupStatus.Inactive, GroupStatus.Terminating));
         }
     },
     Terminating(3) {
         @Override
         public Set<LifeCycleState> getNextStates() {
-            return new HashSet<LifeCycleState>(Arrays.asList(GroupStatus.Terminated));
+            return new HashSet<LifeCycleState>(Arrays.asList(GroupStatus.Terminating,
+                    GroupStatus.Terminated));
         }
     },
     Terminated(4) {
         @Override
         public Set<LifeCycleState> getNextStates() {
-            return null;
+            return new HashSet<LifeCycleState>(Arrays.asList(GroupStatus.Terminated));
         }
     };
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/fd6b7ab9/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/MemberStatus.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/MemberStatus.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/MemberStatus.java
index a35766c..624d134 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/MemberStatus.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/MemberStatus.java
@@ -35,44 +35,47 @@ public enum MemberStatus implements LifeCycleState {
     Created(0) {
         @Override
         public Set<LifeCycleState> getNextStates() {
-            return new HashSet<LifeCycleState>(Arrays.asList(MemberStatus.Starting));
+            return new HashSet<LifeCycleState>(Arrays.asList(MemberStatus.Created, MemberStatus.Starting));
         }
     },
     Starting(1) {
         @Override
         public Set<LifeCycleState> getNextStates() {
-            return new HashSet<LifeCycleState>(Arrays.asList(MemberStatus.Activated));
+            return new HashSet<LifeCycleState>(Arrays.asList(MemberStatus.Starting, MemberStatus.Activated));
         }
     },
     Activated(2) {
         @Override
         public Set<LifeCycleState> getNextStates() {
-            return new HashSet<LifeCycleState>(Arrays.asList(MemberStatus.Suspended,
+            return new HashSet<LifeCycleState>(Arrays.asList(MemberStatus.Activated, MemberStatus.Suspended,
                     MemberStatus.In_Maintenance, MemberStatus.Starting));
         }
     },
     In_Maintenance(3) {
         @Override
         public Set<LifeCycleState> getNextStates() {
-            return new HashSet<LifeCycleState>(Arrays.asList(MemberStatus.ReadyToShutDown));
+            return new HashSet<LifeCycleState>(Arrays.asList(MemberStatus.In_Maintenance,
+                    MemberStatus.ReadyToShutDown));
         }
     },
     ReadyToShutDown(4) {
         @Override
         public Set<LifeCycleState> getNextStates() {
-            return new HashSet<LifeCycleState>(Arrays.asList(MemberStatus.Terminated));
+            return new HashSet<LifeCycleState>(Arrays.asList(MemberStatus.ReadyToShutDown,
+                    MemberStatus.Terminated));
         }
     },
     Suspended(5) {
         @Override
         public Set<LifeCycleState> getNextStates() {
-            return new HashSet<LifeCycleState>(Arrays.asList(MemberStatus.Terminated));
+            return new HashSet<LifeCycleState>(Arrays.asList(MemberStatus.Suspended,
+                    MemberStatus.Terminated));
         }
     },
     Terminated(6) {
         @Override
         public Set<LifeCycleState> getNextStates() {
-            return null;
+            return new HashSet<LifeCycleState>(Arrays.asList(MemberStatus.Terminated));
         }
     };
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/fd6b7ab9/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/lifecycle/LifeCycleStateManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/lifecycle/LifeCycleStateManager.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/lifecycle/LifeCycleStateManager.java
index 0f627a8..bbe81a6 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/lifecycle/LifeCycleStateManager.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/lifecycle/LifeCycleStateManager.java
@@ -36,7 +36,7 @@ public class LifeCycleStateManager<T extends LifeCycleState> implements Serializ
 
         stateStack = new Stack<T>();
         stateStack.push(initialState);
-        log.info("Life Cycle State Manager created, initial state: " + initialState.toString());
+        log.info("Life Cycle State Manager started, initial state: " + initialState.toString());
     }
 
     /**