diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2013-09-17 08:54:33 +0200 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2013-09-17 08:54:33 +0200 |
| commit | 8b32fe15554c0103585321c3d397f6e46dd451b4 (patch) | |
| tree | fbf5f86108d61cafc362bebeceda85a71b8dc0bb | |
| parent | e99ed30f6cae36c5f3fa03007d991e67894a01bb (diff) | |
Merge and tidy after 2.4
8 files changed, 46 insertions, 49 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"))
diff --git a/src/main/resources/mapFiles/StateMachineMap.xml b/src/main/resources/mapFiles/StateMachineMap.xml index 7309647..53f24e1 100644 --- a/src/main/resources/mapFiles/StateMachineMap.xml +++ b/src/main/resources/mapFiles/StateMachineMap.xml @@ -16,8 +16,8 @@ </field>
</class>
<class name="com.c2kernel.lifecycle.instance.stateMachine.State">
- <field name="code" type="integer" direct="false">
- <bind-xml name="code" node="attribute" />
+ <field name="id" type="integer" direct="false">
+ <bind-xml name="id" node="attribute" />
</field>
<field name="name" type="string" direct="false">
<bind-xml name="name" node="attribute" />
@@ -27,16 +27,16 @@ </field>
</class>
<class name="com.c2kernel.lifecycle.instance.stateMachine.Transition">
- <field name="code" type="integer" direct="false">
- <bind-xml name="code" node="attribute" />
+ <field name="id" type="integer" direct="false">
+ <bind-xml name="id" node="attribute" />
</field>
<field name="name" type="string" direct="false">
<bind-xml name="name" node="attribute" />
</field>
- <field name="originStateCode" type="integer" direct="false">
+ <field name="originStateId" type="integer" direct="false">
<bind-xml name="origin" node="attribute" />
</field>
- <field name="targetStateCode" type="integer" direct="false">
+ <field name="targetStateId" type="integer" direct="false">
<bind-xml name="target" node="attribute" />
</field>
<field name="enabledProp" type="string" direct="false">
|
