From d43164830403245353080f5d6f838ed9f56d9a35 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Mon, 18 Nov 2013 09:48:03 +0100 Subject: 3.0-SNAPSHOT (Will be first open source version) New StateMachine desc IssueID #28 --- src/main/java/com/c2kernel/events/Event.java | 50 ++++++++++++++++++-------- src/main/java/com/c2kernel/events/History.java | 44 ++++++++++++++--------- 2 files changed, 64 insertions(+), 30 deletions(-) (limited to 'src/main/java/com/c2kernel/events') diff --git a/src/main/java/com/c2kernel/events/Event.java b/src/main/java/com/c2kernel/events/Event.java index 52781bd..37c3c58 100644 --- a/src/main/java/com/c2kernel/events/Event.java +++ b/src/main/java/com/c2kernel/events/Event.java @@ -28,12 +28,44 @@ import com.c2kernel.persistency.ClusterStorage; public class Event implements C2KLocalObject { - int mEntitySystemKey, mCurrentState, mTransition; - Integer mID, mSchemaVersion; - String mName, mStepName, mStepPath, mStepType, mSchemaName, mViewName, mAgentName, mAgentRole; + int mEntitySystemKey, mOriginState, mTransition, mTargetState; + Integer mID, mSchemaVersion, mStateMachineVersion; + String mName, mStepName, mStepPath, mStepType, mSchemaName, mStateMachineName, mViewName, mAgentName, mAgentRole; GTimeStamp mTimeStamp; - public void setID( Integer id ) { + public int getOriginState() { + return mOriginState; + } + + public void setOriginState(int originState) { + this.mOriginState = originState; + } + + public int getTargetState() { + return mTargetState; + } + + public void setTargetState(int targetState) { + this.mTargetState = targetState; + } + + public Integer getStateMachineVersion() { + return mStateMachineVersion; + } + + public void setStateMachineVersion(Integer stateMachineVersion) { + this.mStateMachineVersion = stateMachineVersion; + } + + public String getStateMachineName() { + return mStateMachineName; + } + + public void setStateMachineName(String stateMachineName) { + this.mStateMachineName = stateMachineName; + } + + public void setID( Integer id ) { mID = id; mName = String.valueOf(id); } @@ -90,11 +122,6 @@ public class Event implements C2KLocalObject this.mViewName = viewName; } - public void setCurrentState(int state) - { - mCurrentState = state; - } - /** * Set the AgentInfo in the Event, in parameter is an AgentInfo */ @@ -172,11 +199,6 @@ public class Event implements C2KLocalObject return mViewName; } - public int getCurrentState() - { - return mCurrentState; - } - /** * Return the AgentInfo of the Event. */ diff --git a/src/main/java/com/c2kernel/events/History.java b/src/main/java/com/c2kernel/events/History.java index 2eef8de..8ccd97a 100644 --- a/src/main/java/com/c2kernel/events/History.java +++ b/src/main/java/com/c2kernel/events/History.java @@ -2,6 +2,7 @@ package com.c2kernel.events; import com.c2kernel.common.InvalidDataException; +import com.c2kernel.lifecycle.instance.stateMachine.Transition; import com.c2kernel.persistency.ClusterStorage; import com.c2kernel.persistency.RemoteMap; import com.c2kernel.utils.Logger; @@ -24,36 +25,41 @@ public class History extends RemoteMap { super(sysKey, ClusterStorage.HISTORY, locker); } public Event addEvent(String agentName, String agentRole, - int stepTransitionId, String stepName, String stepPath, String stepType, - int stepCurrentState) { - return addEvent(agentName, agentRole, stepTransitionId, stepName, stepPath, stepType, null, null, null, stepCurrentState); + String stateMachineName, + Integer stateMachineVersion, + Transition transition) { + return addEvent(agentName, agentRole, stepName, stepPath, stepType, null, null, stateMachineName, stateMachineVersion, transition, null); } public Event addEvent(String agentName, String agentRole, - int stepTransitionId, String stepName, String stepPath, String stepType, String schemaName, Integer schemaVersion, - String viewName, - int stepCurrentState) { - Logger.msg(7, "History.addEvent() - creating new event for "+stepTransitionId+" on "+stepName+" in "+mSysKey); + String stateMachineName, + Integer stateMachineVersion, + Transition transition, + String viewName) { + Logger.msg(7, "History.addEvent() - creating new event for "+transition.getName()+" on "+stepName+" in "+mSysKey); Event newEvent = new Event(); newEvent.setEntitySystemKey(mSysKey); newEvent.setAgentName(agentName); newEvent.setAgentRole(agentRole); - newEvent.setTransition(stepTransitionId); newEvent.setStepName(stepName); newEvent.setStepPath(stepPath); newEvent.setStepType(stepType); newEvent.setSchemaName(schemaName); newEvent.setSchemaVersion(schemaVersion); newEvent.setViewName(viewName); - newEvent.setCurrentState(stepCurrentState); + newEvent.setOriginState(transition.getOriginStateId()); + newEvent.setTargetState(transition.getTargetStateId()); + newEvent.setTransition(transition.getId()); + newEvent.setStateMachineName(stateMachineName); + newEvent.setStateMachineVersion(stateMachineVersion); newEvent.setTimeStamp(Event.getGMT()); return storeNewEvent(newEvent); } @@ -63,34 +69,40 @@ public class History extends RemoteMap { String stepName, String stepPath, String stepType, - int stepCurrentState, + String stateMachineName, + Integer stateMachineVersion, + Transition transition, String timeString) throws InvalidDataException { - return addEvent(agentName, agentRole, stepTransitionId, stepName, stepPath, stepType, null, null, null, stepCurrentState, timeString); + return addEvent(agentName, agentRole, stepName, stepPath, stepType, null, null, stateMachineName, stateMachineVersion, transition, null, timeString); } public Event addEvent(String agentName, String agentRole, - int stepTransitionId, String stepName, String stepPath, String stepType, String schemaName, Integer schemaVersion, + String stateMachineName, + Integer stateMachineVersion, + Transition transition, String viewName, - int stepCurrentState, String timeString) throws InvalidDataException { - Logger.msg(7, "History.addEvent() - creating new event for "+stepTransitionId+" on "+stepName+" in "+mSysKey); + Logger.msg(7, "History.addEvent() - creating new event for "+transition.getName()+" on "+stepName+" in "+mSysKey); Event newEvent = new Event(); newEvent.setEntitySystemKey(mSysKey); newEvent.setAgentName(agentName); newEvent.setAgentRole(agentRole); - newEvent.setTransition(stepTransitionId); newEvent.setStepName(stepName); newEvent.setStepPath(stepPath); newEvent.setStepType(stepType); newEvent.setSchemaName(schemaName); newEvent.setSchemaVersion(schemaVersion); newEvent.setViewName(viewName); - newEvent.setCurrentState(stepCurrentState); + newEvent.setOriginState(transition.getOriginStateId()); + newEvent.setTargetState(transition.getTargetStateId()); + newEvent.setTransition(transition.getId()); + newEvent.setStateMachineName(stateMachineName); + newEvent.setStateMachineVersion(stateMachineVersion); newEvent.setTimeString(timeString); return storeNewEvent(newEvent); } -- cgit v1.2.3