org.fcrepo.server.access
Class DefaultAccess

java.lang.Object
  extended by org.fcrepo.server.Parameterized
      extended by org.fcrepo.server.Pluggable
          extended by org.fcrepo.server.Module
              extended by org.fcrepo.server.access.DefaultAccess
All Implemented Interfaces:
Constants, Access

public class DefaultAccess
extends Module
implements Access

The Access Module, providing support for the Fedora Access subsystem.

Version:
$Id$
Author:
Ross Wayland

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.fcrepo.common.Constants
Constants.FedoraHome
 
Field Summary
 
Fields inherited from interface org.fcrepo.common.Constants
ACCESS, ACTION, API, ATOM_APIM1_0, ATOM_ZIP1_1, ATOM1_1, AUDIT, AUDIT1_0, BATCH_MODIFY, BATCH_MODIFY1_1, BE_SECURITY, BE_SECURITY1_0, BINDING_SPEC, DATASTREAM, DC, DISSEMINATOR, DS_COMPOSITE_MODEL, DS_COMPOSITE_MODEL1_0, DS_INPUT_SPEC1_0, DS_INPUT_SPEC1_1, ENVIRONMENT, FCFG, FEDORA, FEDORA_APP_CONTEXT_NAME, FEDORA_DEFAULT_APP_CONTEXT, FEDORA_HOME, FOXML, FOXML1_0, FOXML1_0_LEGACY, FOXML1_1, HTTP_REQUEST, MANAGEMENT, METHOD_MAP, METS, METS_EXT, METS_EXT1_0, METS_EXT1_0_LEGACY, METS_EXT1_1, MODEL, MULGARA, OAI_DC, OAI_DC2_0, OAI_FRIENDS, OAI_FRIENDS2_0, OAI_IDENTIFIER, OAI_IDENTIFIER2_0, OAI_PMH, OAI_PMH2_0, OAI_PROV, OAI_PROV2_0, OBJ_DATASTREAMS1_0, OBJ_HISTORY1_0, OBJ_ITEMS1_0, OBJ_METHODS1_0, OBJ_PROFILE1_0, OBJ_VALIDATION1_0, OBJECT, OLD_XLINK, PID_LIST1_0, RDF, RDF_XSD, RECOVERY, RELS_EXT, RELS_EXT1_0, RELS_INT1_0, REPO_DESC1_0, RESOURCE, SDEF, SDEF_METHOD_MAP1_0, SDEP, SDEP_METHOD_MAP1_0, SDEP_METHOD_MAP1_1, SERVICE_PROFILE, SOAP, SOAP_ENC, SUBJECT, TYPES, VIEW, WSDL, WSDL_HTTP, WSDL_MIME, XACML_POLICY, XACML_POLICY1_0, XLINK, XML_XSD, XMLNS, XSI
 
Constructor Summary
DefaultAccess(Map<String,String> moduleParameters, Server server, String role)
           Creates and initializes the Access Module.
 
Method Summary
 RepositoryInfo describeRepository(Context context)
           Gets information that describes the repository.
 FieldSearchResult findObjects(Context context, String[] resultFields, int maxResults, FieldSearchQuery query)
           Lists the specified fields of each object matching the given criteria.
 MIMETypedStream getDatastreamDissemination(Context context, String PID, String dsID, Date asOfDateTime)
           
 MIMETypedStream getDissemination(Context context, String PID, String sDefPID, String methodName, Property[] userParms, Date asOfDateTime)
           Disseminates the content produced by executing the specified method of the associated deployment object of the specified digital object.
 String[] getObjectHistory(Context context, String PID)
           Gets the change history of an object by returning a list of timestamps that correspond to modification dates of components.
 ObjectProfile getObjectProfile(Context context, String PID, Date asOfDateTime)
          Gets object profile
 void initModule()
           Initializes the module.
 DatastreamDef[] listDatastreams(Context context, String PID, Date asOfDateTime)
           
 ObjectMethodsDef[] listMethods(Context context, String PID, Date asOfDateTime)
           
 void postInitModule()
          Second stage of Module initialization.
 FieldSearchResult resumeFindObjects(Context context, String sessionToken)
           Resumes an in-progress listing of object fields.
 
Methods inherited from class org.fcrepo.server.Module
getRole, getServer, shutdownModule
 
Methods inherited from class org.fcrepo.server.Pluggable
getHelp, getOptionalParameters, getParameterHelp, getRequiredModuleRoles, getRequiredParameters
 
Methods inherited from class org.fcrepo.server.Parameterized
getParameter, getParameter, getParameter, getParameterList, getParameters, getParameters, parameterNames, setParameter, setParameters, setParameters
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultAccess

public DefaultAccess(Map<String,String> moduleParameters,
                     Server server,
                     String role)
              throws ModuleInitializationException

Creates and initializes the Access Module. When the server is starting up, this is invoked as part of the initialization process.

Parameters:
moduleParameters - A pre-loaded Map of name-value pairs comprising the intended configuration of this Module.
server - The Server instance.
role - The role this module fulfills, a java class name.
Throws:
ModuleInitializationException - If initilization values are invalid or initialization fails for some other reason.
Method Detail

initModule

public void initModule()
                throws ModuleInitializationException

Initializes the module.

Overrides:
initModule in class Module
Throws:
ModuleInitializationException - If the module cannot be initialized.

postInitModule

public void postInitModule()
                    throws ModuleInitializationException
Description copied from class: Module
Second stage of Module initialization. This is guaranteed to run after all Modules' initModule() methods have run.

Overrides:
postInitModule in class Module
Throws:
ModuleInitializationException - If initialization values are invalid or initialization fails for some other reason.

getDissemination

public MIMETypedStream getDissemination(Context context,
                                        String PID,
                                        String sDefPID,
                                        String methodName,
                                        Property[] userParms,
                                        Date asOfDateTime)
                                 throws ServerException

Disseminates the content produced by executing the specified method of the associated deployment object of the specified digital object.

Specified by:
getDissemination in interface Access
Parameters:
context - The context of this request.
PID - The persistent identifier of the digital object.
sDefPID - The persistent identifier of the Service Definition object.
methodName - The name of the method to be executed.
userParms - An array of user-supplied method parameters consisting of name/value pairs.
asOfDateTime - The versioning datetime stamp.
Returns:
A MIME-typed stream containing the result of the dissemination.
Throws:
ServerException - If any type of error occurred fulfilling the request.

listMethods

public ObjectMethodsDef[] listMethods(Context context,
                                      String PID,
                                      Date asOfDateTime)
                               throws ServerException
Specified by:
listMethods in interface Access
Throws:
ServerException

listDatastreams

public DatastreamDef[] listDatastreams(Context context,
                                       String PID,
                                       Date asOfDateTime)
                                throws ServerException
Specified by:
listDatastreams in interface Access
Throws:
ServerException

getObjectProfile

public ObjectProfile getObjectProfile(Context context,
                                      String PID,
                                      Date asOfDateTime)
                               throws ServerException
Description copied from interface: Access
Gets object profile

Specified by:
getObjectProfile in interface Access
Parameters:
context - The context of this request.
asOfDateTime - The versioning datetime stamp
Returns:
An array of all methods associated with the specified digital object.
Throws:
ServerException - If any type of error occurred fulfilling the request.

findObjects

public FieldSearchResult findObjects(Context context,
                                     String[] resultFields,
                                     int maxResults,
                                     FieldSearchQuery query)
                              throws ServerException

Lists the specified fields of each object matching the given criteria.

Specified by:
findObjects in interface Access
Parameters:
context - the context of this request
resultFields - the names of the fields to return
maxResults - the maximum number of results to return at a time
query - the query
Returns:
the results of te field search
Throws:
ServerException - If any type of error occurred fulfilling the request.

resumeFindObjects

public FieldSearchResult resumeFindObjects(Context context,
                                           String sessionToken)
                                    throws ServerException

Resumes an in-progress listing of object fields.

Specified by:
resumeFindObjects in interface Access
Parameters:
context - the context of this request
sessionToken - the token of the session in which the remaining results can be obtained
Returns:
the next set of results from the initial field search
Throws:
ServerException - If any type of error occurred fulfilling the request.

describeRepository

public RepositoryInfo describeRepository(Context context)
                                  throws ServerException

Gets information that describes the repository.

Specified by:
describeRepository in interface Access
Parameters:
context - the context of this request
Returns:
information that describes the repository.
Throws:
ServerException - If any type of error occurred fulfilling the request.

getObjectHistory

public String[] getObjectHistory(Context context,
                                 String PID)
                          throws ServerException

Gets the change history of an object by returning a list of timestamps that correspond to modification dates of components. This currently includes changes to datastreams and disseminators.

Specified by:
getObjectHistory in interface Access
Parameters:
context - The context of this request.
PID - The persistent identifier of the digitla object.
Returns:
An Array containing the list of timestamps indicating when changes were made to the object.
Throws:
ServerException - If any type of error occurred fulfilling the request.

getDatastreamDissemination

public MIMETypedStream getDatastreamDissemination(Context context,
                                                  String PID,
                                                  String dsID,
                                                  Date asOfDateTime)
                                           throws ServerException
Specified by:
getDatastreamDissemination in interface Access
Throws:
ServerException


Copyright © 2011 DuraSpace. All Rights Reserved.