DLESE Tools
v1.6.0

org.dlese.dpc.oai.harvester
Class IndexingHarvestMsgHandler

java.lang.Object
  extended by 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
IndexingHarvestMsgHandler(SimpleLuceneIndex harvestLogIndex, String repositoryName, String baseURL, String set, String shUid, int numRecordsForNotification, File hd)
          Constructor for the HarvestMsgHandler object
 
Method Summary
 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 errorMessage(String msg)
          A serios error that occured during the harvest, preventing it from completing.
protected static String getDateStamp()
          Return a string for the current time and date, sutiable for display in log files and output to standout:
 int getNumRecordsForStatusNotification()
          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 setHarvestAttributes(Date from, Date until)
          Sets the harvest attributes for this harvest.
 void setHarvester(Harvester harvester)
          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 statusMessage(String msg)
          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 Detail

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 Detail

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:
getNumRecordsForStatusNotification()

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:
statusMessage(String msg)

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

DLESE Tools
v1.6.0