/************************************************************************** * BasicAgent.java * * $Revision: 1.39 $ * $Date: 2005/04/26 06:48:12 $ * * Copyright (C) 2001-2003 CERN - European Organization for Nuclear Research * All rights reserved. **************************************************************************/ package com.c2kernel.entity.agent; import com.c2kernel.common.AccessRightsException; import com.c2kernel.common.CannotManageException; 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.common.SystemKey; import com.c2kernel.entity.AgentPOA; import com.c2kernel.lookup.AgentPath; import com.c2kernel.utils.Logger; /************************************************************************** * ActiveEntity * * @author $Author: abranson $ $Date: 2005/04/26 06:48:12 $ * @version $Revision: 1.39 $ **************************************************************************/ public class ActiveEntity extends AgentPOA { private final org.omg.PortableServer.POA mPoa; private final AgentImplementation mAgentImpl; public ActiveEntity( AgentPath key, org.omg.PortableServer.POA poa ) { Logger.msg(5, "ActiveEntity::constructor() - SystemKey:" + key ); mPoa = poa; mAgentImpl = new AgentImplementation(key); } /************************************************************************** * * **************************************************************************/ @Override public org.omg.PortableServer.POA _default_POA() { if(mPoa != null) return mPoa; else return super._default_POA(); } /************************************************************************** * * **************************************************************************/ @Override public SystemKey getSystemKey() { return mAgentImpl.getSystemKey(); } /************************************************************************** * * **************************************************************************/ @Override public String queryData(String path) throws AccessRightsException, ObjectNotFoundException, PersistencyException { synchronized (this) { return mAgentImpl.queryData(path); } } /** * Called by an activity when it reckons we need to update our joblist for it */ @Override public void refreshJobList(SystemKey sysKey, String stepPath, String newJobs) { synchronized (this) { mAgentImpl.refreshJobList(sysKey, stepPath, newJobs); } } @Override public void addRole(String roleName) throws CannotManageException, ObjectNotFoundException { synchronized (this) { mAgentImpl.addRole(roleName); } } @Override public void removeRole(String roleName) throws CannotManageException, ObjectNotFoundException { synchronized (this) { mAgentImpl.removeRole(roleName); } } @Override public void initialise(SystemKey agentId, String propString, String initWfString, String initCollsString) throws AccessRightsException, InvalidDataException, PersistencyException, ObjectNotFoundException { synchronized (this) { mAgentImpl.initialise(agentId, propString, initWfString, initCollsString); } } @Override public String requestAction(SystemKey agentID, String stepPath, int transitionID, String requestData) throws AccessRightsException, InvalidTransitionException, ObjectNotFoundException, InvalidDataException, PersistencyException, ObjectAlreadyExistsException { synchronized (this) { return mAgentImpl.requestAction(agentID, stepPath, transitionID, requestData); } } @Override public String queryLifeCycle(SystemKey agentId, boolean filter) throws AccessRightsException, ObjectNotFoundException, PersistencyException { synchronized (this) { return mAgentImpl.queryLifeCycle(agentId, filter); } } }