summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/lifecycle/instance
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2014-05-16 10:38:32 +0200
committerAndrew Branson <andrew.branson@cern.ch>2014-05-16 10:38:32 +0200
commit62c7a46967e949304e6b242854526463aae7ee17 (patch)
tree50548ae1c30d8355091f77365214c4378870ddac /src/main/java/com/c2kernel/lifecycle/instance
parent8e8185210f5bd87cb5dcda3a458fe059f811aafc (diff)
item.request returns the final outcome, which may be modified during the
execution (e.g. in the case of Predefined Steps). Fixes #136
Diffstat (limited to 'src/main/java/com/c2kernel/lifecycle/instance')
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/Activity.java4
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/CompositeActivity.java4
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/Workflow.java4
3 files changed, 7 insertions, 5 deletions
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/Activity.java b/src/main/java/com/c2kernel/lifecycle/instance/Activity.java
index 8e578c2..b86e200 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/Activity.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/Activity.java
@@ -129,7 +129,7 @@ public class Activity extends WfVertex
/** cf Item request
* @throws ObjectNotFoundException
* @throws PersistencyException */
- public void request(AgentPath agent, int itemSysKey, int transitionID, String requestData) throws AccessRightsException, InvalidTransitionException, InvalidDataException, ObjectNotFoundException, PersistencyException
+ public String request(AgentPath agent, int itemSysKey, int transitionID, String requestData) throws AccessRightsException, InvalidTransitionException, InvalidDataException, ObjectNotFoundException, PersistencyException
{
// Find requested transition
@@ -203,6 +203,8 @@ public class Activity extends WfVertex
//refresh all the job lists
pushJobsToAgents(itemSysKey);
+
+ return outcome;
}
protected String runActivityLogic(AgentPath agent, int itemSysKey,
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/CompositeActivity.java b/src/main/java/com/c2kernel/lifecycle/instance/CompositeActivity.java
index 016298f..e6d1bf9 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/CompositeActivity.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/CompositeActivity.java
@@ -413,12 +413,12 @@ public class CompositeActivity extends Activity
}
@Override
- public void request(AgentPath agent, int itemSysKey, int transitionID, String requestData) throws AccessRightsException, InvalidTransitionException, InvalidDataException, ObjectNotFoundException, PersistencyException
+ public String request(AgentPath agent, int itemSysKey, 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);
- super.request(agent, itemSysKey, transitionID, requestData);
+ return super.request(agent, itemSysKey, transitionID, requestData);
}
public void refreshJobs(int itemSysKey)
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/Workflow.java b/src/main/java/com/c2kernel/lifecycle/instance/Workflow.java
index fa5e66b..8ff2fe2 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/Workflow.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/Workflow.java
@@ -99,12 +99,12 @@ public class Workflow extends CompositeActivity implements C2KLocalObject
* @throws PersistencyException
*/
//requestData is xmlstring
- public void requestAction(AgentPath agent, String stepPath, int itemSysKey, int transitionID, String requestData)
+ public String requestAction(AgentPath agent, String stepPath, int itemSysKey, int transitionID, String requestData)
throws ObjectNotFoundException, AccessRightsException, InvalidTransitionException, InvalidDataException, ObjectAlreadyExistsException, PersistencyException
{
Logger.msg(3, "Action: " + transitionID + " " + stepPath + " by " + agent.getAgentName());
if (search(stepPath) != null)
- ((Activity) search(stepPath)).request(agent, itemSysKey, transitionID, requestData);
+ return ((Activity) search(stepPath)).request(agent, itemSysKey, transitionID, requestData);
else
throw new ObjectNotFoundException(stepPath + " not found", "");
}