summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/entity
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/c2kernel/entity')
-rw-r--r--src/main/java/com/c2kernel/entity/ItemImplementation.java5
-rw-r--r--src/main/java/com/c2kernel/entity/TraceableEntity.java4
-rw-r--r--src/main/java/com/c2kernel/entity/agent/ActiveEntity.java4
-rw-r--r--src/main/java/com/c2kernel/entity/proxy/AgentProxy.java18
-rw-r--r--src/main/java/com/c2kernel/entity/proxy/ItemProxy.java4
5 files changed, 19 insertions, 16 deletions
diff --git a/src/main/java/com/c2kernel/entity/ItemImplementation.java b/src/main/java/com/c2kernel/entity/ItemImplementation.java
index e0d107a..b12e105 100644
--- a/src/main/java/com/c2kernel/entity/ItemImplementation.java
+++ b/src/main/java/com/c2kernel/entity/ItemImplementation.java
@@ -113,7 +113,7 @@ public class ItemImplementation implements ItemOperations {
@Override
- public void requestAction(int agentId, String stepPath, int transitionID,
+ public String requestAction(int agentId, String stepPath, int transitionID,
String requestData) throws AccessRightsException,
InvalidTransitionException, ObjectNotFoundException,
InvalidDataException, PersistencyException,
@@ -128,7 +128,7 @@ public class ItemImplementation implements ItemOperations {
Workflow lifeCycle = (Workflow) mStorage.get(mSystemKey,
ClusterStorage.LIFECYCLE + "/workflow", null);
- lifeCycle.requestAction(agent, stepPath, mSystemKey,
+ String finalOutcome = lifeCycle.requestAction(agent, stepPath, mSystemKey,
transitionID, requestData);
// store the workflow if we've changed the state of the domain
@@ -136,6 +136,7 @@ public class ItemImplementation implements ItemOperations {
if (!(stepPath.startsWith("workflow/predefined")))
mStorage.put(mSystemKey, lifeCycle, null);
+ return finalOutcome;
// Normal operation exceptions
} catch (AccessRightsException ex) {
Logger.msg("Propagating AccessRightsException back to the calling agent");
diff --git a/src/main/java/com/c2kernel/entity/TraceableEntity.java b/src/main/java/com/c2kernel/entity/TraceableEntity.java
index ffd5859..a0980ee 100644
--- a/src/main/java/com/c2kernel/entity/TraceableEntity.java
+++ b/src/main/java/com/c2kernel/entity/TraceableEntity.java
@@ -111,7 +111,7 @@ public class TraceableEntity extends ItemPOA
**************************************************************************/
//requestdata is xmlstring
@Override
- public void requestAction( int agentId,
+ public String requestAction( int agentId,
String stepPath,
int transitionID,
String requestData
@@ -124,7 +124,7 @@ public class TraceableEntity extends ItemPOA
ObjectAlreadyExistsException
{
synchronized (this) {
- mItemImpl.requestAction(agentId, stepPath, transitionID, requestData);
+ return mItemImpl.requestAction(agentId, stepPath, transitionID, requestData);
}
}
diff --git a/src/main/java/com/c2kernel/entity/agent/ActiveEntity.java b/src/main/java/com/c2kernel/entity/agent/ActiveEntity.java
index c59b0fe..a799b62 100644
--- a/src/main/java/com/c2kernel/entity/agent/ActiveEntity.java
+++ b/src/main/java/com/c2kernel/entity/agent/ActiveEntity.java
@@ -120,14 +120,14 @@ public class ActiveEntity extends AgentPOA
}
@Override
- public void requestAction(int agentID, String stepPath, int transitionID,
+ public String requestAction(int agentID, String stepPath, int transitionID,
String requestData) throws AccessRightsException,
InvalidTransitionException, ObjectNotFoundException,
InvalidDataException, PersistencyException,
ObjectAlreadyExistsException {
synchronized (this) {
- mAgentImpl.requestAction(agentID, stepPath, transitionID, requestData);
+ return mAgentImpl.requestAction(agentID, stepPath, transitionID, requestData);
}
}
diff --git a/src/main/java/com/c2kernel/entity/proxy/AgentProxy.java b/src/main/java/com/c2kernel/entity/proxy/AgentProxy.java
index 29550d4..b6566a8 100644
--- a/src/main/java/com/c2kernel/entity/proxy/AgentProxy.java
+++ b/src/main/java/com/c2kernel/entity/proxy/AgentProxy.java
@@ -82,7 +82,7 @@ public class AgentProxy extends ItemProxy
* @param job - the job to execute
* @throws ScriptErrorException
*/
- public void execute(ItemProxy item, Job job)
+ public String execute(ItemProxy item, Job job)
throws AccessRightsException,
InvalidTransitionException,
ObjectNotFoundException,
@@ -152,12 +152,14 @@ public class AgentProxy extends ItemProxy
job.setAgentId(getSystemKey());
Logger.msg(3, "AgentProxy - submitting job to item proxy");
- item.requestAction(job);
+ String result = item.requestAction(job);
if (Logger.doLog(3)) {
Date timeNow = new Date();
long secsNow = (timeNow.getTime()-startTime.getTime())/1000;
Logger.msg(3, "Execution took "+secsNow+" seconds");
}
+
+ return result;
}
private Object callScript(ItemProxy item, Job job) throws ScriptingEngineException {
@@ -178,7 +180,7 @@ public class AgentProxy extends ItemProxy
* @throws ObjectAlreadyExistsException
* @throws ScriptErrorException
*/
- public void execute(Job job)
+ public String execute(Job job)
throws AccessRightsException,
InvalidDataException,
InvalidTransitionException,
@@ -189,13 +191,13 @@ public class AgentProxy extends ItemProxy
{
try {
ItemProxy targetItem = Gateway.getProxyManager().getProxy(new ItemPath(job.getItemSysKey()));
- execute(targetItem, job);
+ return execute(targetItem, job);
} catch (InvalidItemPathException e) {
throw new ObjectNotFoundException("Job contained invalid item sysKey: "+job.getItemSysKey(), "");
}
}
- public void execute(ItemProxy item, String predefStep, C2KLocalObject obj)
+ public String execute(ItemProxy item, String predefStep, C2KLocalObject obj)
throws AccessRightsException,
InvalidDataException,
InvalidTransitionException,
@@ -210,10 +212,10 @@ public class AgentProxy extends ItemProxy
Logger.error(ex);
throw new InvalidDataException("Error on marshall", "");
}
- execute(item, predefStep, param);
+ return execute(item, predefStep, param);
}
- public void execute(ItemProxy item, String predefStep, String... params)
+ public String execute(ItemProxy item, String predefStep, String... params)
throws AccessRightsException,
InvalidDataException,
InvalidTransitionException,
@@ -221,7 +223,7 @@ public class AgentProxy extends ItemProxy
PersistencyException,
ObjectAlreadyExistsException
{
- item.getItem().requestAction(getSystemKey(), "workflow/predefined/"+predefStep, PredefinedStep.DONE, PredefinedStep.bundleData(params));
+ return item.getItem().requestAction(getSystemKey(), "workflow/predefined/"+predefStep, PredefinedStep.DONE, PredefinedStep.bundleData(params));
}
/** Wrappers for scripts */
diff --git a/src/main/java/com/c2kernel/entity/proxy/ItemProxy.java b/src/main/java/com/c2kernel/entity/proxy/ItemProxy.java
index f3a2f44..454da6d 100644
--- a/src/main/java/com/c2kernel/entity/proxy/ItemProxy.java
+++ b/src/main/java/com/c2kernel/entity/proxy/ItemProxy.java
@@ -158,7 +158,7 @@ public class ItemProxy
/**************************************************************************
*
**************************************************************************/
- public void requestAction( Job thisJob )
+ public String requestAction( Job thisJob )
throws AccessRightsException,
InvalidTransitionException,
ObjectNotFoundException,
@@ -178,7 +178,7 @@ public class ItemProxy
throw new InvalidDataException("No Agent specified.", "");
Logger.msg(7, "ItemProxy - executing "+thisJob.getStepPath()+" for "+thisJob.getAgentName());
- getItem().requestAction (thisJob.getAgentId(), thisJob.getStepPath(),
+ return getItem().requestAction (thisJob.getAgentId(), thisJob.getStepPath(),
thisJob.getTransition().getId(), outcome);
}