diff options
Diffstat (limited to 'src/main/java/com/c2kernel/lifecycle')
7 files changed, 40 insertions, 43 deletions
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/Activity.java b/src/main/java/com/c2kernel/lifecycle/instance/Activity.java index 71909a5..6e03d01 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/Activity.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/Activity.java @@ -101,6 +101,10 @@ public class Activity extends WfVertex this.state = state;
}
+ public boolean isFinished() throws InvalidDataException {
+ return getStateMachine().getState(state).isFinished();
+ }
+
/** cf Item request
* @throws ObjectNotFoundException
@@ -303,10 +307,10 @@ public class Activity extends WfVertex * @throws InvalidDataException
* @throws ObjectNotFoundException */
@Override
- public void reinit(int idLoop)
+ public void reinit(int idLoop) throws InvalidDataException
{
Vertex[] outVertices = getOutGraphables();
- state = getStateMachine().getInitialState().getId();
+ setState(getStateMachine().getInitialState().getId());
if (outVertices.length > 0)
{
WfVertex nextAct = (WfVertex) outVertices[0];
@@ -382,15 +386,15 @@ public class Activity extends WfVertex /**
* returns the lists of jobs for the activity and children (cf com.c2kernel.entity.Job)
*/
- public ArrayList<Job> calculateJobs(AgentPath agent, int itemSysKey, boolean recurse)
+ public ArrayList<Job> calculateJobs(AgentPath agent, int itemSysKey, boolean recurse) throws ObjectNotFoundException, InvalidDataException
{
return calculateJobsBase(agent, itemSysKey, false);
} //
- public ArrayList<Job> calculateAllJobs(AgentPath agent, int itemSysKey, boolean recurse)
+ public ArrayList<Job> calculateAllJobs(AgentPath agent, int itemSysKey, boolean recurse) throws ObjectNotFoundException, InvalidDataException
{
return calculateJobsBase(agent, itemSysKey, true);
}
- private ArrayList<Job> calculateJobsBase(AgentPath agent, int itemSysKey, boolean includeInactive)
+ private ArrayList<Job> calculateJobsBase(AgentPath agent, int itemSysKey, boolean includeInactive) throws ObjectNotFoundException, InvalidDataException
{
Logger.msg(7, "calculateJobs - " + getPath());
ArrayList<Job> jobs = new ArrayList<Job>();
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/AdvancementCalculator.java b/src/main/java/com/c2kernel/lifecycle/instance/AdvancementCalculator.java index 982d951..6011c13 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/AdvancementCalculator.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/AdvancementCalculator.java @@ -4,7 +4,6 @@ import java.io.Serializable; import java.util.Hashtable;
import com.c2kernel.graph.model.Vertex;
-import com.c2kernel.lifecycle.instance.stateMachine.States;
//import com.c2kernel.utils.Logger;
/** @author XSeb74 */
public class AdvancementCalculator implements Serializable
@@ -87,20 +86,11 @@ public class AdvancementCalculator implements Serializable {
current.mCurrentNbActExp += 1;
current.mMaximuNbActexp += 1;
- if (act.getCurrentState() == States.FINISHED)
+ if (act.isFinished())
{
current.mNbActpassed += 1;
current.mNbActpassedWithCurrent += 1;
}
- else if (act.getActive()&&act.getState()<States.REPEATSTATESTART)
- {
- current.mIsbranchActive = true;
- current.mIsbranchFinished = false;
- current.mHasPrevActive = true;
-// Logger.debug(0, "set HasprevActive to true " + act.getName());
- current.mNbActpassedWithCurrent += 1;
- current.mNbActLeftWithCurrent += 1;
- }
else
{
current.mIsbranchFinished = false;
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/CompositeActivity.java b/src/main/java/com/c2kernel/lifecycle/instance/CompositeActivity.java index 689fbb8..f7d39ae 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/CompositeActivity.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/CompositeActivity.java @@ -6,6 +6,7 @@ import com.c2kernel.common.AccessRightsException; import com.c2kernel.common.InvalidDataException;
import com.c2kernel.common.InvalidTransitionException;
import com.c2kernel.common.ObjectAlreadyExistsException;
+import com.c2kernel.common.ObjectNotFoundException;
import com.c2kernel.entity.agent.Job;
import com.c2kernel.graph.model.GraphModel;
import com.c2kernel.graph.model.GraphPoint;
@@ -297,10 +298,12 @@ public class CompositeActivity extends Activity /**
+ * @throws InvalidDataException
+ * @throws ObjectNotFoundException
* @see com.c2kernel.lifecycle.instance.Activity#calculateJobs()
*/
@Override
- public ArrayList<Job> calculateJobs(AgentPath agent, int itemSysKey, boolean recurse)
+ public ArrayList<Job> calculateJobs(AgentPath agent, int itemSysKey, boolean recurse) throws ObjectNotFoundException, InvalidDataException
{
ArrayList<Job> jobs = new ArrayList<Job>();
boolean childActive = false;
@@ -318,7 +321,7 @@ public class CompositeActivity extends Activity }
@Override
- public ArrayList<Job> calculateAllJobs(AgentPath agent, int itemSysKey, boolean recurse)
+ public ArrayList<Job> calculateAllJobs(AgentPath agent, int itemSysKey, boolean recurse) throws ObjectNotFoundException, InvalidDataException
{
ArrayList<Job> jobs = new ArrayList<Job>();
if (recurse)
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/Join.java b/src/main/java/com/c2kernel/lifecycle/instance/Join.java index b643ff8..173f57c 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/Join.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/Join.java @@ -58,7 +58,7 @@ public class Join extends WfVertex * @see com.c2kernel.lifecycle.instance.WfVertex#reinit(int)
*/
@Override
- public void reinit(int idLoop)
+ public void reinit(int idLoop) throws InvalidDataException
{
Vertex[] outVertices = getOutGraphables();
if (outVertices.length == 1)
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/WfVertex.java b/src/main/java/com/c2kernel/lifecycle/instance/WfVertex.java index fba00b3..b0872c2 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/WfVertex.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/WfVertex.java @@ -61,7 +61,7 @@ public abstract class WfVertex extends GraphableVertex * @throws InvalidDataException
* @throws ObjectNotFoundException
*/
- public abstract void reinit( int idLoop );
+ public abstract void reinit( int idLoop ) throws InvalidDataException;
/**
* Method verify.
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/StateMachine.java b/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/StateMachine.java index 6d8033c..f9cf144 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/StateMachine.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/StateMachine.java @@ -132,7 +132,7 @@ public class StateMachine implements DescriptionObject State currentState = getState(act.getState());
if (transition.originState.equals(currentState)) {
transition.getPerformingRole(act, agent);
- return transition.terminalState;
+ return transition.targetState;
}
else
throw new InvalidTransitionException();
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/Transition.java b/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/Transition.java index b88ddab..9815889 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/Transition.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/Transition.java @@ -19,17 +19,17 @@ public class Transition implements Serializable { int id;
String name;
- int originStateCode;
- int terminalStateCode;
+ int originStateId;
+ int targetStateId;
State originState;
- State terminalState;
+ State targetState;
String reservation;
String enabledProp; // Boolean property that permits this transition e.g. 'Skippable'
// activation properties
boolean requiresActive = true; // Whether the activity must be active for this transition to be available
- boolean finishing; // whether the terminal state is a finishing state;
+ boolean finishing; // whether the target state is a finishing state;
// permissions
String roleOverride;
@@ -56,13 +56,13 @@ public class Transition implements Serializable { this.originState = originState;
}
- public State getTerminalState() {
- return terminalState;
+ public State getTargetState() {
+ return targetState;
}
- public void setTerminalState(State terminalState) {
- this.terminalState = terminalState;
- finishing = terminalState.finished;
+ public void setTargetState(State targetState) {
+ this.targetState = targetState;
+ finishing = targetState.finished;
}
public String getEnabledProp() {
@@ -119,25 +119,25 @@ public class Transition implements Serializable { protected boolean resolveStates(HashMap<String, State> states) {
boolean allFound = true;
- if (states.keySet().contains(originStateCode)) {
- originState = states.get(originStateCode);
+ if (states.keySet().contains(originStateId)) {
+ originState = states.get(originStateId);
originState.addPossibleTransition(this);
}
else
allFound = false;
- if (states.keySet().contains(terminalStateCode))
- terminalState = states.get(terminalStateCode);
+ if (states.keySet().contains(targetStateId))
+ targetState = states.get(targetStateId);
else
allFound = false;
return allFound;
}
- public int getOriginStateCode() {
- return originStateCode;
+ public int getOriginStateId() {
+ return originStateId;
}
- public void setOriginStateCode(int originStateCode) {
- this.originStateCode = originStateCode;
+ public void setOriginStateId(int originStateId) {
+ this.originStateId = originStateId;
}
public int getId() {
@@ -148,12 +148,12 @@ public class Transition implements Serializable { this.id = id;
}
- public int getTerminalStateCode() {
- return terminalStateCode;
+ public int getTargetStateId() {
+ return targetStateId;
}
- public void setTerminalStateCode(int terminalStateCode) {
- this.terminalStateCode = terminalStateCode;
+ public void setTargetStateId(int targetStateId) {
+ this.targetStateId = targetStateId;
}
public String getPerformingRole(Activity act, AgentPath agent) throws ObjectNotFoundException, AccessRightsException {
@@ -209,7 +209,7 @@ public class Transition implements Serializable { public String getReservation(Activity act, AgentPath agent) {
if (reservation == null || reservation.length() == 0)
- reservation = terminalState.finished?"clear":"set";
+ reservation = targetState.finished?"clear":"set";
String reservedAgent = act.getCurrentAgentName();
if (reservation.equals("set"))
|
