Class OAIStaticRepositoryHarvester
- java.lang.Object
-
- de.pangaea.metadataportal.harvester.Harvester
-
- de.pangaea.metadataportal.harvester.OAIHarvesterBase
-
- de.pangaea.metadataportal.harvester.OAIStaticRepositoryHarvester
-
public class OAIStaticRepositoryHarvester extends OAIHarvesterBase
Harvester for OAI static repositories.This harvester supports the following additional harvester properties (please look into
OAIHarvesterBasefor further OAI-specific properties):url: URL of static repository
- Author:
- Uwe Schindler
-
-
Field Summary
-
Fields inherited from class de.pangaea.metadataportal.harvester.OAIHarvesterBase
authorizationHeader, DEFAULT_RETRY_COUNT, DEFAULT_RETRY_TIME, DEFAULT_TIMEOUT, deleteMissingDocuments, filterIncomingSets, httpClient, identifierPrefix, ignoreDatestamps, metadataPrefix, OAI_NS, OAI_STATICREPOSITORY_NS, retryCount, retryTime, sets, timeout, USER_AGENT
-
Fields inherited from class de.pangaea.metadataportal.harvester.Harvester
fromDateReference, harvestCount, HARVESTER_METADATA_FIELD_LAST_HARVESTED, harvestMessageStep, iconfig, log, processor
-
-
Constructor Summary
Constructors Constructor Description OAIStaticRepositoryHarvester(HarvesterConfig iconfig)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDocument(MetadataDocument mdoc)Adds a document to theHarvester.processorworking in the background.voidclose(boolean cleanShutdown)Closes harvester.protected voidenumerateValidHarvesterPropertyNames(Set<String> props)This method is used by subclasses to enumerate all available harvester properties that are implemented by them.voidharvest()This method is called by the harvester afterHarvester.open(de.pangaea.metadataportal.processor.ElasticsearchConnection, java.lang.String)'ing it.voidopen(ElasticsearchConnection es, String targetIndex)Opens harvester for harvesting documents described by the givenHarvesterConfig.protected voidrecreateDigester()Recreates all digesters that are used by parsing the OAI XML.-
Methods inherited from class de.pangaea.metadataportal.harvester.OAIHarvesterBase
cancelMissingDocumentDelete, createMetadataDocumentInstance, doParse, enableMissingDocumentDelete, getEntityResolver, getInputSource, getMetadataDocumentFactory, reset
-
Methods inherited from class de.pangaea.metadataportal.harvester.Harvester
deleteDocument, finishReindex, getValidHarvesterPropertyNames, isAllIndexes, isClosed, isDocumentOutdated, main, prepareReindex, runHarvester, runHarvester, setHarvestingDateReference, setValidIdentifiers
-
-
-
-
Constructor Detail
-
OAIStaticRepositoryHarvester
public OAIStaticRepositoryHarvester(HarvesterConfig iconfig)
-
-
Method Detail
-
open
public void open(ElasticsearchConnection es, String targetIndex) throws Exception
Description copied from class:HarvesterOpens harvester for harvesting documents described by the givenHarvesterConfig. OpensHarvester.processorfor usage inHarvester.harvest()method.- Overrides:
openin classOAIHarvesterBase- Throws:
Exception- if an exception occurs during opening (various types of exceptions can be thrown).
-
recreateDigester
protected void recreateDigester()
Description copied from class:OAIHarvesterBaseRecreates all digesters that are used by parsing the OAI XML. This method is called initiall once and later on network errors before parsing same document again. This allows to recover from document parsing failing somewhere in the middle of a document.- Specified by:
recreateDigesterin classOAIHarvesterBase
-
addDocument
public void addDocument(MetadataDocument mdoc) throws Exception
Description copied from class:HarvesterAdds a document to theHarvester.processorworking in the background.- Overrides:
addDocumentin classOAIHarvesterBase- Throws:
BackgroundFailure- if an error occurred in background thread. Exceptions can be thrown asynchronous and may not affect the currect document. The real exception is thrown again inHarvester.close(boolean).Exception
-
close
public void close(boolean cleanShutdown) throws ExceptionDescription copied from class:HarvesterCloses harvester. All resources are freed and theHarvester.processoris closed.- Overrides:
closein classOAIHarvesterBase- Parameters:
cleanShutdown- enables writing of status information to the Elasticsearch instance for the next harvesting. If an error occurred during harvesting this should not be done.- Throws:
Exception- if an exception occurs during closing (various types of exceptions can be thrown). Exceptions can be thrown asynchronous and may not affect the correct document.
-
harvest
public void harvest() throws ExceptionDescription copied from class:HarvesterThis method is called by the harvester afterHarvester.open(de.pangaea.metadataportal.processor.ElasticsearchConnection, java.lang.String)'ing it. Overwrite this method in your harvester class. This method should harvest files from somewhere, generateMetadataDocuments and add them withHarvester.addDocument(de.pangaea.metadataportal.processor.MetadataDocument).
-
enumerateValidHarvesterPropertyNames
protected void enumerateValidHarvesterPropertyNames(Set<String> props)
Description copied from class:HarvesterThis method is used by subclasses to enumerate all available harvester properties that are implemented by them. Overwrite this method in your own implementation and append all harvester names to the suppliedSet. The public API for client code requesting property names isHarvester.getValidHarvesterPropertyNames().- Overrides:
enumerateValidHarvesterPropertyNamesin classOAIHarvesterBase- See Also:
Harvester.getValidHarvesterPropertyNames()
-
-