Class ErrorFileIndexingWriter

java.lang.Object
org.dlese.dpc.index.writer.FileIndexingServiceWriter
org.dlese.dpc.index.writer.ErrorFileIndexingWriter
All Implemented Interfaces:
DocWriter

public class ErrorFileIndexingWriter extends FileIndexingServiceWriter
Writes a Lucene Document that represents an error that has occured in in indexing a File. This writer is used by FileIndexingService. The FileIndexingServiceWriter may throw a ErrorDocException, which can be used to specific specific fields to index with the exception.


The Lucene Document fields that are created by this class are (in addition the the ones listed for FileIndexingServiceWriter) all fields specified in the ErrorDocException are stored plus:

error - Set to 'true' for all documents indexed by this writer. Not stored.
errormsg - The description of the error, for display. Stored.
errordoctype - The type of error thrown as specified by ErrorDocException. Defaults to 'generic'. Stored.
exception - The name of the Java exception that was thrown. Stored.

Author:
John Weatherley
See Also:
  • Constructor Details

    • ErrorFileIndexingWriter

      public ErrorFileIndexingWriter(Throwable exception)
      Constructor for the ErrorFileIndexingWriter object
      Parameters:
      exception - The exception that was thrown when the error occured.
  • Method Details

    • getDocType

      public String getDocType() throws Exception
      Gets the docType, which is 'errordoc.'
      Specified by:
      getDocType in interface DocWriter
      Specified by:
      getDocType in class FileIndexingServiceWriter
      Returns:
      Returns 'errordoc.'
      Throws:
      Exception - If error.
    • getDocGroup

      public String getDocGroup()
      Gets the specifier associated with this group of files or null if no group association exists.
      Specified by:
      getDocGroup in class FileIndexingServiceWriter
      Returns:
      The docGroup specifier
    • getReaderClass

      public String getReaderClass()
      Gets the name of the concrete DocReader class that is used to read this type of Document, which is "ErrorDocReader".
      Specified by:
      getReaderClass in interface DocWriter
      Specified by:
      getReaderClass in class FileIndexingServiceWriter
      Returns:
      The STring "ErrorDocReader".
    • addCustomFields

      protected final void addCustomFields(org.apache.lucene.document.Document newDoc, org.apache.lucene.document.Document existingDoc, File sourceFile) throws Exception
      Adds the error message to the Lucene document.
      Specified by:
      addCustomFields in class FileIndexingServiceWriter
      Parameters:
      newDoc - The new Document that is being created for this resource
      existingDoc - An existing Document that currently resides in the index for the given resource, or null if none was previously present
      sourceFile - The sourceFile that is being indexed.
      Throws:
      Exception - If an error occurs
    • init

      public void init(File source, org.apache.lucene.document.Document existingDoc) throws Exception
      Does nothing.
      Specified by:
      init in class FileIndexingServiceWriter
      Parameters:
      source - The source file being indexed
      existingDoc - An existing Document that currently resides in the index for the given resource, or null if none was previously present
      Throws:
      Exception - If an error occured during set-up.
    • destroy

      protected void destroy()
      Does nothing.
      Specified by:
      destroy in class FileIndexingServiceWriter