From e99ed30f6cae36c5f3fa03007d991e67894a01bb Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 23 Jul 2013 09:41:43 +0200 Subject: More --- src/main/java/com/c2kernel/entity/proxy/AgentProxy.java | 15 ++++++--------- src/main/java/com/c2kernel/entity/proxy/ItemProxy.java | 9 +++------ 2 files changed, 9 insertions(+), 15 deletions(-) (limited to 'src/main/java/com/c2kernel/entity/proxy') 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 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; -- cgit v1.2.3