diff options
Diffstat (limited to 'src/main/java/com/c2kernel/lifecycle/instance/Workflow.java')
| -rw-r--r-- | src/main/java/com/c2kernel/lifecycle/instance/Workflow.java | 46 |
1 files changed, 26 insertions, 20 deletions
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/Workflow.java b/src/main/java/com/c2kernel/lifecycle/instance/Workflow.java index 13a7db6..e3a6b7f 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/Workflow.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/Workflow.java @@ -6,16 +6,15 @@ import com.c2kernel.common.InvalidDataException; import com.c2kernel.common.InvalidTransitionException;
import com.c2kernel.common.ObjectAlreadyExistsException;
import com.c2kernel.common.ObjectNotFoundException;
+import com.c2kernel.common.PersistencyException;
import com.c2kernel.entity.C2KLocalObject;
import com.c2kernel.entity.agent.Job;
import com.c2kernel.events.History;
import com.c2kernel.graph.model.GraphPoint;
import com.c2kernel.graph.model.TypeNameAndConstructionInfo;
import com.c2kernel.lifecycle.instance.predefined.PredefinedStepContainer;
-import com.c2kernel.lifecycle.instance.stateMachine.Transitions;
import com.c2kernel.lookup.AgentPath;
import com.c2kernel.persistency.ClusterStorage;
-import com.c2kernel.scripting.ScriptingEngineException;
import com.c2kernel.utils.Language;
import com.c2kernel.utils.Logger;
/**
@@ -45,7 +44,6 @@ public class Workflow extends CompositeActivity implements C2KLocalObject */
public Workflow()
{
- getProperties().put("ItemSystemKey", null);
}
public Workflow(CompositeActivity domain) {
@@ -96,14 +94,15 @@ public class Workflow extends CompositeActivity implements C2KLocalObject * @throws AccessRightsException
* @throws InvalidTransitionException
* @throws InvalidDataException
+ * @throws PersistencyException
*/
//requestData is xmlstring
- public void requestAction(AgentPath agent, String stepPath, int transitionID, String requestData)
- throws ObjectNotFoundException, AccessRightsException, InvalidTransitionException, InvalidDataException, ObjectAlreadyExistsException
+ public void requestAction(AgentPath agent, String stepPath, int itemSysKey, int transitionID, String requestData)
+ throws ObjectNotFoundException, AccessRightsException, InvalidTransitionException, InvalidDataException, ObjectAlreadyExistsException, PersistencyException
{
- Logger.msg(3, "Action: " + Transitions.getTransitionName(transitionID) + " " + stepPath + " by " + agent.getAgentName());
+ Logger.msg(3, "Action: " + transitionID + " " + stepPath + " by " + agent.getAgentName());
if (search(stepPath) != null)
- ((Activity) search(stepPath)).request(agent, transitionID, requestData);
+ ((Activity) search(stepPath)).request(agent, itemSysKey, transitionID, requestData);
else
throw new ObjectNotFoundException(stepPath + " not found", "");
}
@@ -167,35 +166,42 @@ public class Workflow extends CompositeActivity implements C2KLocalObject * Method initialise.
*
* @param systemKey
+ * @throws InvalidDataException
+ * @throws ObjectNotFoundException
+ * @throws AccessRightsException
+ * @throws InvalidTransitionException
*/
- public void initialise(int systemKey, AgentPath agent)
+ public void initialise(int systemKey, AgentPath agent) throws InvalidDataException, InvalidTransitionException, AccessRightsException, ObjectNotFoundException
{
- this.getProperties().put("ItemSystemKey", new Integer(systemKey));
try
{
- runfirst(agent);
+ runFirst(agent, systemKey);
}
- catch (ScriptingEngineException ex)
+ catch (InvalidDataException ex)
{
Logger.error(ex);
+ } catch (PersistencyException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
}
}
- /**
- * Method calculateJobs.
- *
- * @param type
- * @return JobList
- */
+
/**
* if type = 0 only domain steps will be queried if type = 1 only predefined steps will be queried else both will be queried
+ * @param agent
+ * @param itemSysKey
+ * @param type
+ * @return
+ * @throws ObjectNotFoundException
+ * @throws InvalidDataException
*/
- public ArrayList<Job> calculateJobs(AgentPath agent, int type)
+ public ArrayList<Job> calculateJobs(AgentPath agent, int itemSysKey, int type) throws ObjectNotFoundException, InvalidDataException
{
ArrayList<Job> jobs = new ArrayList<Job>();
if (type != 1)
- jobs.addAll(((CompositeActivity) search("workflow/domain")).calculateJobs(agent, true));
+ jobs.addAll(((CompositeActivity) search("workflow/domain")).calculateJobs(agent, itemSysKey, true));
if (type != 0)
- jobs.addAll(((CompositeActivity) search("workflow/predefined")).calculateJobs(agent, true));
+ jobs.addAll(((CompositeActivity) search("workflow/predefined")).calculateJobs(agent, itemSysKey, true));
return jobs;
}
/**
|
