From aa6776c2cf7c834fa8b2d67b965db06c7858fec8 Mon Sep 17 00:00:00 2001 From: Mark Diggory Date: Tue, 9 Sep 2008 20:09:45 +0000 Subject: [PATCH] [ 2102580 ] William Hays: Duplicate Handle exception when replacing bitstreams http://sourceforge.net/tracker/index.php?func=detail&aid=2102580&group_id=19984&atid=119984 git-svn-id: http://scm.dspace.org/svn/repo/branches/dspace-1_5_x@3112 9c30dcfa-912a-0410-8fc2-9e0234be79fd --- dspace-api/src/main/java/org/dspace/content/Item.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/dspace-api/src/main/java/org/dspace/content/Item.java b/dspace-api/src/main/java/org/dspace/content/Item.java index ba807913c8..0c5f5da09c 100644 --- a/dspace-api/src/main/java/org/dspace/content/Item.java +++ b/dspace-api/src/main/java/org/dspace/content/Item.java @@ -1872,7 +1872,16 @@ public class Item extends DSpaceObject // remove all of our authorization policies AuthorizeManager.removeAllPolicies(ourContext, this); - + + // Remove any Handle + // FIXME: HandleManager should provide a way of doing this. + // Plus, deleting a Handle may have ramifications + // that need considering. + DatabaseManager.updateQuery(ourContext, + "DELETE FROM handle WHERE resource_type_id= ? " + + "AND resource_id= ? ", + Constants.ITEM,getID()); + // Finally remove item row DatabaseManager.delete(ourContext, itemRow); }