Package org.dspace.importer.external
Class MultipleParallelImportMetadataSourceServiceImpl
java.lang.Object
org.dspace.importer.external.MultipleParallelImportMetadataSourceServiceImpl
- All Implemented Interfaces:
MetadataSource,QuerySource
Implements a data source for querying multiple external data sources in parallel
optional Affiliation information are not part of the API request.
- Author:
- Johanna Staudinger (johanna.staudinger@uni-bamberg.de)
-
Constructor Summary
ConstructorsConstructorDescriptionMultipleParallelImportMetadataSourceServiceImpl(List<QuerySource> innerProviders, String sourceName) -
Method Summary
Modifier and TypeMethodDescriptionfindMatchingRecords(Item item) Finds records based on an item Delegates to one or more MetadataSource implementations based on the uri.findMatchingRecords(Query query) Finds records based on query object.The string that identifies this import implementation.Get a single record from the source.Get a single record from the source.getRecords(String query, int start, int count) Gets a set of records matching a query.getRecords(Query query) Find records based on a object query.intgetRecordsCount(String query) Gets the number of records matching a queryintgetRecordsCount(Query query) Gets the number of records matching a query
-
Constructor Details
-
MultipleParallelImportMetadataSourceServiceImpl
public MultipleParallelImportMetadataSourceServiceImpl(List<QuerySource> innerProviders, String sourceName)
-
-
Method Details
-
getImportSource
Description copied from interface:MetadataSourceThe string that identifies this import implementation. Preferable a URI- Specified by:
getImportSourcein interfaceMetadataSource- Returns:
- the identifying uri
-
getRecord
Description copied from interface:QuerySourceGet a single record from the source. The first match will be returned- Specified by:
getRecordin interfaceQuerySource- Parameters:
recordId- identifier for the record- Returns:
- a matching record
- Throws:
MetadataSourceException- if the underlying methods throw any exception.
-
getRecordsCount
Description copied from interface:QuerySourceGets the number of records matching a query- Specified by:
getRecordsCountin interfaceQuerySource- Parameters:
query- the query in string format- Returns:
- the number of records matching the query
- Throws:
MetadataSourceException- if the underlying methods throw any exception.
-
getRecordsCount
Description copied from interface:QuerySourceGets the number of records matching a query- Specified by:
getRecordsCountin interfaceQuerySource- Parameters:
query- the query object- Returns:
- the number of records matching the query
- Throws:
MetadataSourceException- if the underlying methods throw any exception.
-
getRecords
public Collection<ImportRecord> getRecords(String query, int start, int count) throws MetadataSourceException Description copied from interface:QuerySourceGets a set of records matching a query. Supports pagination- Specified by:
getRecordsin interfaceQuerySource- Parameters:
query- the query. The query will generally be posted 'as is' to the sourcestart- offsetcount- page size- Returns:
- a collection of fully transformed id's
- Throws:
MetadataSourceException- if the underlying methods throw any exception.
-
getRecords
Description copied from interface:QuerySourceFind records based on a object query.- Specified by:
getRecordsin interfaceQuerySource- Parameters:
query- a query object to base the search on.- Returns:
- a set of records. Fully transformed.
- Throws:
MetadataSourceException- if the underlying methods throw any exception.
-
getRecord
Description copied from interface:QuerySourceGet a single record from the source. The first match will be returned- Specified by:
getRecordin interfaceQuerySource- Parameters:
query- a query matching a single record- Returns:
- a matching record
- Throws:
MetadataSourceException- if the underlying methods throw any exception.
-
findMatchingRecords
Description copied from interface:QuerySourceFinds records based on query object. Delegates to one or more MetadataSource implementations based on the uri. Results will be aggregated.- Specified by:
findMatchingRecordsin interfaceQuerySource- Parameters:
query- a query object to base the search on.- Returns:
- a collection of import records. Only the identifier of the found records may be put in the record.
- Throws:
MetadataSourceException- passed through.
-
findMatchingRecords
Description copied from interface:QuerySourceFinds records based on an item Delegates to one or more MetadataSource implementations based on the uri. Results will be aggregated.- Specified by:
findMatchingRecordsin interfaceQuerySource- Parameters:
item- an item to base the search on- Returns:
- a collection of import records. Only the identifier of the found records may be put in the record.
- Throws:
MetadataSourceException- if the underlying methods throw any exception.
-