From 14e2fe28c2b7ecaae53a10d1aa7aa4b921b6efbc Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Wed, 11 Jun 2014 23:38:35 +0200 Subject: Separate PredefinedStepContainers for Agents and Items (and Server Item) --- src/main/java/com/c2kernel/entity/AgentImplementation.java | 6 ++++++ src/main/java/com/c2kernel/entity/ItemImplementation.java | 11 +++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) (limited to 'src/main/java/com/c2kernel/entity') diff --git a/src/main/java/com/c2kernel/entity/AgentImplementation.java b/src/main/java/com/c2kernel/entity/AgentImplementation.java index 8010114..7f38f13 100644 --- a/src/main/java/com/c2kernel/entity/AgentImplementation.java +++ b/src/main/java/com/c2kernel/entity/AgentImplementation.java @@ -6,6 +6,8 @@ import com.c2kernel.common.ObjectNotFoundException; import com.c2kernel.entity.agent.Job; import com.c2kernel.entity.agent.JobArrayList; import com.c2kernel.entity.agent.JobList; +import com.c2kernel.lifecycle.instance.predefined.PredefinedStepContainer; +import com.c2kernel.lifecycle.instance.predefined.agent.AgentPredefinedStepContainer; import com.c2kernel.lookup.AgentPath; import com.c2kernel.lookup.InvalidItemPathException; import com.c2kernel.lookup.RolePath; @@ -75,4 +77,8 @@ public class AgentImplementation extends ItemImplementation implements } } + @Override + protected PredefinedStepContainer getNewPredefStepContainer() { + return new AgentPredefinedStepContainer(); + } } diff --git a/src/main/java/com/c2kernel/entity/ItemImplementation.java b/src/main/java/com/c2kernel/entity/ItemImplementation.java index b12e105..9aa4f9b 100644 --- a/src/main/java/com/c2kernel/entity/ItemImplementation.java +++ b/src/main/java/com/c2kernel/entity/ItemImplementation.java @@ -11,6 +11,8 @@ import com.c2kernel.common.PersistencyException; import com.c2kernel.entity.agent.JobArrayList; import com.c2kernel.lifecycle.instance.CompositeActivity; import com.c2kernel.lifecycle.instance.Workflow; +import com.c2kernel.lifecycle.instance.predefined.PredefinedStepContainer; +import com.c2kernel.lifecycle.instance.predefined.item.ItemPredefinedStepContainer; import com.c2kernel.lookup.AgentPath; import com.c2kernel.lookup.InvalidItemPathException; import com.c2kernel.persistency.ClusterStorage; @@ -75,10 +77,10 @@ public class ItemImplementation implements ItemOperations { try { Workflow lc = null; if (initWfString == null || initWfString.length() == 0) - lc = new Workflow(new CompositeActivity()); + lc = new Workflow(new CompositeActivity(), getNewPredefStepContainer()); else lc = new Workflow((CompositeActivity) Gateway - .getMarshaller().unmarshall(initWfString)); + .getMarshaller().unmarshall(initWfString), getNewPredefStepContainer()); lc.initialise(mSystemKey, agentPath); mStorage.put(mSystemKey, lc, locker); } catch (Throwable ex) { @@ -112,6 +114,11 @@ public class ItemImplementation implements ItemOperations { } + protected PredefinedStepContainer getNewPredefStepContainer() { + + return new ItemPredefinedStepContainer(); + } + @Override public String requestAction(int agentId, String stepPath, int transitionID, String requestData) throws AccessRightsException, -- cgit v1.2.3