From da731d2bb81666b9c697d9099da632e7dfcdc0f7 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 9 Sep 2014 12:13:21 +0200 Subject: 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. --- .../lifecycle/instance/CompositeActivity.java | 39 ++++++++++++---------- 1 file changed, 21 insertions(+), 18 deletions(-) (limited to 'src/main/java/com/c2kernel/lifecycle/instance/CompositeActivity.java') 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 calculateJobs(AgentPath agent, int itemSysKey, boolean recurse) throws ObjectNotFoundException, InvalidDataException + public ArrayList calculateJobs(AgentPath agent, ItemPath itemPath, boolean recurse) throws ObjectNotFoundException, InvalidDataException, InvalidAgentPathException { ArrayList jobs = new ArrayList(); 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 calculateAllJobs(AgentPath agent, int itemSysKey, boolean recurse) throws ObjectNotFoundException, InvalidDataException + public ArrayList calculateAllJobs(AgentPath agent, ItemPath itemPath, boolean recurse) throws ObjectNotFoundException, InvalidDataException, InvalidAgentPathException { ArrayList jobs = new ArrayList(); 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 -- cgit v1.2.3