org.globus.ogsa.impl.base.index
Class IndexingServiceGroupRegistrationProvider

java.lang.Object
  extended byorg.globus.ogsa.impl.ogsi.ServiceGroupRegistrationProvider
      extended byorg.globus.ogsa.impl.base.index.IndexingServiceGroupRegistrationProvider
All Implemented Interfaces:
org.globus.ogsa.GridServiceCallback, org.globus.ogsa.LazyCreationCallback, org.globus.ogsa.OperationProvider

public class IndexingServiceGroupRegistrationProvider
extends org.globus.ogsa.impl.ogsi.ServiceGroupRegistrationProvider

Indexing service group, extends core service group registration provider. This provider provides an implementation of the OGSI ServiceGroupRegistration portType, with following semantics: an add operation for a previously unregistered service will cause a new service group entry to be created. an add operation for a service that already exists will fail with a fault, indicating the entry that that represents the service. Possible features that could be implemented in the future: service group registration should supply a data aggregation parameter which will specify which SDEs to be aggregated service will inspect the registered service, and decide which SDEs to collect based on (for example) PortType.


Constructor Summary
IndexingServiceGroupRegistrationProvider()
           
 
Method Summary
 void activate(org.globus.ogsa.GridContext context)
           
 org.gridforum.ogsi.TerminationTimeType add(org.gridforum.ogsi.holders.LocatorTypeHolder serviceLocator, org.gridforum.ogsi.ExtensibilityType content, org.gridforum.ogsi.TerminationTimeType terminationTime)
          This is exposed to clients as the add operation in the service group registration port type.
 void checkServiceRegistered(org.gridforum.ogsi.holders.LocatorTypeHolder serviceLocator)
           
 void deactivate(org.globus.ogsa.GridContext context)
           
 void deliverNotification(org.gridforum.ogsi.ExtensibilityType message)
          Passes through the deliverNotification call to the aggregator
 javax.xml.namespace.QName[] getOperations()
           
 void initialize(org.globus.ogsa.GridServiceBase serviceBase)
           
 void postAdd(org.gridforum.ogsi.EntryType entry)
           
 void postCreate(org.globus.ogsa.GridContext context)
           
 void postRemove(org.gridforum.ogsi.EntryType entry)
           
 void preCreate(org.globus.ogsa.GridServiceBase base)
           
 void preDestroy(org.globus.ogsa.GridContext context)
           
 
Methods inherited from class org.globus.ogsa.impl.ogsi.ServiceGroupRegistrationProvider
lazyCreate, preAdd, preRemove, remove
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IndexingServiceGroupRegistrationProvider

public IndexingServiceGroupRegistrationProvider()
Method Detail

preCreate

public void preCreate(org.globus.ogsa.GridServiceBase base)
               throws org.globus.ogsa.GridServiceException
Throws:
org.globus.ogsa.GridServiceException

postCreate

public void postCreate(org.globus.ogsa.GridContext context)
                throws org.globus.ogsa.GridServiceException
Throws:
org.globus.ogsa.GridServiceException

activate

public void activate(org.globus.ogsa.GridContext context)
              throws org.globus.ogsa.GridServiceException
Throws:
org.globus.ogsa.GridServiceException

deactivate

public void deactivate(org.globus.ogsa.GridContext context)
                throws org.globus.ogsa.GridServiceException
Throws:
org.globus.ogsa.GridServiceException

preDestroy

public void preDestroy(org.globus.ogsa.GridContext context)
                throws org.globus.ogsa.GridServiceException
Throws:
org.globus.ogsa.GridServiceException

initialize

public void initialize(org.globus.ogsa.GridServiceBase serviceBase)
                throws org.globus.ogsa.GridServiceException
Throws:
org.globus.ogsa.GridServiceException

add

public org.gridforum.ogsi.TerminationTimeType add(org.gridforum.ogsi.holders.LocatorTypeHolder serviceLocator,
                                                  org.gridforum.ogsi.ExtensibilityType content,
                                                  org.gridforum.ogsi.TerminationTimeType terminationTime)
                                           throws java.rmi.RemoteException,
                                                  org.gridforum.ogsi.FaultType,
                                                  org.gridforum.ogsi.ContentCreationFailedFaultType,
                                                  org.gridforum.ogsi.UnsupportedMemberInterfaceFaultType,
                                                  org.gridforum.ogsi.AddRefusedFaultType,
                                                  org.gridforum.ogsi.ExtensibilityNotSupportedFaultType,
                                                  org.gridforum.ogsi.ExtensibilityTypeFaultType,
                                                  org.gridforum.ogsi.ServiceAlreadyExistsFaultType
This is exposed to clients as the add operation in the service group registration port type. It transforms the registration parameter into something that can be understood by the aggregator, as well as performing local state management. Throws a fault if we already have an entry for the service to be registered.

Throws:
java.rmi.RemoteException
org.gridforum.ogsi.FaultType
org.gridforum.ogsi.ContentCreationFailedFaultType
org.gridforum.ogsi.UnsupportedMemberInterfaceFaultType
org.gridforum.ogsi.AddRefusedFaultType
org.gridforum.ogsi.ExtensibilityNotSupportedFaultType
org.gridforum.ogsi.ExtensibilityTypeFaultType
org.gridforum.ogsi.ServiceAlreadyExistsFaultType

getOperations

public javax.xml.namespace.QName[] getOperations()

deliverNotification

public void deliverNotification(org.gridforum.ogsi.ExtensibilityType message)
                         throws java.rmi.RemoteException
Passes through the deliverNotification call to the aggregator

Throws:
java.rmi.RemoteException

postAdd

public void postAdd(org.gridforum.ogsi.EntryType entry)

postRemove

public void postRemove(org.gridforum.ogsi.EntryType entry)

checkServiceRegistered

public void checkServiceRegistered(org.gridforum.ogsi.holders.LocatorTypeHolder serviceLocator)
                            throws org.gridforum.ogsi.ServiceAlreadyExistsFaultType
Throws:
org.gridforum.ogsi.ServiceAlreadyExistsFaultType