summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/lifecycle/instance/CompositeActivity.java
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2014-09-09 12:13:21 +0200
committerAndrew Branson <andrew.branson@cern.ch>2014-09-09 12:13:21 +0200
commitda731d2bb81666b9c697d9099da632e7dfcdc0f7 (patch)
tree567693c3c48f3d15ecbb2dac4f9db03bb6e58c72 /src/main/java/com/c2kernel/lifecycle/instance/CompositeActivity.java
parentae1e79e33fd30e3d8bcedbef8891a14a048276d7 (diff)
Replaced int sysKey Item identifier with UUID, which is now portable.
ItemPath objects are now used to identify Items throughout the kernel, replacing ints and Integers.
Diffstat (limited to 'src/main/java/com/c2kernel/lifecycle/instance/CompositeActivity.java')
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/CompositeActivity.java39
1 files changed, 21 insertions, 18 deletions
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/CompositeActivity.java b/src/main/java/com/c2kernel/lifecycle/instance/CompositeActivity.java
index e6d1bf9..949d918 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/CompositeActivity.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/CompositeActivity.java
@@ -12,6 +12,8 @@ import com.c2kernel.graph.model.GraphModel;
import com.c2kernel.graph.model.GraphPoint;
import com.c2kernel.graph.model.GraphableVertex;
import com.c2kernel.lookup.AgentPath;
+import com.c2kernel.lookup.InvalidAgentPathException;
+import com.c2kernel.lookup.ItemPath;
import com.c2kernel.utils.Logger;
/**
@@ -288,32 +290,33 @@ public class CompositeActivity extends Activity
* @see com.c2kernel.lifecycle.instance.WfVertex#run()
*/
@Override
- public void run(AgentPath agent, int itemSysKey) throws InvalidDataException, InvalidTransitionException, AccessRightsException, ObjectNotFoundException, PersistencyException
+ public void run(AgentPath agent, ItemPath itemPath) throws InvalidDataException, InvalidTransitionException, AccessRightsException, ObjectNotFoundException, PersistencyException
{
- super.run(agent, itemSysKey);
+ super.run(agent, itemPath);
if (getChildrenGraphModel().getStartVertex() != null && !getStateMachine().getState(state).isFinished())
{
WfVertex first = (WfVertex) getChildrenGraphModel().getStartVertex();
- first.run(agent, itemSysKey);
+ first.run(agent, itemPath);
}
}
@Override
- public void runNext(AgentPath agent, int itemSysKey) throws InvalidDataException, AccessRightsException, InvalidTransitionException, ObjectNotFoundException, PersistencyException
+ public void runNext(AgentPath agent, ItemPath itemPath) throws InvalidDataException, AccessRightsException, InvalidTransitionException, ObjectNotFoundException, PersistencyException
{
if (!getStateMachine().getState(state).isFinished())
- request(agent, itemSysKey, CompositeActivity.COMPLETE, null);
- super.runNext(agent, itemSysKey);
+ request(agent, itemPath, CompositeActivity.COMPLETE, null);
+ super.runNext(agent, itemPath);
}
/**
* @throws InvalidDataException
* @throws ObjectNotFoundException
+ * @throws InvalidAgentPathException
* @see com.c2kernel.lifecycle.instance.Activity#calculateJobs()
*/
@Override
- public ArrayList<Job> calculateJobs(AgentPath agent, int itemSysKey, boolean recurse) throws ObjectNotFoundException, InvalidDataException
+ public ArrayList<Job> calculateJobs(AgentPath agent, ItemPath itemPath, boolean recurse) throws ObjectNotFoundException, InvalidDataException, InvalidAgentPathException
{
ArrayList<Job> jobs = new ArrayList<Job>();
boolean childActive = false;
@@ -322,16 +325,16 @@ public class CompositeActivity extends Activity
if (getChildren()[i] instanceof Activity)
{
Activity child = (Activity) getChildren()[i];
- jobs.addAll(child.calculateJobs(agent, itemSysKey, recurse));
+ jobs.addAll(child.calculateJobs(agent, itemPath, recurse));
childActive |= child.active;
}
if (!childActive)
- jobs.addAll(super.calculateJobs(agent, itemSysKey, recurse));
+ jobs.addAll(super.calculateJobs(agent, itemPath, recurse));
return jobs;
}
@Override
- public ArrayList<Job> calculateAllJobs(AgentPath agent, int itemSysKey, boolean recurse) throws ObjectNotFoundException, InvalidDataException
+ public ArrayList<Job> calculateAllJobs(AgentPath agent, ItemPath itemPath, boolean recurse) throws ObjectNotFoundException, InvalidDataException, InvalidAgentPathException
{
ArrayList<Job> jobs = new ArrayList<Job>();
if (recurse)
@@ -339,9 +342,9 @@ public class CompositeActivity extends Activity
if (getChildren()[i] instanceof Activity)
{
Activity child = (Activity) getChildren()[i];
- jobs.addAll(child.calculateAllJobs(agent, itemSysKey, recurse));
+ jobs.addAll(child.calculateAllJobs(agent, itemPath, recurse));
}
- jobs.addAll(super.calculateAllJobs(agent, itemSysKey, recurse));
+ jobs.addAll(super.calculateAllJobs(agent, itemPath, recurse));
return jobs;
}
@@ -413,21 +416,21 @@ public class CompositeActivity extends Activity
}
@Override
- public String request(AgentPath agent, int itemSysKey, int transitionID, String requestData) throws AccessRightsException, InvalidTransitionException, InvalidDataException, ObjectNotFoundException, PersistencyException
+ public String request(AgentPath agent, ItemPath itemPath, int transitionID, String requestData) throws AccessRightsException, InvalidTransitionException, InvalidDataException, ObjectNotFoundException, PersistencyException
{
if (getChildrenGraphModel().getStartVertex() != null && !getStateMachine().getState(state).isFinished() && transitionID == CompositeActivity.START)
- ((WfVertex) getChildrenGraphModel().getStartVertex()).run(agent, itemSysKey);
+ ((WfVertex) getChildrenGraphModel().getStartVertex()).run(agent, itemPath);
- return super.request(agent, itemSysKey, transitionID, requestData);
+ return super.request(agent, itemPath, transitionID, requestData);
}
- public void refreshJobs(int itemSysKey)
+ public void refreshJobs(ItemPath itemPath)
{
GraphableVertex[] children = getChildren();
for (GraphableVertex element : children)
if (element instanceof CompositeActivity)
- ((CompositeActivity) element).refreshJobs(itemSysKey);
+ ((CompositeActivity) element).refreshJobs(itemPath);
else if (element instanceof Activity)
- ((Activity) element).pushJobsToAgents(itemSysKey);
+ ((Activity) element).pushJobsToAgents(itemPath);
}
} \ No newline at end of file