fedora.server.journal.helpers
Class ParameterHelper

java.lang.Object
  extended by fedora.server.journal.helpers.ParameterHelper
All Implemented Interfaces:
JournalConstants

public class ParameterHelper
extends java.lang.Object
implements JournalConstants

Title: ParameterHelper.java

Description: A collection of utility methods to help the Journal classes to read parameter values.

Version:
$Id: ParameterHelper.java 5025 2006-09-01 22:08:17 +0000 (Fri, 01 Sep 2006) cwilper $
Author:
jblake@cs.cornell.edu

Field Summary
 
Fields inherited from interface fedora.server.journal.JournalConstants
ARGUMENT_NAME_ALT_IDS, ARGUMENT_NAME_BDEF_PID, ARGUMENT_NAME_BINDING_MAP, ARGUMENT_NAME_BMECH_PID, ARGUMENT_NAME_CHECKSUM, ARGUMENT_NAME_CHECKSUM_TYPE, ARGUMENT_NAME_CONTEXT, ARGUMENT_NAME_CONTROL_GROUP, ARGUMENT_NAME_DISSEMINATOR_ID, ARGUMENT_NAME_DISSEMINATOR_LABEL, ARGUMENT_NAME_DISSEMINATOR_STATE, ARGUMENT_NAME_DS_CONTENT, ARGUMENT_NAME_DS_ID, ARGUMENT_NAME_DS_LABEL, ARGUMENT_NAME_DS_LOCATION, ARGUMENT_NAME_DS_STATE, ARGUMENT_NAME_ENCODING, ARGUMENT_NAME_END_DATE, ARGUMENT_NAME_FORCE, ARGUMENT_NAME_FORMAT, ARGUMENT_NAME_FORMAT_URI, ARGUMENT_NAME_IN, ARGUMENT_NAME_LABEL, ARGUMENT_NAME_LOCATION, ARGUMENT_NAME_LOG_MESSAGE, ARGUMENT_NAME_MIME_TYPE, ARGUMENT_NAME_NAMESPACE, ARGUMENT_NAME_NEW_PID, ARGUMENT_NAME_NUM_PIDS, ARGUMENT_NAME_OWNERID, ARGUMENT_NAME_PID, ARGUMENT_NAME_SERIALIZATION, ARGUMENT_NAME_START_DATE, ARGUMENT_NAME_STATE, ARGUMENT_NAME_VERSION_DATE, ARGUMENT_NAME_VERSIONABLE, ARGUMENT_TYPE_BINDING_MAP, ARGUMENT_TYPE_BOOLEAN, ARGUMENT_TYPE_DATE, ARGUMENT_TYPE_INTEGER, ARGUMENT_TYPE_NULL, ARGUMENT_TYPE_STREAM, ARGUMENT_TYPE_STRING, ARGUMENT_TYPE_STRINGARRAY, CONTEXT_MAPNAME_ACTION, CONTEXT_MAPNAME_ENVIRONMENT, CONTEXT_MAPNAME_RECOVERY, CONTEXT_MAPNAME_RESOURCE, CONTEXT_MAPNAME_SUBJECT, DEFAULT_AGE_LIMIT, DEFAULT_FILENAME_PREFIX, DEFAULT_SIZE_LIMIT, DOCUMENT_ENCODING, DOCUMENT_VERSION, FORMAT_JOURNAL_FILENAME_TIMESTAMP, METHOD_ADD_DATASTREAM, METHOD_ADD_DISSEMINATOR, METHOD_GET_NEXT_PID, METHOD_INGEST_OBJECT, METHOD_MODIFY_DATASTREAM_BY_REFERENCE, METHOD_MODIFY_DATASTREAM_BY_VALUE, METHOD_MODIFY_DISSEMINATOR, METHOD_MODIFY_OBJECT, METHOD_PURGE_DATASTREAM, METHOD_PURGE_DISSEMINATOR, METHOD_PURGE_OBJECT, METHOD_PUT_TEMP_STREAM, METHOD_SET_DATASTREAM_STATE, METHOD_SET_DATASTREAM_VERSIONABLE, METHOD_SET_DISSEMINATOR_STATE, PARAMETER_IGNORE_HASH, PARAMETER_JOURNAL_FILE_AGE_LIMIT, PARAMETER_JOURNAL_FILE_SIZE_LIMIT, PARAMETER_JOURNAL_FILENAME_PREFIX, PARAMETER_JOURNAL_MODE, PARAMETER_JOURNAL_READER_CLASSNAME, PARAMETER_JOURNAL_RECOVERY_LOG_CLASSNAME, PARAMETER_JOURNAL_WRITER_CLASSNAME, PARAMETER_RECOVERY_LOG_FILENAME, PARAMETER_RECOVERY_LOG_LEVEL, PASSWORD_CIPHER_TYPE, QNAME_ATTR_BIND_KEY_NAME, QNAME_ATTR_BIND_LABEL, QNAME_ATTR_CLIENT_IP, QNAME_ATTR_DATASTREAM_ID, QNAME_ATTR_DS_BIND_MAP_ID, QNAME_ATTR_DS_BIND_MAP_LABEL, QNAME_ATTR_DS_BIND_MECHANISM_PID, QNAME_ATTR_LOGIN_ID, QNAME_ATTR_METHOD, QNAME_ATTR_NAME, QNAME_ATTR_PASSWORD_TYPE, QNAME_ATTR_REPOSITORY_HASH, QNAME_ATTR_SEQ_NO, QNAME_ATTR_STATE, QNAME_ATTR_TIMESTAMP, QNAME_ATTR_TYPE, QNAME_ATTR_USERID, QNAME_TAG_ARGUMENT, QNAME_TAG_ARRAYELEMENT, QNAME_TAG_CONTEXT, QNAME_TAG_DS_BINDING, QNAME_TAG_DS_BINDING_MAP, QNAME_TAG_JOURNAL, QNAME_TAG_JOURNAL_ENTRY, QNAME_TAG_MULTI_VALUE_MAP, QNAME_TAG_MULTI_VALUE_MAP_KEY, QNAME_TAG_MULTI_VALUE_MAP_VALUE, QNAME_TAG_NOOP, QNAME_TAG_NOW, QNAME_TAG_PASSWORD, SYSTEM_PROPERTY_PREFIX, TIMESTAMP_FORMAT, VALUE_FALSE, VALUE_JOURNAL_MODE_NORMAL, VALUE_JOURNAL_MODE_RECOVER, VALUE_RECOVERY_LOG_LEVEL_HIGH, VALUE_RECOVERY_LOG_LEVEL_LOW, VALUE_RECOVERY_LOG_LEVEL_MEDIUM, VALUE_TRUE
 
Method Summary
static boolean getOptionalBooleanParameter(java.util.Map<java.lang.String,java.lang.String> parameters, java.lang.String parameterName, boolean defaultValue)
          Get an optional boolean parameter.
static java.lang.String getOptionalStringParameter(java.util.Map<java.lang.String,java.lang.String> parameters, java.lang.String parameterName, java.lang.String defaultValue)
          Get an optional String parameter, If not found, use the default value.
static long parseParametersForAgeLimit(java.util.Map<java.lang.String,java.lang.String> parameters)
          Get the age limit parameter (or let it default), and convert it to milliseconds.
static java.lang.String parseParametersForFilenamePrefix(java.util.Map<java.lang.String,java.lang.String> parameters)
          Look for a string to use as a prefix for the names of the journal files.
static long parseParametersForSizeLimit(java.util.Map<java.lang.String,java.lang.String> parameters)
          Get the size limit parameter (or let it default), and convert it to bytes.
static java.io.File parseParametersForWritableDirectory(java.util.Map<java.lang.String,java.lang.String> parameters, java.lang.String parameterName)
          Look in the parameters for the path to a writable directory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getOptionalStringParameter

public static java.lang.String getOptionalStringParameter(java.util.Map<java.lang.String,java.lang.String> parameters,
                                                          java.lang.String parameterName,
                                                          java.lang.String defaultValue)
Get an optional String parameter, If not found, use the default value.

Throws:
java.lang.NullPointerException - if either 'parameters' or 'parameterName' is null.

getOptionalBooleanParameter

public static boolean getOptionalBooleanParameter(java.util.Map<java.lang.String,java.lang.String> parameters,
                                                  java.lang.String parameterName,
                                                  boolean defaultValue)
                                           throws JournalException
Get an optional boolean parameter. If not found, use the default value.

Throws:
JournalException - if a value is supplied that is neither "true" nor "false".
java.lang.NullPointerException - if either 'parameters' or 'parameterName' is null.

parseParametersForWritableDirectory

public static java.io.File parseParametersForWritableDirectory(java.util.Map<java.lang.String,java.lang.String> parameters,
                                                               java.lang.String parameterName)
                                                        throws JournalException
Look in the parameters for the path to a writable directory. The parameter is required.

Throws:
JournalException

parseParametersForFilenamePrefix

public static java.lang.String parseParametersForFilenamePrefix(java.util.Map<java.lang.String,java.lang.String> parameters)
Look for a string to use as a prefix for the names of the journal files. Default is "fedoraJournal"


parseParametersForSizeLimit

public static long parseParametersForSizeLimit(java.util.Map<java.lang.String,java.lang.String> parameters)
                                        throws JournalException
Get the size limit parameter (or let it default), and convert it to bytes.

Throws:
JournalException

parseParametersForAgeLimit

public static long parseParametersForAgeLimit(java.util.Map<java.lang.String,java.lang.String> parameters)
                                       throws JournalException
Get the age limit parameter (or let it default), and convert it to milliseconds.

Throws:
JournalException