diff --git a/dspace-sword/src/main/java/org/dspace/sword/DepositManager.java b/dspace-sword/src/main/java/org/dspace/sword/DepositManager.java index 00836a3da2..a33f23e817 100644 --- a/dspace-sword/src/main/java/org/dspace/sword/DepositManager.java +++ b/dspace-sword/src/main/java/org/dspace/sword/DepositManager.java @@ -163,6 +163,21 @@ public class DepositManager throw e; } catch(SWORDErrorException e) + { + if (swordService.getSwordConfig().isKeepPackageOnFailedIngest()) + { + try + { + storePackageAsFile(deposit); + } + catch(IOException e2) + { + log.warn("Unable to store SWORD package as file: " + e); + } + } + throw e; + } + catch(RuntimeException e) { if (swordService.getSwordConfig().isKeepPackageOnFailedIngest()) {