summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/entity/proxy
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2013-07-23 09:41:43 +0200
committerAndrew Branson <andrew.branson@cern.ch>2013-09-16 12:44:14 +0200
commite99ed30f6cae36c5f3fa03007d991e67894a01bb (patch)
tree5fdfe6aab9e31ebd8c282eb16d42c5e2f75b1217 /src/main/java/com/c2kernel/entity/proxy
parent0bb38e90ac6e88cb406facbc075983384a2e164f (diff)
More
Diffstat (limited to 'src/main/java/com/c2kernel/entity/proxy')
-rw-r--r--src/main/java/com/c2kernel/entity/proxy/AgentProxy.java15
-rw-r--r--src/main/java/com/c2kernel/entity/proxy/ItemProxy.java9
2 files changed, 9 insertions, 15 deletions
diff --git a/src/main/java/com/c2kernel/entity/proxy/AgentProxy.java b/src/main/java/com/c2kernel/entity/proxy/AgentProxy.java
index 24172dc..d803079 100644
--- a/src/main/java/com/c2kernel/entity/proxy/AgentProxy.java
+++ b/src/main/java/com/c2kernel/entity/proxy/AgentProxy.java
@@ -25,7 +25,6 @@ import com.c2kernel.entity.C2KLocalObject;
import com.c2kernel.entity.ManageableEntity;
import com.c2kernel.entity.agent.Job;
import com.c2kernel.lifecycle.instance.predefined.PredefinedStep;
-import com.c2kernel.lifecycle.instance.stateMachine.Transitions;
import com.c2kernel.lookup.AgentPath;
import com.c2kernel.lookup.DomainPath;
import com.c2kernel.lookup.EntityPath;
@@ -111,14 +110,13 @@ public class AgentProxy extends EntityProxy
ScriptErrorException
{
OutcomeValidator validator = null;
- String scriptName = job.getActPropString("ScriptName");
Date startTime = new Date();
Logger.msg(3, "AgentProxy - executing "+job.getStepPath()+" for "+path.getAgentName());
// get the outcome validator if present
- if (job.requiresOutcome() || job.isError())
+ if (job.hasOutcome())
{
- String schemaName = job.isError()?"Errors":job.getSchemaType();
- int schemaVersion = job.isError()?0:job.getSchemaVersion();
+ String schemaName = job.getSchemaName();
+ int schemaVersion = job.getSchemaVersion();
Logger.msg(5, "AgentProxy - fetching schema "+schemaName+"_"+schemaVersion+" for validation");
// retrieve schema
@@ -134,9 +132,8 @@ public class AgentProxy extends EntityProxy
}
}
- if(scriptName != null && scriptName.length() > 0 &&
- (job.getPossibleTransition() == Transitions.DONE || job.getPossibleTransition() == Transitions.COMPLETE)) {
- Logger.msg(3, "AgentProxy - executing script "+scriptName);
+ if(job.hasScript()) {
+ Logger.msg(3, "AgentProxy - executing script "+job.getScriptName()+" v"+job.getScriptVersion());
try {
// pre-validate outcome from script if there is one
@@ -151,7 +148,6 @@ public class AgentProxy extends EntityProxy
// load script
ErrorInfo scriptErrors = (ErrorInfo)callScript(item, job);
-
String errorString = scriptErrors.toString();
if (scriptErrors.getFatal()) {
Logger.msg(3, "AgentProxy - fatal script error");
@@ -171,6 +167,7 @@ public class AgentProxy extends EntityProxy
if (error.length() > 0)
throw new InvalidDataException(error, "");
}
+ else if (job.isOutcomeRequired())
job.setAgentId(getSystemKey());
Logger.msg(3, "AgentProxy - submitting job to item proxy");
diff --git a/src/main/java/com/c2kernel/entity/proxy/ItemProxy.java b/src/main/java/com/c2kernel/entity/proxy/ItemProxy.java
index 67685e7..1740159 100644
--- a/src/main/java/com/c2kernel/entity/proxy/ItemProxy.java
+++ b/src/main/java/com/c2kernel/entity/proxy/ItemProxy.java
@@ -26,7 +26,6 @@ import com.c2kernel.entity.ManageableEntity;
import com.c2kernel.entity.agent.Job;
import com.c2kernel.entity.agent.JobArrayList;
import com.c2kernel.lifecycle.instance.Workflow;
-import com.c2kernel.lifecycle.instance.stateMachine.Transitions;
import com.c2kernel.persistency.ClusterStorage;
import com.c2kernel.persistency.outcome.Viewpoint;
import com.c2kernel.process.Gateway;
@@ -110,7 +109,7 @@ public class ItemProxy extends EntityProxy
String outcome = thisJob.getOutcomeString();
// check fields that should have been filled in
if (outcome==null)
- if (thisJob.requiresOutcome())
+ if (thisJob.isOutcomeRequired())
throw new InvalidDataException("Outcome is required.", "");
else
outcome="";
@@ -120,7 +119,7 @@ public class ItemProxy extends EntityProxy
Logger.msg(7, "ItemProxy - executing "+thisJob.getStepPath()+" for "+thisJob.getAgentName());
requestAction (thisJob.getAgentId(), thisJob.getStepPath(),
- thisJob.getPossibleTransition(), outcome);
+ thisJob.getTransitionId(), outcome);
}
//requestData is xmlString
@@ -200,9 +199,7 @@ public class ItemProxy extends EntityProxy
ArrayList<Job> jobList = getJobList(agentId);
for (Job job : jobList) {
- int transition = job.getPossibleTransition();
- if (job.getStepName().equals(actName))
- if (transition == Transitions.COMPLETE || transition == Transitions.DONE)
+ if (job.getStepName().equals(actName) && job.hasOutcome())
return job;
}
return null;