diff --git a/dspace-api/src/main/java/org/dspace/discovery/indexobject/InprogressSubmissionIndexFactoryImpl.java b/dspace-api/src/main/java/org/dspace/discovery/indexobject/InprogressSubmissionIndexFactoryImpl.java index cd637cb117..d0b0f363e6 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/indexobject/InprogressSubmissionIndexFactoryImpl.java +++ b/dspace-api/src/main/java/org/dspace/discovery/indexobject/InprogressSubmissionIndexFactoryImpl.java @@ -14,13 +14,16 @@ import java.util.List; import org.apache.solr.common.SolrInputDocument; import org.dspace.content.InProgressSubmission; import org.dspace.content.Item; +import org.dspace.content.WorkspaceItem; import org.dspace.core.Context; import org.dspace.discovery.SearchUtils; +import org.dspace.discovery.configuration.DiscoveryConfiguration; import org.dspace.discovery.indexobject.factory.CollectionIndexFactory; import org.dspace.discovery.indexobject.factory.InprogressSubmissionIndexFactory; import org.dspace.discovery.indexobject.factory.ItemIndexFactory; import org.dspace.eperson.EPerson; import org.dspace.util.SolrUtils; +import org.dspace.workflow.WorkflowItem; import org.springframework.beans.factory.annotation.Autowired; /** @@ -68,7 +71,15 @@ public abstract class InprogressSubmissionIndexFactoryImpl locations.add("l" + inProgressSubmission.getCollection().getID()); // Add item metadata - indexableItemService.addDiscoveryFields(doc, context, item, SearchUtils.getAllDiscoveryConfigurations(item)); + List discoveryConfigurations; + if (inProgressSubmission instanceof WorkflowItem) { + discoveryConfigurations = SearchUtils.getAllDiscoveryConfigurations((WorkflowItem) inProgressSubmission); + } else if (inProgressSubmission instanceof WorkspaceItem) { + discoveryConfigurations = SearchUtils.getAllDiscoveryConfigurations((WorkspaceItem) inProgressSubmission); + } else { + discoveryConfigurations = SearchUtils.getAllDiscoveryConfigurations(item); + } + indexableItemService.addDiscoveryFields(doc, context, item, discoveryConfigurations); indexableCollectionService.storeCommunityCollectionLocations(doc, locations); } }