From a1f0ecbb6a2bea6aa214322c412af2f3c5ce124b Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Wed, 7 May 2014 17:33:13 +0200 Subject: Agent now extends Item, so they can have workflows. All traces of the old 'Entity' superclasses should be removed, including proxies and paths. Very large change, breaks API compatibility with CRISTAL 2.x. Fixes #135 --- .../java/com/c2kernel/entity/proxy/AgentProxy.java | 63 +++++++++------------- 1 file changed, 25 insertions(+), 38 deletions(-) (limited to 'src/main/java/com/c2kernel/entity/proxy/AgentProxy.java') diff --git a/src/main/java/com/c2kernel/entity/proxy/AgentProxy.java b/src/main/java/com/c2kernel/entity/proxy/AgentProxy.java index f76af10..29550d4 100644 --- a/src/main/java/com/c2kernel/entity/proxy/AgentProxy.java +++ b/src/main/java/com/c2kernel/entity/proxy/AgentProxy.java @@ -22,13 +22,12 @@ import com.c2kernel.common.PersistencyException; import com.c2kernel.entity.Agent; import com.c2kernel.entity.AgentHelper; 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.lookup.AgentPath; import com.c2kernel.lookup.DomainPath; -import com.c2kernel.lookup.EntityPath; -import com.c2kernel.lookup.InvalidEntityPathException; +import com.c2kernel.lookup.InvalidItemPathException; +import com.c2kernel.lookup.ItemPath; import com.c2kernel.lookup.Path; import com.c2kernel.persistency.outcome.OutcomeValidator; import com.c2kernel.persistency.outcome.Schema; @@ -47,51 +46,34 @@ import com.c2kernel.utils.Logger; * @version $Revision: 1.37 $ $Date: 2005/10/05 07:39:36 $ * @author $Author: abranson $ ******************************************************************************/ -public class AgentProxy extends EntityProxy +public class AgentProxy extends ItemProxy { - AgentPath path; + AgentPath agentPath; /************************************************************************** * Creates an AgentProxy without cache and change notification **************************************************************************/ - public AgentProxy( org.omg.CORBA.Object ior, + protected AgentProxy( org.omg.CORBA.Object ior, int systemKey) throws ObjectNotFoundException { - super(ior, systemKey); - try { - path = new AgentPath(systemKey); - } catch (InvalidEntityPathException e) { + super(ior, systemKey); + try { + agentPath = new AgentPath(systemKey); + mPath = agentPath; + } catch (InvalidItemPathException e) { throw new ObjectNotFoundException(); } } @Override - public ManageableEntity narrow() throws ObjectNotFoundException + public Agent narrow() throws ObjectNotFoundException { try { return AgentHelper.narrow(mIOR); } catch (org.omg.CORBA.BAD_PARAM ex) { } throw new ObjectNotFoundException("CORBA Object was not an Agent, or the server is down."); } - /************************************************************************** - * - * - **************************************************************************/ - public void initialise( String agentProps, String collector ) - throws AccessRightsException, - InvalidDataException, - PersistencyException, - ObjectNotFoundException - { - Logger.msg(7, "AgentProxy::initialise - started"); - - ((Agent)getEntity()).initialise( agentProps ); - } - - public AgentPath getPath() { - return path; - } /** * Executes a job on the given item using this agent. @@ -111,7 +93,7 @@ public class AgentProxy extends EntityProxy { OutcomeValidator validator = null; Date startTime = new Date(); - Logger.msg(3, "AgentProxy - executing "+job.getStepPath()+" for "+path.getAgentName()); + Logger.msg(3, "AgentProxy - executing "+job.getStepPath()+" for "+agentPath.getAgentName()); // get the outcome validator if present if (job.hasOutcome()) { @@ -206,9 +188,9 @@ public class AgentProxy extends EntityProxy ScriptErrorException { try { - ItemProxy targetItem = (ItemProxy)Gateway.getProxyManager().getProxy(new EntityPath(job.getItemSysKey())); + ItemProxy targetItem = Gateway.getProxyManager().getProxy(new ItemPath(job.getItemSysKey())); execute(targetItem, job); - } catch (InvalidEntityPathException e) { + } catch (InvalidItemPathException e) { throw new ObjectNotFoundException("Job contained invalid item sysKey: "+job.getItemSysKey(), ""); } } @@ -239,7 +221,7 @@ public class AgentProxy extends EntityProxy PersistencyException, ObjectAlreadyExistsException { - item.requestAction(getSystemKey(), "workflow/predefined/"+predefStep, PredefinedStep.DONE, PredefinedStep.bundleData(params)); + item.getItem().requestAction(getSystemKey(), "workflow/predefined/"+predefStep, PredefinedStep.DONE, PredefinedStep.bundleData(params)); } /** Wrappers for scripts */ @@ -266,18 +248,23 @@ public class AgentProxy extends EntityProxy returnPath = nextMatch; } - return (ItemProxy)Gateway.getProxyManager().getProxy(returnPath); + return Gateway.getProxyManager().getProxy(returnPath); } public ItemProxy getItem(String itemPath) throws ObjectNotFoundException { return (getItem(new DomainPath(itemPath))); } - public ItemProxy getItem(Path itemPath) throws ObjectNotFoundException { - return (ItemProxy)Gateway.getProxyManager().getProxy(itemPath); + @Override + public AgentPath getPath() { + return agentPath; + } + + public ItemProxy getItem(Path itemPath) throws ObjectNotFoundException { + return Gateway.getProxyManager().getProxy(itemPath); } - public ItemProxy getItemBySysKey(int sysKey) throws ObjectNotFoundException, InvalidEntityPathException { - return (ItemProxy)Gateway.getProxyManager().getProxy(new EntityPath(sysKey)); + public ItemProxy getItemBySysKey(int sysKey) throws ObjectNotFoundException, InvalidItemPathException { + return Gateway.getProxyManager().getProxy(new ItemPath(sysKey)); } } -- cgit v1.2.3