org.fcrepo.server.management
Class ManagementModule

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.management.ManagementModule
All Implemented Interfaces:
Constants, Management, ManagementDelegate

public class ManagementModule
extends Module
implements Management, ManagementDelegate

Version:
$Id$
Author:
Edwin Shin

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
ManagementModule(Map<String,String> moduleParameters, Server server, String role)
           
 
Method Summary
 String addDatastream(Context context, String pid, String dsID, String[] altIDs, String dsLabel, boolean versionable, String MIMEType, String formatURI, String location, String controlGroup, String dsState, String checksumType, String checksum, String logMessage)
          
 boolean addRelationship(Context context, String pid, String relationship, String object, boolean isLiteral, String datatype)
          
 String compareDatastreamChecksum(Context context, String pid, String dsID, Date asOfDateTime)
          
 InputStream export(Context context, String pid, String format, String exportContext, String encoding)
          
 Datastream getDatastream(Context context, String pid, String datastreamID, Date asOfDateTime)
          
 Datastream[] getDatastreamHistory(Context context, String pid, String datastreamID)
          
 Datastream[] getDatastreams(Context context, String pid, Date asOfDateTime, String dsState)
          
 String[] getNextPID(Context context, int numPIDs, String namespace)
          
 InputStream getObjectXML(Context context, String pid, String encoding)
          
 RelationshipTuple[] getRelationships(Context context, String pid, String relationship)
          
 InputStream getTempStream(String id)
          
 String ingest(Context context, InputStream serialization, String logMessage, String format, String encoding, String pid)
          
 void initModule()
          Initializes the Module based on configuration parameters.
 Date modifyDatastreamByReference(Context context, String pid, String datastreamID, String[] altIDs, String dsLabel, String mimeType, String formatURI, String dsLocation, String checksumType, String checksum, String logMessage, Date lastModifiedDate)
          
 Date modifyDatastreamByValue(Context context, String pid, String datastreamID, String[] altIDs, String dsLabel, String mimeType, String formatURI, InputStream dsContent, String checksumType, String checksum, String logMessage, Date lastModifiedDate)
          
 Date[] modifyDatastreamControlGroup(Context context, String pid, String dsID, String controlGroup, boolean addXMLHeader, boolean reformat, boolean setMIMETypeCharset)
          Migrate the datastream from one control group to another, returning list of versions migrated.
 Date modifyObject(Context context, String pid, String state, String label, String ownerId, String logMessage, Date lastModifiedDate)
          
 void postInitModule()
          Second stage of Module initialization.
 Date[] purgeDatastream(Context context, String pid, String datastreamID, Date startDT, Date endDT, String logMessage)
          
 Date purgeObject(Context context, String pid, String logMessage)
          
 boolean purgeRelationship(Context context, String pid, String relationship, String object, boolean isLiteral, String datatype)
          
 String putTempStream(Context context, InputStream in)
          
 Date setDatastreamState(Context context, String pid, String dsID, String dsState, String logMessage)
          
 Date setDatastreamVersionable(Context context, String pid, String dsID, boolean versionable, String logMessage)
          
 void shutdownModule()
          Frees system resources allocated by this Module.
 Validation validate(Context context, String pid, Date asOfDateTime)
          
 
Methods inherited from class org.fcrepo.server.Module
getRole, getServer
 
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

ManagementModule

public ManagementModule(Map<String,String> moduleParameters,
                        Server server,
                        String role)
                 throws ModuleInitializationException
Throws:
ModuleInitializationException
Method Detail

initModule

public void initModule()
                throws ModuleInitializationException
Description copied from class: Module
Initializes the Module based on configuration parameters.

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

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.

shutdownModule

public void shutdownModule()
                    throws ModuleShutdownException
Description copied from class: Module
Frees system resources allocated by this Module.

Overrides:
shutdownModule in class Module
Throws:
ModuleShutdownException - If there is a problem freeing system resources. Note that if there is a problem, it won't end up aborting the shutdown process. Therefore, this method should do everything possible to recover from exceptional situations before throwing an exception.

addDatastream

public String addDatastream(Context context,
                            String pid,
                            String dsID,
                            String[] altIDs,
                            String dsLabel,
                            boolean versionable,
                            String MIMEType,
                            String formatURI,
                            String location,
                            String controlGroup,
                            String dsState,
                            String checksumType,
                            String checksum,
                            String logMessage)
                     throws ServerException

Specified by:
addDatastream in interface Management
Throws:
ServerException

addRelationship

public boolean addRelationship(Context context,
                               String pid,
                               String relationship,
                               String object,
                               boolean isLiteral,
                               String datatype)
                        throws ServerException

Specified by:
addRelationship in interface Management
Throws:
ServerException

compareDatastreamChecksum

public String compareDatastreamChecksum(Context context,
                                        String pid,
                                        String dsID,
                                        Date asOfDateTime)
                                 throws ServerException

Specified by:
compareDatastreamChecksum in interface Management
Throws:
ServerException

export

public InputStream export(Context context,
                          String pid,
                          String format,
                          String exportContext,
                          String encoding)
                   throws ServerException

Specified by:
export in interface Management
Throws:
ServerException

getDatastream

public Datastream getDatastream(Context context,
                                String pid,
                                String datastreamID,
                                Date asOfDateTime)
                         throws ServerException

Specified by:
getDatastream in interface Management
Throws:
ServerException

getDatastreamHistory

public Datastream[] getDatastreamHistory(Context context,
                                         String pid,
                                         String datastreamID)
                                  throws ServerException

Specified by:
getDatastreamHistory in interface Management
Throws:
ServerException

getDatastreams

public Datastream[] getDatastreams(Context context,
                                   String pid,
                                   Date asOfDateTime,
                                   String dsState)
                            throws ServerException

Specified by:
getDatastreams in interface Management
Throws:
ServerException

getNextPID

public String[] getNextPID(Context context,
                           int numPIDs,
                           String namespace)
                    throws ServerException

Specified by:
getNextPID in interface Management
Throws:
ServerException

getObjectXML

public InputStream getObjectXML(Context context,
                                String pid,
                                String encoding)
                         throws ServerException

Specified by:
getObjectXML in interface Management
Throws:
ServerException

getRelationships

public RelationshipTuple[] getRelationships(Context context,
                                            String pid,
                                            String relationship)
                                     throws ServerException

Specified by:
getRelationships in interface Management
Throws:
ServerException

getTempStream

public InputStream getTempStream(String id)
                          throws ServerException

Specified by:
getTempStream in interface Management
Throws:
ServerException

ingest

public String ingest(Context context,
                     InputStream serialization,
                     String logMessage,
                     String format,
                     String encoding,
                     String pid)
              throws ServerException

Specified by:
ingest in interface Management
Throws:
ServerException

modifyDatastreamByReference

public Date modifyDatastreamByReference(Context context,
                                        String pid,
                                        String datastreamID,
                                        String[] altIDs,
                                        String dsLabel,
                                        String mimeType,
                                        String formatURI,
                                        String dsLocation,
                                        String checksumType,
                                        String checksum,
                                        String logMessage,
                                        Date lastModifiedDate)
                                 throws ServerException

Specified by:
modifyDatastreamByReference in interface Management
Throws:
ServerException

modifyDatastreamByValue

public Date modifyDatastreamByValue(Context context,
                                    String pid,
                                    String datastreamID,
                                    String[] altIDs,
                                    String dsLabel,
                                    String mimeType,
                                    String formatURI,
                                    InputStream dsContent,
                                    String checksumType,
                                    String checksum,
                                    String logMessage,
                                    Date lastModifiedDate)
                             throws ServerException

Specified by:
modifyDatastreamByValue in interface Management
Throws:
ServerException

modifyObject

public Date modifyObject(Context context,
                         String pid,
                         String state,
                         String label,
                         String ownerId,
                         String logMessage,
                         Date lastModifiedDate)
                  throws ServerException

Specified by:
modifyObject in interface Management
Throws:
ServerException

purgeDatastream

public Date[] purgeDatastream(Context context,
                              String pid,
                              String datastreamID,
                              Date startDT,
                              Date endDT,
                              String logMessage)
                       throws ServerException

Specified by:
purgeDatastream in interface Management
Throws:
ServerException

purgeObject

public Date purgeObject(Context context,
                        String pid,
                        String logMessage)
                 throws ServerException

Specified by:
purgeObject in interface Management
Throws:
ServerException

purgeRelationship

public boolean purgeRelationship(Context context,
                                 String pid,
                                 String relationship,
                                 String object,
                                 boolean isLiteral,
                                 String datatype)
                          throws ServerException

Specified by:
purgeRelationship in interface Management
Throws:
ServerException

validate

public Validation validate(Context context,
                           String pid,
                           Date asOfDateTime)
                    throws ServerException

Specified by:
validate in interface Management
Throws:
ServerException

putTempStream

public String putTempStream(Context context,
                            InputStream in)
                     throws ServerException

Specified by:
putTempStream in interface Management
Throws:
ServerException

setDatastreamState

public Date setDatastreamState(Context context,
                               String pid,
                               String dsID,
                               String dsState,
                               String logMessage)
                        throws ServerException

Specified by:
setDatastreamState in interface Management
Throws:
ServerException

setDatastreamVersionable

public Date setDatastreamVersionable(Context context,
                                     String pid,
                                     String dsID,
                                     boolean versionable,
                                     String logMessage)
                              throws ServerException

Specified by:
setDatastreamVersionable in interface Management
Throws:
ServerException

modifyDatastreamControlGroup

public Date[] modifyDatastreamControlGroup(Context context,
                                           String pid,
                                           String dsID,
                                           String controlGroup,
                                           boolean addXMLHeader,
                                           boolean reformat,
                                           boolean setMIMETypeCharset)
                                    throws ServerException
Migrate the datastream from one control group to another, returning list of versions migrated. Only supports migration from X (inline) to M (managed content).

Parameters:
context -
pid -
dsID -
controlGroup - - new Control Group for datastream
ignoreAlreadyDone - - if true don't return an error if datastream already has desired control group
addXMLHeader - - add an XML header declaring UTF-8 character encoding to datastream content
reformat - - reformat the XML (in the same format as used for inline XML)
setMIMETypeCharset - - add charset declaration (UTF-8) to the MIMEType, and add text/xml MIMEType if no MIMEType is set
Returns:
array of versions migrated
Throws:
ServerException


Copyright © 2011 DuraSpace. All Rights Reserved.