fedora.server.journal.readerwriter.singlefile
Class SingleFileJournalReader

java.lang.Object
  extended by fedora.server.journal.xmlhelpers.AbstractXmlReader
      extended by fedora.server.journal.JournalReader
          extended by fedora.server.journal.readerwriter.singlefile.SingleFileJournalReader
All Implemented Interfaces:
JournalConstants, SingleFileJournalConstants

public class SingleFileJournalReader
extends JournalReader
implements SingleFileJournalConstants

Title: SingleFileJournalReader.java

Description: A rudimentary implementation of JournalReader that just reads all entries from a single Journal file. Useful only for System tests.

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

Field Summary
 
Fields inherited from class fedora.server.journal.JournalReader
parameters, recoveryLog, role, server
 
Fields inherited from interface fedora.server.journal.readerwriter.singlefile.SingleFileJournalConstants
PARAMETER_JOURNAL_FILENAME
 
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
 
Constructor Summary
SingleFileJournalReader(java.util.Map<java.lang.String,java.lang.String> parameters, java.lang.String role, JournalRecoveryLog recoveryLog, ServerInterface server)
          Get the name of the journal file from the server parameters, wrap it in an XMLEventReader, and advance past the document header to the first JournalEntry.
 
Method Summary
 ConsumerJournalEntry readJournalEntry()
          Advance past any white space, and then see whether we have any more JournalEntry tags.
 void shutdown()
          On the first call, Just close the reader.
 java.lang.String toString()
           
 
Methods inherited from class fedora.server.journal.JournalReader
checkRepositoryHash, getInstance, readJournalEntry
 
Methods inherited from class fedora.server.journal.xmlhelpers.AbstractXmlReader
advancePastWhitespace, getNotCharactersException, getNotEndTagException, getNotNextMemberOrEndOfGroupException, getNotStartTagException, getOptionalAttributeValue, getRequiredAttributeValue, isEndTagEvent, isStartTagEvent, readCharactersUntilEndTag, readStartTag
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SingleFileJournalReader

public SingleFileJournalReader(java.util.Map<java.lang.String,java.lang.String> parameters,
                               java.lang.String role,
                               JournalRecoveryLog recoveryLog,
                               ServerInterface server)
                        throws ModuleInitializationException,
                               JournalException
Get the name of the journal file from the server parameters, wrap it in an XMLEventReader, and advance past the document header to the first JournalEntry.

Throws:
JournalException
ModuleInitializationException
Method Detail

readJournalEntry

public ConsumerJournalEntry readJournalEntry()
                                      throws JournalException,
                                             javax.xml.stream.XMLStreamException
Advance past any white space, and then see whether we have any more JournalEntry tags. If we don't, just return null.

Specified by:
readJournalEntry in class JournalReader
Throws:
JournalException
javax.xml.stream.XMLStreamException

shutdown

public void shutdown()
              throws JournalException
On the first call, Just close the reader.

Specified by:
shutdown in class JournalReader
Throws:
JournalException

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object