fedora.server.journal.readerwriter.singlefile
Class SingleFileJournalWriter

java.lang.Object
  extended by fedora.server.journal.xmlhelpers.AbstractXmlWriter
      extended by fedora.server.journal.JournalWriter
          extended by fedora.server.journal.readerwriter.singlefile.SingleFileJournalWriter
All Implemented Interfaces:
JournalConstants, SingleFileJournalConstants

public class SingleFileJournalWriter
extends JournalWriter
implements SingleFileJournalConstants

Title: SingleFileJournalWriter.java

Description: A rudimentary implementation of JournalWriter that just writes all entries to a single Journal file. Useful only for System tests.

Version:
$Id: SingleFileJournalWriter.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.JournalWriter
parameters, role, server, SYNCHRONIZER
 
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
SingleFileJournalWriter(java.util.Map<java.lang.String,java.lang.String> parameters, java.lang.String role, ServerInterface server)
          Get the name of the journal file from the server parameters, create the file, wrap it in an XMLEventWriter, and initialize it with a document header.
 
Method Summary
 void prepareToWriteJournalEntry()
          Make sure that the file has been initialized before writing any journal entries.
 void shutdown()
          Add the document trailer and close the journal file.
 void writeJournalEntry(CreatorJournalEntry journalEntry)
          Every journal entry just gets added to the file.
 
Methods inherited from class fedora.server.journal.JournalWriter
getInstance, writeDocumentHeader, writeDocumentHeader, writeDocumentTrailer, writeJournalEntry
 
Methods inherited from class fedora.server.journal.xmlhelpers.AbstractXmlWriter
putAttribute, putAttributeIfNotNull, putCharacters, putEndDocument, putEndTag, putStartDocument, putStartTag
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SingleFileJournalWriter

public SingleFileJournalWriter(java.util.Map<java.lang.String,java.lang.String> parameters,
                               java.lang.String role,
                               ServerInterface server)
                        throws JournalException
Get the name of the journal file from the server parameters, create the file, wrap it in an XMLEventWriter, and initialize it with a document header.

Throws:
JournalException
Method Detail

prepareToWriteJournalEntry

public void prepareToWriteJournalEntry()
                                throws JournalException
Make sure that the file has been initialized before writing any journal entries.

Specified by:
prepareToWriteJournalEntry in class JournalWriter
Throws:
JournalException

writeJournalEntry

public void writeJournalEntry(CreatorJournalEntry journalEntry)
                       throws JournalException
Every journal entry just gets added to the file.

Specified by:
writeJournalEntry in class JournalWriter
Throws:
JournalException

shutdown

public void shutdown()
              throws JournalException
Add the document trailer and close the journal file.

Specified by:
shutdown in class JournalWriter
Throws:
JournalException