edu.ucsb.adl.middleware.rmi
Class MetadataServiceImpl

java.lang.Object
  |
  +--java.rmi.server.RemoteObject
        |
        +--java.rmi.server.RemoteServer
              |
              +--java.rmi.server.UnicastRemoteObject
                    |
                    +--edu.ucsb.adl.middleware.rmi.MetadataServiceImpl
All Implemented Interfaces:
MetadataService, java.rmi.Remote, java.io.Serializable

public final class MetadataServiceImpl
extends java.rmi.server.UnicastRemoteObject
implements MetadataService

Bridge between the RMI interface to the ADL metadata service and the metadata service itself.

Version:
$Header: /export/home/gjanee/middleware/edu/ucsb/adl/middleware/rmi/RCS/MetadataServiceImpl.java,v 1.2 2003/05/12 18:08:56 gjanee Exp $

$Log: MetadataServiceImpl.java,v $ Revision 1.2 2003/05/12 18:08:56 gjanee
Added support for arbitrary, per-collection and per-holding metadata views. Specifically, changed the view argument data type from an enumeration to a string. Added method performViewsService.

Revision 1.1 2001/02/16 14:42:52 gjanee
Initial revision

Author:
Greg Janée
Alexandria Digital Library
See Also:
Serialized Form

Field Summary
 
Fields inherited from class java.rmi.server.RemoteObject
ref
 
Constructor Summary
MetadataServiceImpl(java.lang.String configurationFile)
          Creates a MetadataServiceImpl.
 
Method Summary
protected  void finalize()
          Frees all resources held by the bridge.
 java.lang.String performMetadataService(java.lang.String view, java.lang.String object)
          Performs the ADL metadata service.
 java.lang.String[] performViewsService(java.lang.String object)
          Returns the views supported by a holding within a collection.
 
Methods inherited from class java.rmi.server.UnicastRemoteObject
clone, exportObject, exportObject, exportObject, unexportObject
 
Methods inherited from class java.rmi.server.RemoteServer
getClientHost, getLog, setLog
 
Methods inherited from class java.rmi.server.RemoteObject
equals, getRef, hashCode, toString, toStub
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MetadataServiceImpl

public MetadataServiceImpl(java.lang.String configurationFile)
                    throws InternalErrorException,
                           java.rmi.RemoteException
Creates a MetadataServiceImpl.

Parameters:
configurationFile - The filename of an ADL middleware configuration file.
Throws:
InternalErrorException - If the initialization of the service fails.
java.rmi.RemoteException - If an RMI error occurs.
Method Detail

performMetadataService

public java.lang.String performMetadataService(java.lang.String view,
                                               java.lang.String object)
                                        throws MiddlewareException,
                                               java.rmi.RemoteException
Performs the ADL metadata service.

Specified by:
performMetadataService in interface MetadataService
Parameters:
view - The metadata view, e.g., "adl:bucket".
object - An object identifier, which should have the form "C:H" where C is the name of a collection (e.g., "adl_catalog") and H is a collection-specific holding identifier.
Returns:
An XML document that is well-formed and valid according to the appropriate DTD.
Throws:
BadRequestException - If any of the arguments is invalid.
NoAuthorizationException - If the request is valid but not allowed.
UnsupportedException - If the request is valid but not supported.
java.rmi.RemoteException - If an RMI error occurs.
InternalErrorException - If the request cannot otherwise be completed.
MiddlewareException

performViewsService

public java.lang.String[] performViewsService(java.lang.String object)
                                       throws MiddlewareException,
                                              java.rmi.RemoteException
Returns the views supported by a holding within a collection.

Specified by:
performViewsService in interface MetadataService
Parameters:
object - An object identifier, which should have the form "C:H" where C is the name of a collection (e.g., "adl_catalog") and H is a collection-specific holding identifier.
Returns:
The views supported by the holding. The list includes the three standard ADL views.
Throws:
BadRequestException - If object is invalid.
NoAuthorizationException - If the request is valid but not allowed.
java.rmi.RemoteException - If an RMI error occurs.
InternalErrorException - If the request cannot otherwise be completed.
MiddlewareException

finalize

protected void finalize()
Frees all resources held by the bridge.

Overrides:
finalize in class java.lang.Object