Fix the statemodelFactories in Example Process.

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

Branch: refs/heads/helix-0.6.x
Commit: 37819298939b61d8f7a589a3404fd3414fbdbd06
Parents: 03b9001
Author: Lei Xia <l...@linkedin.com>
Authored: Wed Jan 27 18:04:23 2016 -0800
Committer: Lei Xia <l...@linkedin.com>
Committed: Tue Jul 5 14:34:37 2016 -0700

----------------------------------------------------------------------
 .../apache/helix/examples/ExampleProcess.java   |  6 +-
 .../LeaderStandbyStateModelFactory.java         | 69 ++++++++++++++++++--
 .../examples/MasterSlaveStateModelFactory.java  |  7 +-
 .../OnlineOfflineStateModelFactory.java         | 37 +++++++++--
 4 files changed, 106 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/helix/blob/37819298/helix-core/src/main/java/org/apache/helix/examples/ExampleProcess.java
----------------------------------------------------------------------
diff --git 
a/helix-core/src/main/java/org/apache/helix/examples/ExampleProcess.java 
b/helix-core/src/main/java/org/apache/helix/examples/ExampleProcess.java
index 840a963..9328cf4 100644
--- a/helix-core/src/main/java/org/apache/helix/examples/ExampleProcess.java
+++ b/helix-core/src/main/java/org/apache/helix/examples/ExampleProcess.java
@@ -77,11 +77,11 @@ public class ExampleProcess {
             zkConnectString);
 
     if ("MasterSlave".equalsIgnoreCase(stateModelType)) {
-      stateModelFactory = new MasterSlaveStateModelFactory(delay);
+      stateModelFactory = new MasterSlaveStateModelFactory(this.instanceName, 
delay);
     } else if ("OnlineOffline".equalsIgnoreCase(stateModelType)) {
-      stateModelFactory = new OnlineOfflineStateModelFactory(delay);
+      stateModelFactory = new 
OnlineOfflineStateModelFactory(this.instanceName, delay);
     } else if ("LeaderStandby".equalsIgnoreCase(stateModelType)) {
-      stateModelFactory = new LeaderStandbyStateModelFactory(delay);
+      stateModelFactory = new 
LeaderStandbyStateModelFactory(this.instanceName, delay);
     }
     // genericStateMachineHandler = new StateMachineEngine();
     // genericStateMachineHandler.registerStateModelFactory(stateModelType,

http://git-wip-us.apache.org/repos/asf/helix/blob/37819298/helix-core/src/main/java/org/apache/helix/examples/LeaderStandbyStateModelFactory.java
----------------------------------------------------------------------
diff --git 
a/helix-core/src/main/java/org/apache/helix/examples/LeaderStandbyStateModelFactory.java
 
b/helix-core/src/main/java/org/apache/helix/examples/LeaderStandbyStateModelFactory.java
index c0fff7c..a2ca091 100644
--- 
a/helix-core/src/main/java/org/apache/helix/examples/LeaderStandbyStateModelFactory.java
+++ 
b/helix-core/src/main/java/org/apache/helix/examples/LeaderStandbyStateModelFactory.java
@@ -26,35 +26,96 @@ import 
org.apache.helix.participant.statemachine.StateModelFactory;
 
 public class LeaderStandbyStateModelFactory extends 
StateModelFactory<StateModel> {
   int _delay;
+  String _instanceName = "";
 
   public LeaderStandbyStateModelFactory(int delay) {
     _delay = delay;
   }
 
-  @Override
-  public StateModel createNewStateModel(String resourceName, String 
stateUnitKey) {
+  public LeaderStandbyStateModelFactory(String instanceName) {
+    _instanceName = instanceName;
+    _delay = 10;
+  }
+
+  public LeaderStandbyStateModelFactory(String instanceName, int delay) {
+    _instanceName = instanceName;
+    _delay = delay;
+  }
+
+  public LeaderStandbyStateModelFactory() {
+    this(10);
+  }
+
+  public void setInstanceName(String instanceName) {
+    _instanceName = instanceName;
+  }
+
+  @Override public StateModel createNewStateModel(String resourceName, String 
partitionName) {
     LeaderStandbyStateModel stateModel = new LeaderStandbyStateModel();
     stateModel.setDelay(_delay);
+    stateModel.setInstanceName(_instanceName);
+    stateModel.setPartitionName(partitionName);
     return stateModel;
   }
 
   public static class LeaderStandbyStateModel extends StateModel {
     int _transDelay = 0;
+    String partitionName;
+    String _instanceName = "";
+
+    public String getPartitionName() {
+      return partitionName;
+    }
+
+    public void setPartitionName(String partitionName) {
+      this.partitionName = partitionName;
+    }
+
+    public void setInstanceName(String instanceName) {
+      _instanceName = instanceName;
+    }
+
 
     public void setDelay(int delay) {
       _transDelay = delay > 0 ? delay : 0;
     }
 
     public void onBecomeLeaderFromStandby(Message message, NotificationContext 
context) {
-      
System.out.println("LeaderStandbyStateModel.onBecomeLeaderFromStandby()");
+      
System.out.println("LeaderStandbyStateModel.onBecomeLeaderFromStandby():" + 
_instanceName
+          + " transitioning from " + message.getFromState() + " to " + 
message.getToState()
+          + " for " + message.getResourceName() + " " + 
message.getPartitionName());
       sleep();
     }
 
     public void onBecomeStandbyFromLeader(Message message, NotificationContext 
context) {
-      
System.out.println("LeaderStandbyStateModel.onBecomeStandbyFromLeader()");
+      
System.out.println("LeaderStandbyStateModel.onBecomeStandbyFromLeader():" + 
_instanceName
+          + " transitioning from " + message.getFromState() + " to " + 
message.getToState()
+          + " for " + message.getResourceName() + " " + 
message.getPartitionName());
       sleep();
     }
 
+    public void onBecomeStandbyFromOffline(Message message, 
NotificationContext context) {
+      
System.out.println("LeaderStandbyStateModel.onBecomeStandbyFromOffline():" + 
_instanceName
+          + " transitioning from " + message.getFromState() + " to " + 
message.getToState()
+          + " for " + message.getResourceName() + " " + 
message.getPartitionName());
+      sleep();
+    }
+
+    public void onBecomeOfflineFromStandby(Message message, 
NotificationContext context) {
+      
System.out.println("LeaderStandbyStateModel.onBecomeOfflineFromStandby():" + 
_instanceName
+          + " transitioning from " + message.getFromState() + " to " + 
message.getToState()
+          + " for " + message.getResourceName() + " " + 
message.getPartitionName());
+      sleep();
+    }
+
+    public void onBecomeDroppedFromOffline(Message message, 
NotificationContext context) {
+      
System.out.println("LeaderStandbyStateModel.onBecomeDroppedFromOffline():" + 
_instanceName
+          + " transitioning from " + message.getFromState() + " to " + 
message.getToState()
+          + " for " + message.getResourceName() + " " + 
message.getPartitionName());
+      sleep();
+
+    }
+
     private void sleep() {
       try {
         Thread.sleep(_transDelay);

http://git-wip-us.apache.org/repos/asf/helix/blob/37819298/helix-core/src/main/java/org/apache/helix/examples/MasterSlaveStateModelFactory.java
----------------------------------------------------------------------
diff --git 
a/helix-core/src/main/java/org/apache/helix/examples/MasterSlaveStateModelFactory.java
 
b/helix-core/src/main/java/org/apache/helix/examples/MasterSlaveStateModelFactory.java
index 85d90b2..1d5e790 100644
--- 
a/helix-core/src/main/java/org/apache/helix/examples/MasterSlaveStateModelFactory.java
+++ 
b/helix-core/src/main/java/org/apache/helix/examples/MasterSlaveStateModelFactory.java
@@ -27,7 +27,6 @@ import 
org.apache.helix.participant.statemachine.StateModelFactory;
 @SuppressWarnings("rawtypes")
 public class MasterSlaveStateModelFactory extends 
StateModelFactory<StateModel> {
   int _delay;
-
   String _instanceName = "";
 
   public MasterSlaveStateModelFactory(int delay) {
@@ -39,6 +38,11 @@ public class MasterSlaveStateModelFactory extends 
StateModelFactory<StateModel>
     _delay = 10;
   }
 
+  public MasterSlaveStateModelFactory(String instanceName, int delay) {
+    _instanceName = instanceName;
+    _delay = delay;
+  }
+
   public MasterSlaveStateModelFactory() {
     this(10);
   }
@@ -74,7 +78,6 @@ public class MasterSlaveStateModelFactory extends 
StateModelFactory<StateModel>
     }
 
     public void onBecomeSlaveFromOffline(Message message, NotificationContext 
context) {
-
       System.out.println(_instanceName + " transitioning from " + 
message.getFromState() + " to "
           + message.getToState() + " for " + partitionName);
       sleep();

http://git-wip-us.apache.org/repos/asf/helix/blob/37819298/helix-core/src/main/java/org/apache/helix/examples/OnlineOfflineStateModelFactory.java
----------------------------------------------------------------------
diff --git 
a/helix-core/src/main/java/org/apache/helix/examples/OnlineOfflineStateModelFactory.java
 
b/helix-core/src/main/java/org/apache/helix/examples/OnlineOfflineStateModelFactory.java
index e11c6d1..d6edb05 100644
--- 
a/helix-core/src/main/java/org/apache/helix/examples/OnlineOfflineStateModelFactory.java
+++ 
b/helix-core/src/main/java/org/apache/helix/examples/OnlineOfflineStateModelFactory.java
@@ -26,39 +26,68 @@ import 
org.apache.helix.participant.statemachine.StateModelFactory;
 
 public class OnlineOfflineStateModelFactory extends 
StateModelFactory<StateModel> {
   int _delay;
+  String _instanceName = "";
 
   public OnlineOfflineStateModelFactory(int delay) {
     _delay = delay;
   }
 
+  public OnlineOfflineStateModelFactory(String instanceName) {
+    _instanceName = instanceName;
+    _delay = 10;
+  }
+
+  public OnlineOfflineStateModelFactory(String instanceName, int delay) {
+    _instanceName = instanceName;
+    _delay = delay;
+  }
+
+  public OnlineOfflineStateModelFactory() {
+    this(10);
+  }
+
   @Override
   public StateModel createNewStateModel(String resourceName, String 
stateUnitKey) {
     OnlineOfflineStateModel stateModel = new OnlineOfflineStateModel();
     stateModel.setDelay(_delay);
+    stateModel.setInstanceName(_instanceName);
     return stateModel;
   }
 
   public static class OnlineOfflineStateModel extends StateModel {
     int _transDelay = 0;
+    String _instanceName = "";
 
     public void setDelay(int delay) {
       _transDelay = delay > 0 ? delay : 0;
     }
 
+    public void setInstanceName(String instanceName) {
+      _instanceName = instanceName;
+    }
+
     public void onBecomeOnlineFromOffline(Message message, NotificationContext 
context) {
-      
System.out.println("OnlineOfflineStateModel.onBecomeOnlineFromOffline()");
+      System.out.println(
+          "OnlineOfflineStateModelFactory.onBecomeOnlineFromOffline():" + 
_instanceName
+              + " transitioning from " + message.getFromState() + " to " + 
message.getToState()
+              + " for " + message.getResourceName() + " " + 
message.getPartitionName());
       sleep();
     }
 
     public void onBecomeOfflineFromOnline(Message message, NotificationContext 
context) {
-      
System.out.println("OnlineOfflineStateModel.onBecomeOfflineFromOnline()");
+      System.out.println(
+          "OnlineOfflineStateModelFactory.onBecomeOfflineFromOnline():" + 
_instanceName
+              + " transitioning from " + message.getFromState() + " to " + 
message.getToState()
+              + " for " + message.getResourceName() + " " + 
message.getPartitionName());
       sleep();
     }
 
     public void onBecomeDroppedFromOffline(Message message, 
NotificationContext context) {
-      
System.out.println("OnlineOfflineStateModel.onBecomeDroppedFromOffline()");
+      System.out.println(
+          "OnlineOfflineStateModelFactory.onBecomeDroppedFromOffline():" + 
_instanceName
+              + " transitioning from " + message.getFromState() + " to " + 
message.getToState()
+              + " for " + message.getResourceName() + " " + 
message.getPartitionName());
       sleep();
-
     }
 
     private void sleep() {

Reply via email to