mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-12 12:33:18 +00:00
72387: Workflow minor fixes
This commit is contained in:
@@ -57,7 +57,6 @@ import org.dspace.harvest.HarvestedCollection;
|
||||
import org.dspace.harvest.service.HarvestedCollectionService;
|
||||
import org.dspace.workflow.factory.WorkflowServiceFactory;
|
||||
import org.dspace.xmlworkflow.WorkflowConfigurationException;
|
||||
import org.dspace.xmlworkflow.XmlWorkflowFactoryImpl;
|
||||
import org.dspace.xmlworkflow.factory.XmlWorkflowFactory;
|
||||
import org.dspace.xmlworkflow.state.Workflow;
|
||||
import org.dspace.xmlworkflow.storedcomponents.CollectionRole;
|
||||
@@ -387,7 +386,7 @@ public class CollectionServiceImpl extends DSpaceObjectServiceImpl<Collection> i
|
||||
log.error(LogManager.getHeader(context, "setWorkflowGroup",
|
||||
"collection_id=" + collection.getID() + " " + e.getMessage()), e);
|
||||
}
|
||||
if (!StringUtils.equals(XmlWorkflowFactoryImpl.LEGACY_WORKFLOW_NAME, workflow.getID())) {
|
||||
if (!StringUtils.equals(workflowFactory.getDefaultWorkflow().getID(), workflow.getID())) {
|
||||
throw new IllegalArgumentException(
|
||||
"setWorkflowGroup can be used only on collection with the default basic dspace workflow. "
|
||||
+ "Instead, the collection: "
|
||||
|
@@ -265,7 +265,12 @@ public class WorkspaceItemServiceImpl implements WorkspaceItemService {
|
||||
|
||||
// Need to delete the workspaceitem row first since it refers
|
||||
// to item ID
|
||||
try {
|
||||
workspaceItem.getSupervisorGroups().clear();
|
||||
} catch (Exception e) {
|
||||
log.error("failed to clear supervisor group", e);
|
||||
}
|
||||
|
||||
workspaceItemDAO.delete(context, workspaceItem);
|
||||
|
||||
}
|
||||
|
@@ -97,7 +97,7 @@ public class XmlWorkflowFactoryImpl implements XmlWorkflowFactory {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Collection> getCollectionHandlesMappedToWorklow(Context context, String workflowName) {
|
||||
public List<Collection> getCollectionHandlesMappedToWorkflow(Context context, String workflowName) {
|
||||
List<Collection> collectionsMapped = new ArrayList<>();
|
||||
for (String handle : this.workflowMapping.keySet()) {
|
||||
if (this.workflowMapping.get(handle).getID().equals(workflowName)) {
|
||||
@@ -107,7 +107,7 @@ public class XmlWorkflowFactoryImpl implements XmlWorkflowFactory {
|
||||
collectionsMapped.add(collection);
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
log.error("SQLException in XmlWorkflowFactoryImpl.getCollectionHandlesMappedToWorklow trying to " +
|
||||
log.error("SQLException in XmlWorkflowFactoryImpl.getCollectionHandlesMappedToWorkflow trying to " +
|
||||
"retrieve collection with handle: " + handle, e);
|
||||
}
|
||||
}
|
||||
|
@@ -86,7 +86,7 @@ public interface XmlWorkflowFactory {
|
||||
* @param workflowName Name of workflow we want the collections of that are mapped to is
|
||||
* @return List of collections mapped to the requested workflow
|
||||
*/
|
||||
public List<Collection> getCollectionHandlesMappedToWorklow(Context context, String workflowName);
|
||||
public List<Collection> getCollectionHandlesMappedToWorkflow(Context context, String workflowName);
|
||||
|
||||
/**
|
||||
* Returns list of collections that are not mapped to any configured workflow, and thus use the default workflow
|
||||
|
@@ -81,7 +81,7 @@ public class Step implements BeanNameAware {
|
||||
/**
|
||||
* Get the next step based on out the outcome
|
||||
* @param outcome the outcome of the previous step
|
||||
* @return the next stepp or NULL if there is no step configured for this outcome
|
||||
* @return the next step or NULL if there is no step configured for this outcome
|
||||
*/
|
||||
public Step getNextStep(int outcome) {
|
||||
return outcomes.get(outcome);
|
||||
|
@@ -116,7 +116,7 @@ public class XmlWorkflowFactoryTest extends AbstractUnitTest {
|
||||
@Test
|
||||
public void workflowMapping_NonMappedCollection() throws WorkflowConfigurationException {
|
||||
Workflow workflow = xmlWorkflowFactory.getWorkflow(this.nonMappedCollection);
|
||||
assertEquals("defaultWorkflow", workflow.getID());
|
||||
assertEquals(XmlWorkflowFactoryImpl.LEGACY_WORKFLOW_NAME, workflow.getID());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@@ -12,13 +12,11 @@ import java.util.List;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.dspace.app.rest.converter.ConverterService;
|
||||
import org.dspace.app.rest.model.CollectionRest;
|
||||
import org.dspace.app.rest.model.WorkflowDefinitionRest;
|
||||
import org.dspace.app.rest.projection.Projection;
|
||||
import org.dspace.app.rest.repository.AbstractDSpaceRestRepository;
|
||||
import org.dspace.app.rest.repository.LinkRestRepository;
|
||||
import org.dspace.app.rest.utils.Utils;
|
||||
import org.dspace.content.Collection;
|
||||
import org.dspace.core.Context;
|
||||
import org.dspace.xmlworkflow.factory.XmlWorkflowFactory;
|
||||
@@ -43,12 +41,6 @@ public class WorkflowDefinitionCollectionsLinkRepository extends AbstractDSpaceR
|
||||
@Autowired
|
||||
protected XmlWorkflowFactory xmlWorkflowFactory;
|
||||
|
||||
@Autowired
|
||||
protected ConverterService converter;
|
||||
|
||||
@Autowired
|
||||
protected Utils utils;
|
||||
|
||||
/**
|
||||
* GET endpoint that returns the list of collections that make an explicit use of the workflow-definition.
|
||||
* If a collection doesn't specify the workflow-definition to be used, the default mapping applies,
|
||||
@@ -69,10 +61,10 @@ public class WorkflowDefinitionCollectionsLinkRepository extends AbstractDSpaceR
|
||||
if (xmlWorkflowFactory.isDefaultWorkflow(workflowName)) {
|
||||
collectionsMappedToWorkflow.addAll(xmlWorkflowFactory.getAllNonMappedCollectionsHandles(context));
|
||||
}
|
||||
collectionsMappedToWorkflow.addAll(xmlWorkflowFactory.getCollectionHandlesMappedToWorklow(context,
|
||||
collectionsMappedToWorkflow.addAll(xmlWorkflowFactory.getCollectionHandlesMappedToWorkflow(context,
|
||||
workflowName));
|
||||
Pageable pageable = optionalPageable != null ? optionalPageable : PageRequest.of(0, 20);
|
||||
return converter.toRestPage(collectionsMappedToWorkflow, pageable,
|
||||
return super.converter.toRestPage(collectionsMappedToWorkflow, pageable,
|
||||
projection);
|
||||
} else {
|
||||
throw new ResourceNotFoundException("No workflow with name " + workflowName + " is configured");
|
||||
|
@@ -349,7 +349,7 @@ public class WorkflowDefinitionRestRepositoryIT extends AbstractControllerIntegr
|
||||
|
||||
if (StringUtils.isNotBlank(firstNonDefaultWorkflowName)) {
|
||||
List<Collection> mappedCollections
|
||||
= xmlWorkflowFactory.getCollectionHandlesMappedToWorklow(context, firstNonDefaultWorkflowName);
|
||||
= xmlWorkflowFactory.getCollectionHandlesMappedToWorkflow(context, firstNonDefaultWorkflowName);
|
||||
//When we call this facets endpoint
|
||||
if (mappedCollections.size() > 0) {
|
||||
//returns array of collection jsons that are mapped to given workflow
|
||||
|
Reference in New Issue
Block a user