Package org.dspace.discovery.indexobject
Class WorkspaceItemIndexFactoryImpl
- java.lang.Object
-
- org.dspace.discovery.indexobject.IndexFactoryImpl<T,S>
-
- org.dspace.discovery.indexobject.InprogressSubmissionIndexFactoryImpl<IndexableWorkspaceItem,WorkspaceItem>
-
- org.dspace.discovery.indexobject.WorkspaceItemIndexFactoryImpl
-
- All Implemented Interfaces:
IndexFactory<IndexableWorkspaceItem,WorkspaceItem>,InprogressSubmissionIndexFactory<IndexableWorkspaceItem,WorkspaceItem>,WorkspaceItemIndexFactory
public class WorkspaceItemIndexFactoryImpl extends InprogressSubmissionIndexFactoryImpl<IndexableWorkspaceItem,WorkspaceItem> implements WorkspaceItemIndexFactory
Factory implementation for indexing/retrieving workspace items in the search core- Author:
- Kevin Van de Velde (kevin at atmire dot com)
-
-
Field Summary
Fields Modifier and Type Field Description protected WorkspaceItemServiceworkspaceItemService-
Fields inherited from class org.dspace.discovery.indexobject.InprogressSubmissionIndexFactoryImpl
indexableCollectionService, indexableItemService, supervisionOrderService
-
Fields inherited from class org.dspace.discovery.indexobject.IndexFactoryImpl
solrSearchCore, solrServiceIndexPlugins
-
-
Constructor Summary
Constructors Constructor Description WorkspaceItemIndexFactoryImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.solr.common.SolrInputDocumentbuildDocument(Context context, IndexableWorkspaceItem indexableObject)Create solr document with all the shared fields initialized.Iterator<IndexableWorkspaceItem>findAll(Context context)Retrieve all instances of a certain indexable object typeOptional<IndexableWorkspaceItem>findIndexableObject(Context context, String id)Retrieve a single indexable object using the provided identifierListgetIndexableObjects(Context context, WorkspaceItem object)Retrieve all the indexable objects for the provided objectStringgetType()Return the type of the indexable objectbooleansupports(Object object)Determine whether the class can handle the factory implementation-
Methods inherited from class org.dspace.discovery.indexobject.InprogressSubmissionIndexFactoryImpl
storeInprogressItemFields
-
Methods inherited from class org.dspace.discovery.indexobject.IndexFactoryImpl
addFacetIndex, addFacetIndex, addNamedResourceTypeIndex, buildNewDocument, delete, delete, deleteAll, writeDocument, writeDocument
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.dspace.discovery.indexobject.factory.IndexFactory
buildNewDocument, delete, delete, deleteAll, writeDocument
-
Methods inherited from interface org.dspace.discovery.indexobject.factory.InprogressSubmissionIndexFactory
storeInprogressItemFields
-
-
-
-
Field Detail
-
workspaceItemService
@Autowired protected WorkspaceItemService workspaceItemService
-
-
Method Detail
-
findAll
public Iterator<IndexableWorkspaceItem> findAll(Context context) throws SQLException
Description copied from interface:IndexFactoryRetrieve all instances of a certain indexable object type- Specified by:
findAllin interfaceIndexFactory<IndexableWorkspaceItem,WorkspaceItem>- Parameters:
context- DSpace context object- Returns:
- An iterator containing all the objects to be indexed for the indexable object
- Throws:
SQLException- If database error
-
getType
public String getType()
Description copied from interface:IndexFactoryReturn the type of the indexable object- Specified by:
getTypein interfaceIndexFactory<IndexableWorkspaceItem,WorkspaceItem>- Returns:
- a string containing the type
-
buildDocument
public org.apache.solr.common.SolrInputDocument buildDocument(Context context, IndexableWorkspaceItem indexableObject) throws SQLException, IOException
Description copied from interface:IndexFactoryCreate solr document with all the shared fields initialized.- Specified by:
buildDocumentin interfaceIndexFactory<IndexableWorkspaceItem,WorkspaceItem>- Overrides:
buildDocumentin classInprogressSubmissionIndexFactoryImpl<IndexableWorkspaceItem,WorkspaceItem>indexableObject- the indexableObject that we want to index- Returns:
- initialized solr document
- Throws:
SQLExceptionIOException
-
supports
public boolean supports(Object object)
Description copied from interface:IndexFactoryDetermine whether the class can handle the factory implementation- Specified by:
supportsin interfaceIndexFactory<IndexableWorkspaceItem,WorkspaceItem>- Parameters:
object- The object which we want to check- Returns:
- True if the factory implementation can handle the given object. False if it doesn't.
-
getIndexableObjects
public List getIndexableObjects(Context context, WorkspaceItem object)
Description copied from interface:IndexFactoryRetrieve all the indexable objects for the provided object- Specified by:
getIndexableObjectsin interfaceIndexFactory<IndexableWorkspaceItem,WorkspaceItem>- Parameters:
context- DSpace context objectobject- The object we want to retrieve our indexable objects for- Returns:
- A list of indexable objects
-
findIndexableObject
public Optional<IndexableWorkspaceItem> findIndexableObject(Context context, String id) throws SQLException
Description copied from interface:IndexFactoryRetrieve a single indexable object using the provided identifier- Specified by:
findIndexableObjectin interfaceIndexFactory<IndexableWorkspaceItem,WorkspaceItem>- Parameters:
context- DSpace context objectid- The identifier for which we want to retrieve our indexable object- Returns:
- An indexable object
- Throws:
SQLException- If database error
-
-