added item metadata in solr documets of pooltask/claimedkask

This commit is contained in:
Mykhaylo
2021-03-18 16:47:18 +01:00
parent 8e5c28572f
commit 8a6fd61c99
2 changed files with 26 additions and 0 deletions

View File

@@ -17,10 +17,14 @@ import java.util.Optional;
import org.apache.commons.lang3.StringUtils;
import org.apache.solr.common.SolrInputDocument;
import org.dspace.core.Context;
import org.dspace.discovery.SearchUtils;
import org.dspace.discovery.configuration.DiscoveryConfiguration;
import org.dspace.discovery.indexobject.factory.ClaimedTaskIndexFactory;
import org.dspace.discovery.indexobject.factory.ItemIndexFactory;
import org.dspace.discovery.indexobject.factory.WorkflowItemIndexFactory;
import org.dspace.services.factory.DSpaceServicesFactory;
import org.dspace.xmlworkflow.storedcomponents.ClaimedTask;
import org.dspace.xmlworkflow.storedcomponents.XmlWorkflowItem;
import org.dspace.xmlworkflow.storedcomponents.service.ClaimedTaskService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -36,6 +40,9 @@ public class ClaimedTaskIndexFactoryImpl extends IndexFactoryImpl<IndexableClaim
@Autowired
WorkflowItemIndexFactory indexableWorkflowItemService;
@Autowired
protected ItemIndexFactory indexableItemService;
@Override
public Iterator<IndexableClaimedTask> findAll(Context context) throws SQLException {
final Iterator<ClaimedTask> claimedTasks = claimedTaskService.findAll(context).iterator();
@@ -77,6 +84,12 @@ public class ClaimedTaskIndexFactoryImpl extends IndexFactoryImpl<IndexableClaim
acvalue = indexableObject.getTypeText();
}
addNamedResourceTypeIndex(doc, acvalue);
final XmlWorkflowItem xmlWorkflowItem = indexableObject.getIndexedObject().getWorkflowItem();
// Add the item metadata as configured
List<DiscoveryConfiguration> discoveryConfigurations = SearchUtils
.getAllDiscoveryConfigurations(xmlWorkflowItem);
indexableItemService.addDiscoveryFields(doc, context, xmlWorkflowItem.getItem(), discoveryConfigurations);
return doc;
}

View File

@@ -17,10 +17,14 @@ import java.util.Optional;
import org.apache.commons.lang3.StringUtils;
import org.apache.solr.common.SolrInputDocument;
import org.dspace.core.Context;
import org.dspace.discovery.SearchUtils;
import org.dspace.discovery.configuration.DiscoveryConfiguration;
import org.dspace.discovery.indexobject.factory.ItemIndexFactory;
import org.dspace.discovery.indexobject.factory.PoolTaskIndexFactory;
import org.dspace.discovery.indexobject.factory.WorkflowItemIndexFactory;
import org.dspace.services.factory.DSpaceServicesFactory;
import org.dspace.xmlworkflow.storedcomponents.PoolTask;
import org.dspace.xmlworkflow.storedcomponents.XmlWorkflowItem;
import org.dspace.xmlworkflow.storedcomponents.service.PoolTaskService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -37,6 +41,9 @@ public class PoolTaskIndexFactoryImpl extends IndexFactoryImpl<IndexablePoolTask
@Autowired
WorkflowItemIndexFactory indexableWorkflowItemService;
@Autowired
protected ItemIndexFactory indexableItemService;
@Override
public Iterator<IndexablePoolTask> findAll(Context context) throws SQLException {
final Iterator<PoolTask> pooledTasks = poolTaskService.findAll(context).iterator();
@@ -82,6 +89,12 @@ public class PoolTaskIndexFactoryImpl extends IndexFactoryImpl<IndexablePoolTask
acvalue = indexableObject.getTypeText();
}
addNamedResourceTypeIndex(doc, acvalue);
final XmlWorkflowItem xmlWorkflowItem = indexableObject.getIndexedObject().getWorkflowItem();
// Add the item metadata as configured
List<DiscoveryConfiguration> discoveryConfigurations = SearchUtils
.getAllDiscoveryConfigurations(xmlWorkflowItem);
indexableItemService.addDiscoveryFields(doc, context, xmlWorkflowItem.getItem(), discoveryConfigurations);
return doc;
}