mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-07 01:54:22 +00:00
[DS-2131] SWORDv2 ingestion fails with NullPointerException when replacing a non archived item
This commit is contained in:
@@ -21,15 +21,7 @@ import java.util.zip.ZipFile;
|
|||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
import org.dspace.authorize.AuthorizeException;
|
import org.dspace.authorize.AuthorizeException;
|
||||||
import org.dspace.content.Bitstream;
|
import org.dspace.content.*;
|
||||||
import org.dspace.content.BitstreamFormat;
|
|
||||||
import org.dspace.content.Bundle;
|
|
||||||
import org.dspace.content.Collection;
|
|
||||||
import org.dspace.content.Community;
|
|
||||||
import org.dspace.content.DSpaceObject;
|
|
||||||
import org.dspace.content.FormatIdentifier;
|
|
||||||
import org.dspace.content.Item;
|
|
||||||
import org.dspace.content.WorkspaceItem;
|
|
||||||
import org.dspace.content.crosswalk.CrosswalkException;
|
import org.dspace.content.crosswalk.CrosswalkException;
|
||||||
import org.dspace.content.crosswalk.MetadataValidationException;
|
import org.dspace.content.crosswalk.MetadataValidationException;
|
||||||
import org.dspace.core.ConfigurationManager;
|
import org.dspace.core.ConfigurationManager;
|
||||||
@@ -37,6 +29,8 @@ import org.dspace.core.Constants;
|
|||||||
import org.dspace.core.Context;
|
import org.dspace.core.Context;
|
||||||
import org.dspace.core.LogManager;
|
import org.dspace.core.LogManager;
|
||||||
import org.dspace.handle.HandleManager;
|
import org.dspace.handle.HandleManager;
|
||||||
|
import org.dspace.workflow.WorkflowItem;
|
||||||
|
import org.dspace.xmlworkflow.storedcomponents.XmlWorkflowItem;
|
||||||
import org.jdom.Element;
|
import org.jdom.Element;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -660,8 +654,24 @@ public abstract class AbstractMETSIngester extends AbstractPackageIngester
|
|||||||
addBitstreams(context, item, manifest, pkgFile, params, callback);
|
addBitstreams(context, item, manifest, pkgFile, params, callback);
|
||||||
|
|
||||||
// have subclass manage license since it may be extra package file.
|
// have subclass manage license since it may be extra package file.
|
||||||
addLicense(context, item, license, (Collection) dso
|
Collection owningCollection = (Collection) dso.getParentObject();
|
||||||
.getParentObject(), params);
|
if(owningCollection == null)
|
||||||
|
{
|
||||||
|
//We are probably dealing with an item that isn't archived yet
|
||||||
|
InProgressSubmission inProgressSubmission = WorkspaceItem.findByItem(context, item);
|
||||||
|
if(inProgressSubmission == null)
|
||||||
|
{
|
||||||
|
if (ConfigurationManager.getProperty("workflow", "workflow.framework").equals("xmlworkflow"))
|
||||||
|
{
|
||||||
|
inProgressSubmission = XmlWorkflowItem.findByItem(context, item);
|
||||||
|
}else{
|
||||||
|
inProgressSubmission = WorkflowItem.findByItem(context, item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
owningCollection = inProgressSubmission.getCollection();
|
||||||
|
}
|
||||||
|
|
||||||
|
addLicense(context, item, license, owningCollection, params);
|
||||||
|
|
||||||
// FIXME ?
|
// FIXME ?
|
||||||
// should set lastModifiedTime e.g. when ingesting AIP.
|
// should set lastModifiedTime e.g. when ingesting AIP.
|
||||||
|
Reference in New Issue
Block a user