kaos.core.service.directory.cougaar
Class CougaarAgentDirectoryServiceProxy

java.lang.Object
  extended by kaos.core.service.directory.KAoSAgentDirectoryServiceProxy
      extended by kaos.core.service.directory.cougaar.CougaarAgentDirectoryServiceProxy
All Implemented Interfaces:
java.io.Serializable, KAoSObserver, DirectoryEventNotifier, KAoSOntologyQueryService, GuardSynchronization, OntologyInterfaces

public class CougaarAgentDirectoryServiceProxy
extends KAoSAgentDirectoryServiceProxy

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class kaos.core.service.directory.KAoSAgentDirectoryServiceProxy
KAoSAgentDirectoryServiceProxy.OperationWaiter
 
Field Summary
 
Fields inherited from class kaos.core.service.directory.KAoSAgentDirectoryServiceProxy
_directoryName, _logger, _myLocator, _nickName, _NICKNAME_ROOT, _remoteDirectoryLocator, _sender, _serviceProps, _waiters, USE_COORDINATOR
 
Constructor Summary
CougaarAgentDirectoryServiceProxy(CougaarServiceRoot sr, Locator dmLocator, JasBean entityEnv)
           
 
Method Summary
protected  MessageTransportService acquireMessageTransportService()
          Return a MessageTransportService that is supported by this KAoSAgentDirectoryServiceProxy's platform.
protected  Locator acquireRemoteDirectoryLocator()
          Return a Locator that will be used to communicate with the Domain Manager.
protected  MethodCallResultMsg getResult(MethodCallRequestMsg msgOut, java.lang.String operationName)
          Wrap the MethodCallRequestMsg into a TransportMessage message and send it to the Domain Manager.
protected  JasBean obtainEntityEnv()
          Specify transport specific parameters that will be passed to the MessageTransportSystem.
protected  void registerForVMShutDown()
          Register as the shutdown hook with the runtime system.
 void setRemoteDirectoryLocator(Locator loc)
           
 
Methods inherited from class kaos.core.service.directory.KAoSAgentDirectoryServiceProxy
addEventListener, addRemoteEventListener, analyzeWorkflow, analyzeWorkflow, askQuery, bindToMessageTransportService, callWorkflowMethod, checkPermission, checkRegisterResult, cleanupVM, createAgentDescription, createMessageToSend, deregister, equals, getActions, getAgentDescriptionForAgentID, getAllAgentsInDirectory, getAllAgentsInDomain, getAllGuardsInDirectory, getClassesOfActors, getClassesOfActorsCapableOfPerformingActions, getClassesOfGroups, getClassesOfPlaces, getClassesOfTargets, getConstructedOntologyStructures, getDomainDescription, getDomainDescriptionsForGuard, getDomainNames, getGuardDescriptionsForEntity, getID, getIndividualActors, getIndividualGroups, getIndividualPlaces, getIndividualTargets, getInstancesOf, getOntologyDefinitionForConcept, getPolicies, getPolicy, getPropertiesApplicableTo, getRangeOnPropertyForClass, getResult, getSchema, getServiceProperties, getSubClassesOf, getSubdomains, getSubPropertiesOf, getSuperClassesOf, getSuperPropertiesOf, getUltimateOntologyTypesOfIndividual, getUniqueValueForProperty, getValuesForProperty, hashCode, initialize, instancesSetSynchronizationRequest, isSynchronizationNeeded, loadOntology, loadOntology, modify, modifyEntityProperties, policiesSynchronizationRequest, printDebugString, receiveMessage, register, removeEventListener, removePolicies, removePolicy, removeRemoteEventListener, removeWaiter, search, search, sendDirectoryEvent, setServiceProperties, subclassesSetSynchronizationRequest, subpropertiesSetSynchronizationRequest, superclassesSetSynchronizationRequest, superpropertiesSetSynchronizationRequest, testTrue, update, updatePolicies, waitForReply
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CougaarAgentDirectoryServiceProxy

public CougaarAgentDirectoryServiceProxy(CougaarServiceRoot sr,
                                         Locator dmLocator,
                                         JasBean entityEnv)
Parameters:
entityEnv - JasBean containing information needed by CougaarMTS.newLocalLocator(entityEnv) to correctly obtain a local locator
Method Detail

getResult

protected MethodCallResultMsg getResult(MethodCallRequestMsg msgOut,
                                        java.lang.String operationName)
                                 throws DirectoryFailure
Wrap the MethodCallRequestMsg into a TransportMessage message and send it to the Domain Manager. Create an OperationWaiter object and store it in the _waiters hashtable. This object is associated with the current MethodCallRequestMsg and it will store the MethodCallResultsMsg, when the result arrives. After sending the TransportMessage, wait for the result.

Overrides:
getResult in class KAoSAgentDirectoryServiceProxy
Throws:
DirectoryFailure

acquireRemoteDirectoryLocator

protected Locator acquireRemoteDirectoryLocator()
Description copied from class: KAoSAgentDirectoryServiceProxy
Return a Locator that will be used to communicate with the Domain Manager. The Locator must be supported by DomainManager's platform and this KAoSAgentDirectoryServiceProxy platform. Since the instance of the created Locator will contain transport-specific params, this method must be implemented by a subclass.

Specified by:
acquireRemoteDirectoryLocator in class KAoSAgentDirectoryServiceProxy

acquireMessageTransportService

protected MessageTransportService acquireMessageTransportService()
Return a MessageTransportService that is supported by this KAoSAgentDirectoryServiceProxy's platform.

Specified by:
acquireMessageTransportService in class KAoSAgentDirectoryServiceProxy

registerForVMShutDown

protected void registerForVMShutDown()
Description copied from class: KAoSAgentDirectoryServiceProxy
Register as the shutdown hook with the runtime system. Just before the VM exits, deregister all agents still running in this VM and the VM itself from the domain directory.

Overrides:
registerForVMShutDown in class KAoSAgentDirectoryServiceProxy

obtainEntityEnv

protected JasBean obtainEntityEnv()
Description copied from class: KAoSAgentDirectoryServiceProxy
Specify transport specific parameters that will be passed to the MessageTransportSystem.

Overrides:
obtainEntityEnv in class KAoSAgentDirectoryServiceProxy

setRemoteDirectoryLocator

public void setRemoteDirectoryLocator(Locator loc)
                               throws NotLocatableException,
                                      TransportFailure
Throws:
NotLocatableException
TransportFailure