org.fcrepo.server.journal.helpers
Class ParameterHelper

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

public class ParameterHelper
extends Object
implements JournalConstants

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

Author:
Jim Blake

Field Summary
 
Fields inherited from interface org.fcrepo.server.journal.JournalConstants
ARGUMENT_NAME_ALT_IDS, ARGUMENT_NAME_CHECKSUM, ARGUMENT_NAME_CHECKSUM_TYPE, ARGUMENT_NAME_CONTEXT, ARGUMENT_NAME_CONTROL_GROUP, ARGUMENT_NAME_DATATYPE, 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_IS_LITERAL, ARGUMENT_NAME_LABEL, ARGUMENT_NAME_LAST_MODIFIED_DATE, ARGUMENT_NAME_LOCATION, ARGUMENT_NAME_LOG_MESSAGE, ARGUMENT_NAME_MIME_TYPE, ARGUMENT_NAME_NAMESPACE, ARGUMENT_NAME_NEW_PID, ARGUMENT_NAME_NUM_PIDS, ARGUMENT_NAME_OBJECT, ARGUMENT_NAME_OWNERID, ARGUMENT_NAME_PID, ARGUMENT_NAME_RELATIONSHIP, 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_ADD_RELATIONSHIP, METHOD_GET_NEXT_PID, METHOD_INGEST, 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_PURGE_RELATIONSHIP, 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(Map<String,String> parameters, String parameterName, boolean defaultValue)
          Get an optional boolean parameter.
static String getOptionalStringParameter(Map<String,String> parameters, String parameterName, String defaultValue)
          Get an optional String parameter, If not found, use the default value.
static long parseParametersForAgeLimit(Map<String,String> parameters)
          Get the age limit parameter (or let it default), and convert it to milliseconds.
static String parseParametersForFilenamePrefix(Map<String,String> parameters)
          Look for a string to use as a prefix for the names of the journal files.
static long parseParametersForSizeLimit(Map<String,String> parameters)
          Get the size limit parameter (or let it default), and convert it to bytes.
static File parseParametersForWritableDirectory(Map<String,String> parameters, 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 String getOptionalStringParameter(Map<String,String> parameters,
                                                String parameterName,
                                                String defaultValue)
Get an optional String parameter, If not found, use the default value.

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

getOptionalBooleanParameter

public static boolean getOptionalBooleanParameter(Map<String,String> parameters,
                                                  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".
NullPointerException - if either 'parameters' or 'parameterName' is null.

parseParametersForWritableDirectory

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

Throws:
JournalException

parseParametersForFilenamePrefix

public static String parseParametersForFilenamePrefix(Map<String,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(Map<String,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(Map<String,String> parameters)
                                       throws JournalException
Get the age limit parameter (or let it default), and convert it to milliseconds.

Throws:
JournalException


Copyright © 2012 DuraSpace. All Rights Reserved.