fedora.server.management
Class DefaultManagement

java.lang.Object
  extended byfedora.server.Parameterized
      extended byfedora.server.Pluggable
          extended byfedora.server.Module
              extended byfedora.server.management.DefaultManagement
All Implemented Interfaces:
Logging, Management

public class DefaultManagement
extends Module
implements Management

Implements API-M without regard to the transport/messaging protocol.

Version:
$Id: DefaultManagement.java,v 1.122 2005/06/11 17:24:21 rlw Exp $
Author:
cwilper@cs.cornell.edu

Nested Class Summary
 class DefaultManagement.DatastreamDateComparator
           
 class DefaultManagement.DisseminatorDateComparator
           
 
Constructor Summary
DefaultManagement(java.util.Map moduleParameters, Server server, java.lang.String role)
          Creates and initializes the Management Module.
 
Method Summary
 java.lang.String addDatastream(Context context, java.lang.String pid, java.lang.String dsID, java.lang.String[] altIDs, java.lang.String dsLabel, boolean versionable, java.lang.String MIMEType, java.lang.String formatURI, java.lang.String dsLocation, java.lang.String controlGroup, java.lang.String dsState, java.lang.String logMessage)
           
 java.lang.String addDisseminator(Context context, java.lang.String pid, java.lang.String bDefPid, java.lang.String bMechPid, java.lang.String dissLabel, DSBindingMap bindingMap, java.lang.String dissState, java.lang.String logMessage)
           
 boolean adminPing(Context context)
           
 java.io.InputStream exportObject(Context context, java.lang.String pid, java.lang.String format, java.lang.String exportContext, java.lang.String encoding)
           
 Datastream getDatastream(Context context, java.lang.String pid, java.lang.String datastreamID, java.util.Date asOfDateTime)
           
 Datastream[] getDatastreamHistory(Context context, java.lang.String pid, java.lang.String datastreamID)
           
 Datastream[] getDatastreams(Context context, java.lang.String pid, java.util.Date asOfDateTime, java.lang.String state)
           
 Disseminator getDisseminator(Context context, java.lang.String pid, java.lang.String disseminatorId, java.util.Date asOfDateTime)
           
 Disseminator[] getDisseminatorHistory(Context context, java.lang.String pid, java.lang.String disseminatorID)
           
 Disseminator[] getDisseminators(Context context, java.lang.String pid, java.util.Date asOfDateTime, java.lang.String dissState)
           
 java.lang.String[] getNextPID(Context context, int numPIDs, java.lang.String namespace)
           
 Property[] getObjectProperties(Context context, java.lang.String pid)
           
 java.io.InputStream getObjectXML(Context context, java.lang.String pid, java.lang.String encoding)
           
 java.io.InputStream getTempStream(java.lang.String id)
           
 java.lang.String ingestObject(Context context, java.io.InputStream serialization, java.lang.String logMessage, java.lang.String format, java.lang.String encoding, boolean newPid)
           
 void initModule()
          Initializes the Module based on configuration parameters.
 java.util.Date modifyDatastreamByReference(Context context, java.lang.String pid, java.lang.String datastreamId, java.lang.String[] altIDs, java.lang.String dsLabel, boolean versionable, java.lang.String mimeType, java.lang.String formatURI, java.lang.String dsLocation, java.lang.String dsState, java.lang.String logMessage, boolean force)
           
 java.util.Date modifyDatastreamByValue(Context context, java.lang.String pid, java.lang.String datastreamId, java.lang.String[] altIDs, java.lang.String dsLabel, boolean versionable, java.lang.String mimeType, java.lang.String formatURI, java.io.InputStream dsContent, java.lang.String dsState, java.lang.String logMessage, boolean force)
           
 java.util.Date modifyDisseminator(Context context, java.lang.String pid, java.lang.String disseminatorId, java.lang.String bMechPid, java.lang.String dissLabel, DSBindingMap dsBindingMap, java.lang.String dissState, java.lang.String logMessage, boolean force)
           
 java.util.Date modifyObject(Context context, java.lang.String pid, java.lang.String state, java.lang.String label, java.lang.String logMessage)
           
 void postInitModule()
          Second stage of Module initialization.
 java.util.Date[] purgeDatastream(Context context, java.lang.String pid, java.lang.String datastreamID, java.util.Date endDT, java.lang.String logMessage, boolean force)
           
 java.util.Date[] purgeDisseminator(Context context, java.lang.String pid, java.lang.String disseminatorID, java.util.Date endDT, java.lang.String logMessage)
           
 java.util.Date purgeObject(Context context, java.lang.String pid, java.lang.String logMessage, boolean force)
           
 java.lang.String putTempStream(Context context, java.io.InputStream in)
           
 java.util.Date setDatastreamState(Context context, java.lang.String pid, java.lang.String datastreamID, java.lang.String dsState, java.lang.String logMessage)
           
 java.util.Date setDisseminatorState(Context context, java.lang.String pid, java.lang.String disseminatorID, java.lang.String dissState, java.lang.String logMessage)
           
 
Methods inherited from class fedora.server.Module
getRole, getServer, logConfig, logFine, logFiner, logFinest, loggingConfig, loggingFine, loggingFiner, loggingFinest, loggingInfo, loggingSevere, loggingWarning, logInfo, logSevere, logWarning, shutdownModule
 
Methods inherited from class fedora.server.Pluggable
getHelp, getOptionalParameters, getParameterHelp, getRequiredModuleRoles, getRequiredParameters
 
Methods inherited from class fedora.server.Parameterized
getParameter, getParameters, parameterNames, setParameter, setParameters
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultManagement

public DefaultManagement(java.util.Map moduleParameters,
                         Server server,
                         java.lang.String role)
                  throws ModuleInitializationException
Creates and initializes the Management 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
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 Module's initModule() methods have run.

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

ingestObject

public java.lang.String ingestObject(Context context,
                                     java.io.InputStream serialization,
                                     java.lang.String logMessage,
                                     java.lang.String format,
                                     java.lang.String encoding,
                                     boolean newPid)
                              throws ServerException
Specified by:
ingestObject in interface Management
Throws:
ServerException

modifyObject

public java.util.Date modifyObject(Context context,
                                   java.lang.String pid,
                                   java.lang.String state,
                                   java.lang.String label,
                                   java.lang.String logMessage)
                            throws ServerException
Specified by:
modifyObject in interface Management
Throws:
ServerException

getObjectProperties

public Property[] getObjectProperties(Context context,
                                      java.lang.String pid)
                               throws ServerException
Specified by:
getObjectProperties in interface Management
Throws:
ServerException

getObjectXML

public java.io.InputStream getObjectXML(Context context,
                                        java.lang.String pid,
                                        java.lang.String encoding)
                                 throws ServerException
Specified by:
getObjectXML in interface Management
Throws:
ServerException

exportObject

public java.io.InputStream exportObject(Context context,
                                        java.lang.String pid,
                                        java.lang.String format,
                                        java.lang.String exportContext,
                                        java.lang.String encoding)
                                 throws ServerException
Specified by:
exportObject in interface Management
Throws:
ServerException

purgeObject

public java.util.Date purgeObject(Context context,
                                  java.lang.String pid,
                                  java.lang.String logMessage,
                                  boolean force)
                           throws ServerException
Specified by:
purgeObject in interface Management
Throws:
ServerException

addDatastream

public java.lang.String addDatastream(Context context,
                                      java.lang.String pid,
                                      java.lang.String dsID,
                                      java.lang.String[] altIDs,
                                      java.lang.String dsLabel,
                                      boolean versionable,
                                      java.lang.String MIMEType,
                                      java.lang.String formatURI,
                                      java.lang.String dsLocation,
                                      java.lang.String controlGroup,
                                      java.lang.String dsState,
                                      java.lang.String logMessage)
                               throws ServerException
Specified by:
addDatastream in interface Management
Throws:
ServerException

addDisseminator

public java.lang.String addDisseminator(Context context,
                                        java.lang.String pid,
                                        java.lang.String bDefPid,
                                        java.lang.String bMechPid,
                                        java.lang.String dissLabel,
                                        DSBindingMap bindingMap,
                                        java.lang.String dissState,
                                        java.lang.String logMessage)
                                 throws ServerException
Specified by:
addDisseminator in interface Management
Throws:
ServerException

modifyDatastreamByReference

public java.util.Date modifyDatastreamByReference(Context context,
                                                  java.lang.String pid,
                                                  java.lang.String datastreamId,
                                                  java.lang.String[] altIDs,
                                                  java.lang.String dsLabel,
                                                  boolean versionable,
                                                  java.lang.String mimeType,
                                                  java.lang.String formatURI,
                                                  java.lang.String dsLocation,
                                                  java.lang.String dsState,
                                                  java.lang.String logMessage,
                                                  boolean force)
                                           throws ServerException
Specified by:
modifyDatastreamByReference in interface Management
Throws:
ServerException

modifyDatastreamByValue

public java.util.Date modifyDatastreamByValue(Context context,
                                              java.lang.String pid,
                                              java.lang.String datastreamId,
                                              java.lang.String[] altIDs,
                                              java.lang.String dsLabel,
                                              boolean versionable,
                                              java.lang.String mimeType,
                                              java.lang.String formatURI,
                                              java.io.InputStream dsContent,
                                              java.lang.String dsState,
                                              java.lang.String logMessage,
                                              boolean force)
                                       throws ServerException
Specified by:
modifyDatastreamByValue in interface Management
Throws:
ServerException

modifyDisseminator

public java.util.Date modifyDisseminator(Context context,
                                         java.lang.String pid,
                                         java.lang.String disseminatorId,
                                         java.lang.String bMechPid,
                                         java.lang.String dissLabel,
                                         DSBindingMap dsBindingMap,
                                         java.lang.String dissState,
                                         java.lang.String logMessage,
                                         boolean force)
                                  throws ServerException
Specified by:
modifyDisseminator in interface Management
Throws:
ServerException

purgeDatastream

public java.util.Date[] purgeDatastream(Context context,
                                        java.lang.String pid,
                                        java.lang.String datastreamID,
                                        java.util.Date endDT,
                                        java.lang.String logMessage,
                                        boolean force)
                                 throws ServerException
Specified by:
purgeDatastream in interface Management
Throws:
ServerException

getDatastream

public Datastream getDatastream(Context context,
                                java.lang.String pid,
                                java.lang.String datastreamID,
                                java.util.Date asOfDateTime)
                         throws ServerException
Specified by:
getDatastream in interface Management
Throws:
ServerException

getDatastreams

public Datastream[] getDatastreams(Context context,
                                   java.lang.String pid,
                                   java.util.Date asOfDateTime,
                                   java.lang.String state)
                            throws ServerException
Specified by:
getDatastreams in interface Management
Throws:
ServerException

getDatastreamHistory

public Datastream[] getDatastreamHistory(Context context,
                                         java.lang.String pid,
                                         java.lang.String datastreamID)
                                  throws ServerException
Specified by:
getDatastreamHistory in interface Management
Throws:
ServerException

purgeDisseminator

public java.util.Date[] purgeDisseminator(Context context,
                                          java.lang.String pid,
                                          java.lang.String disseminatorID,
                                          java.util.Date endDT,
                                          java.lang.String logMessage)
                                   throws ServerException
Specified by:
purgeDisseminator in interface Management
Throws:
ServerException

getDisseminator

public Disseminator getDisseminator(Context context,
                                    java.lang.String pid,
                                    java.lang.String disseminatorId,
                                    java.util.Date asOfDateTime)
                             throws ServerException
Specified by:
getDisseminator in interface Management
Throws:
ServerException

getDisseminators

public Disseminator[] getDisseminators(Context context,
                                       java.lang.String pid,
                                       java.util.Date asOfDateTime,
                                       java.lang.String dissState)
                                throws ServerException
Specified by:
getDisseminators in interface Management
Throws:
ServerException

getDisseminatorHistory

public Disseminator[] getDisseminatorHistory(Context context,
                                             java.lang.String pid,
                                             java.lang.String disseminatorID)
                                      throws ServerException
Specified by:
getDisseminatorHistory in interface Management
Throws:
ServerException

getNextPID

public java.lang.String[] getNextPID(Context context,
                                     int numPIDs,
                                     java.lang.String namespace)
                              throws ServerException
Specified by:
getNextPID in interface Management
Throws:
ServerException

putTempStream

public java.lang.String putTempStream(Context context,
                                      java.io.InputStream in)
                               throws StreamWriteException,
                                      fedora.server.errors.authorization.AuthzException
Specified by:
putTempStream in interface Management
Throws:
StreamWriteException
fedora.server.errors.authorization.AuthzException

getTempStream

public java.io.InputStream getTempStream(java.lang.String id)
                                  throws StreamReadException
Specified by:
getTempStream in interface Management
Throws:
StreamReadException

setDatastreamState

public java.util.Date setDatastreamState(Context context,
                                         java.lang.String pid,
                                         java.lang.String datastreamID,
                                         java.lang.String dsState,
                                         java.lang.String logMessage)
                                  throws ServerException
Specified by:
setDatastreamState in interface Management
Throws:
ServerException

setDisseminatorState

public java.util.Date setDisseminatorState(Context context,
                                           java.lang.String pid,
                                           java.lang.String disseminatorID,
                                           java.lang.String dissState,
                                           java.lang.String logMessage)
                                    throws ServerException
Specified by:
setDisseminatorState in interface Management
Throws:
ServerException

adminPing

public boolean adminPing(Context context)
                  throws ServerException
Specified by:
adminPing in interface Management
Throws:
ServerException