Class IndexingHarvestMsgHandler

java.lang.Object
org.dlese.dpc.oai.harvester.IndexingHarvestMsgHandler
All Implemented Interfaces:
HarvestMessageHandler

public class IndexingHarvestMsgHandler extends Object implements HarvestMessageHandler
A HarvestMessageHandler that writes harvest status messages to a SimpleLuceneIndex.
Author:
John Weatherley
  • Constructor Summary

    Constructors
    Constructor
    Description
    IndexingHarvestMsgHandler(SimpleLuceneIndex harvestLogIndex, String repositoryName, String baseURL, String set, String shUid, int numRecordsForNotification, File hd)
    Constructor for the HarvestMsgHandler object
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    completedHarvestMessage(int recordCount, int resumptionCount, String baseURL, String set, long startTime, long endTime, String zipFilePathName, String supportedGranularity, String deletedRecordSupport)
    A final report detailing the result of a successful harvest, which only occurs if no errors have occured.
    void
    A serios error that occured during the harvest, preventing it from completing.
    protected static final String
    Return a string for the current time and date, sutiable for display in log files and output to standout:
    int
    Gets the number of records the Harveser should harvest between sending statusMessage notifications to this HarvestMessageHandler.
    void
    oaiErrorMessage(String oaiError, String errorMessage, String supportedGranularity, String deletedRecordSupport)
    A message generated by the harvester when a standard OAI error has occured.
    static void
    setDebug(boolean db)
    Sets the debug attribute of the object
    void
    Sets the harvest attributes for this harvest.
    void
    Sets the harvester attribute of the IndexingHarvestMsgHandler object
    void
    statusMessage(int recordCount, int resumptionCount)
    A status message indicating the number of records currenlty harvested and the number of resumption tokens issued.
    void
    A status message indicating an event that took place during the harvest, such as a request made to the data provider.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • IndexingHarvestMsgHandler

      public IndexingHarvestMsgHandler(SimpleLuceneIndex harvestLogIndex, String repositoryName, String baseURL, String set, String shUid, int numRecordsForNotification, File hd)
      Constructor for the HarvestMsgHandler object
      Parameters:
      harvestLogIndex - The index.
      repositoryName - The name of the repository, for indexing.
      baseURL - Base URL to the harvested provider.
      set - Set being harvested.
      shUid - UID of the scheduled Harvest.
      numRecordsForNotification - Number of records the harvester should recieve between logging progress entries.
      hd - Description of the Parameter
  • Method Details

    • setHarvester

      public void setHarvester(Harvester harvester)
      Sets the harvester attribute of the IndexingHarvestMsgHandler object
      Parameters:
      harvester - The new harvester value
    • setHarvestAttributes

      public void setHarvestAttributes(Date from, Date until)
      Sets the harvest attributes for this harvest.
      Specified by:
      setHarvestAttributes in interface HarvestMessageHandler
      Parameters:
      from - The from date or null if none used
      until - The until date or null if none used
    • statusMessage

      public void statusMessage(String msg)
      A status message indicating an event that took place during the harvest, such as a request made to the data provider.
      Specified by:
      statusMessage in interface HarvestMessageHandler
      Parameters:
      msg - A harvest status message generated by the harvester.
    • statusMessage

      public void statusMessage(int recordCount, int resumptionCount)
      A status message indicating the number of records currenlty harvested and the number of resumption tokens issued.
      Specified by:
      statusMessage in interface HarvestMessageHandler
      Parameters:
      recordCount - Number of recrods currently harvested.
      resumptionCount - Number of resumption tokens currently issued.
      See Also:
    • oaiErrorMessage

      public void oaiErrorMessage(String oaiError, String errorMessage, String supportedGranularity, String deletedRecordSupport)
      A message generated by the harvester when a standard OAI error has occured.
      Specified by:
      oaiErrorMessage in interface HarvestMessageHandler
      Parameters:
      oaiError - The OAI error code, for example "noRecordsMatch".
      errorMessage - The accompanying message returned by the data provider, if any.
      supportedGranularity - Supported granularity [days, seconds] or null
      deletedRecordSupport - Deleted record support [no, transient, persistent] or null
    • errorMessage

      public void errorMessage(String msg)
      A serios error that occured during the harvest, preventing it from completing. For example an http 500 error.
      Specified by:
      errorMessage in interface HarvestMessageHandler
      Parameters:
      msg - Description of the error.
    • completedHarvestMessage

      public void completedHarvestMessage(int recordCount, int resumptionCount, String baseURL, String set, long startTime, long endTime, String zipFilePathName, String supportedGranularity, String deletedRecordSupport)
      A final report detailing the result of a successful harvest, which only occurs if no errors have occured.
      Specified by:
      completedHarvestMessage in interface HarvestMessageHandler
      Parameters:
      recordCount - The total number of records harvested.
      resumptionCount - Number of resumption tokens issued.
      baseURL - The baseURL that was harvested.
      set - The set that was harvested, or an empty string if none.
      startTime - The time the harvest began.
      endTime - The time the harvest was completed.
      zipFilePathName - The full path to the harvest zip file, or null if none.
      supportedGranularity - Supported granularity [days, seconds]
      deletedRecordSupport - Deleted record support [no, transient, persistent]
    • getNumRecordsForStatusNotification

      public int getNumRecordsForStatusNotification()
      Gets the number of records the Harveser should harvest between sending statusMessage notifications to this HarvestMessageHandler.
      Specified by:
      getNumRecordsForStatusNotification in interface HarvestMessageHandler
      Returns:
      The numRecordsForStatusNotification value.
      See Also:
    • getDateStamp

      protected static final String getDateStamp()
      Return a string for the current time and date, sutiable for display in log files and output to standout:
      Returns:
      The dateStamp value
    • setDebug

      public static void setDebug(boolean db)
      Sets the debug attribute of the object
      Parameters:
      db - The new debug value