mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-12 20:43:18 +00:00
[DS-2701-rest-api-fixes] Small bugfixes concerning comparing of objects, missing update call & ConcurrentModificationException
This commit is contained in:
@@ -687,7 +687,7 @@ public class BitstreamResource extends Resource
|
||||
request, context);
|
||||
|
||||
org.dspace.authorize.ResourcePolicy resourcePolicy = resourcePolicyService.find(context, policyId);
|
||||
if(resourcePolicy.getdSpaceObject().getID() == dspaceBitstream.getID() && authorizeService.authorizeActionBoolean(context, dspaceBitstream, org.dspace.core.Constants.REMOVE)) {
|
||||
if(resourcePolicy.getdSpaceObject().getID().equals(dspaceBitstream.getID()) && authorizeService.authorizeActionBoolean(context, dspaceBitstream, org.dspace.core.Constants.REMOVE)) {
|
||||
|
||||
try {
|
||||
resourcePolicyService.delete(context, resourcePolicy);
|
||||
|
@@ -499,7 +499,7 @@ public class ItemsResource extends Resource
|
||||
// Remove default bitstream policies
|
||||
List<org.dspace.authorize.ResourcePolicy> policiesToRemove = new ArrayList<org.dspace.authorize.ResourcePolicy>();
|
||||
for (org.dspace.authorize.ResourcePolicy policy : bitstreamsPolicies) {
|
||||
if (policy.getdSpaceObject().getID() == dspaceBitstream.getID())
|
||||
if (policy.getdSpaceObject().getID().equals(dspaceBitstream.getID()))
|
||||
{
|
||||
policiesToRemove.add(policy);
|
||||
}
|
||||
@@ -631,6 +631,8 @@ public class ItemsResource extends Resource
|
||||
itemService.addMetadata(context, dspaceItem, data[0], data[1], data[2], entry.getLanguage(), entry.getValue());
|
||||
}
|
||||
}
|
||||
//Update the item to ensure that all the events get fired.
|
||||
itemService.update(context, dspaceItem);
|
||||
|
||||
context.complete();
|
||||
|
||||
@@ -643,8 +645,10 @@ public class ItemsResource extends Resource
|
||||
{
|
||||
processException(
|
||||
"Could not update metadata in item(id=" + itemId + "), ContextException. Message: " + e.getMessage(), context);
|
||||
}
|
||||
finally
|
||||
} catch (AuthorizeException e) {
|
||||
processException(
|
||||
"Could not update metadata in item(id=" + itemId + "), AuthorizeException. Message: " + e.getMessage(), context);
|
||||
} finally
|
||||
{
|
||||
processFinally(context);
|
||||
}
|
||||
@@ -857,8 +861,9 @@ public class ItemsResource extends Resource
|
||||
while (bundleBitstreamIterator.hasNext())
|
||||
{
|
||||
BundleBitstream bundleBitstream = bundleBitstreamIterator.next();
|
||||
if (bundleBitstream.getBitstream().getID() == bitstream.getID())
|
||||
if (bundleBitstream.getBitstream().getID().equals(bitstream.getID()))
|
||||
{
|
||||
bundleBitstreamIterator.remove();
|
||||
bundleService.removeBitstream(context, bundle, bitstream);
|
||||
}
|
||||
}
|
||||
|
@@ -94,7 +94,7 @@ public class Bitstream extends DSpaceObject {
|
||||
for (BundleBitstream bundleBitstream : bundleBitstreams) {
|
||||
List<org.dspace.authorize.ResourcePolicy> bitstreamsPolicies = bundleService.getBitstreamPolicies(context, bundleBitstream.getBundle());
|
||||
for (org.dspace.authorize.ResourcePolicy policy : bitstreamsPolicies) {
|
||||
if(policy.getdSpaceObject() == bitstream) {
|
||||
if(policy.getdSpaceObject().equals(bitstream)) {
|
||||
tempPolicies.add(new ResourcePolicy(policy));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user