uk.org.ogsadai.service.wsrf.dataservice.impl
Class ConfigurableDataServiceImpl

java.lang.Object
  |
  +--uk.org.ogsadai.service.wsrf.dataservice.impl.DataServiceImpl
        |
        +--uk.org.ogsadai.service.wsrf.dataservice.impl.ConfigurableDataServiceImpl
All Implemented Interfaces:
DataServiceResourceFactory, SecurityContextProvider

public class ConfigurableDataServiceImpl
extends DataServiceImpl

This class provides an implementation of a service for interacting with data service resources. It is an extension of the data service class DataServiceImpl and offers operations to request the deployment or undeployment of data service resources.

For deployment, it is assumed that additional configuration files are placed server-side within a directory within the directory specified by the dai.config.files.root property held within the service deployment descriptor. This is done via some out-of-band means. The deployer then invokes the deploy operation passing the name of the data service resource. It is assumed that this name matches the local name of the directory within which the configuration files are located.

Author:
The OGSA-DAI Project Team
See Also:
ConfigurableDataServicePortType

Field Summary
private static java.lang.String COPYRIGHT_NOTICE
          Copyright statement
private static DAILogger LOG
          Logger object for logging in this class
 
Fields inherited from class uk.org.ogsadai.service.wsrf.dataservice.impl.DataServiceImpl
mResourceFactoryUtil, mResourceHome, mResourcesFile, mURL, RESOURCE_ATTR, RESOURCE_ELT
 
Constructor Summary
ConfigurableDataServiceImpl()
          Create a new configurable data service.
 
Method Summary
 DeployResponse deploy(Deploy deploy)
          Expose a new data service resource with a given ID.
 UndeployResponse undeploy(Undeploy deploy)
          Instruct the service to no longer expose the named data service resource.
 
Methods inherited from class uk.org.ogsadai.service.wsrf.dataservice.impl.DataServiceImpl
createResource, createResource, createResourceFromComponentFactory, createResourceFromComponents, createResourceFromConfigDirectory, getBlock, getDataServiceResource, getFully, getNBlocks, getNewResourceName, getNewResourceName, getResourceConfigDirectory, getResourceHome, getSecurityContext, getVersion, listResources, perform, putBlock, putFully, registerResourceWithMDS, removeResource, removeResource, terminate, throwAuthorisationFault, throwInternalFault, throwRequestFault, throwResourceUnknownFault
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

COPYRIGHT_NOTICE

private static final java.lang.String COPYRIGHT_NOTICE
Copyright statement

See Also:
Constant Field Values

LOG

private static DAILogger LOG
Logger object for logging in this class

Constructor Detail

ConfigurableDataServiceImpl

public ConfigurableDataServiceImpl()
                            throws InternalFaultType
Create a new configurable data service.

The new object will initialise itself using information within its deployment descriptor if it has not already done so.

Throws:
InternalFaultType - if some internal problem occurs that is not under the client's control.
See Also:
DataServiceImpl
Method Detail

deploy

public DeployResponse deploy(Deploy deploy)
                      throws java.rmi.RemoteException,
                             RequestFaultType,
                             InternalFaultType,
                             AuthorisationFaultType
Expose a new data service resource with a given ID.

Invocations of this operation are not assumed to be directed at a specific data service resource.

The data service resources file of the service is updated.

Parameters:
deploy - ID of the new resource to deploy. Assumed to also be the name of a directory within which the resource configuration files reside on the server. ID is wrapped within a bean.
Returns:
empty bean.
Throws:
java.rmi.RemoteException - never.
AuthorisationFaultType - if the client is not authorised to deploy the resource.
InternalFaultType - if some internal problem occurs that is not under the client's control.
RequestFaultType - if there is already a resource with the given ID or there is a problem with the configuration files for the new resource.
See Also:
ConfigurableDataServicePortType.deploy(uk.org.ogsadai.service.config.types.Deploy)

undeploy

public UndeployResponse undeploy(Undeploy deploy)
                          throws java.rmi.RemoteException,
                                 ResourceBusyFaultType,
                                 ResourceUnknownFaultType,
                                 InternalFaultType,
                                 AuthorisationFaultType
Instruct the service to no longer expose the named data service resource.

Invocations of this operation are not assumed to be directed at a specific data service resource.

The data service resource configuration files are not removed. The data service resources file of the service is updated.

Parameters:
deploy - ID of the resource to undeploy in a bean.
Returns:
empty bean.
Throws:
java.rmi.RemoteException - never.
ResourceUnknownFaultType - if the resource is unknown to this service.
AuthorisationFaultType - if the client is not authorised to undeploy the resource.
InternalFaultType - if some internal problem occurs that is not under the client's control.
ResourceBusyFaultType - if the resource is processing a request and so cannot be undeployed just yet.
See Also:
ConfigurableDataServicePortType.undeploy(uk.org.ogsadai.service.config.types.Undeploy)