From 43c30fe534d5d6ab93ba9f30ad1c8ef3590396a0 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 1 Dec 2016 18:12:26 +0100 Subject: [RecompressArchive] Handle exception when adding file to archive --- .../java/org/openslx/taskmanager/tasks/RecompressArchive.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/openslx/taskmanager/tasks/RecompressArchive.java b/src/main/java/org/openslx/taskmanager/tasks/RecompressArchive.java index 0bd892f..fc23842 100644 --- a/src/main/java/org/openslx/taskmanager/tasks/RecompressArchive.java +++ b/src/main/java/org/openslx/taskmanager/tasks/RecompressArchive.java @@ -120,7 +120,13 @@ public class RecompressArchive extends AbstractTask entries.add( outEntry.getName() ); } // Actually add entry now - outArchive.putArchiveEntry( outEntry ); + try { + outArchive.putArchiveEntry( outEntry ); + } catch (Exception e) { + status.error = "(" + inputFile + ") Could not putArchiveEntry('" + inEntry.getName() + "'): " + e.getMessage(); + status.errorCode = Output.ErrorCode.TAR_ERROR; + return false; + } if ( !Util.streamCopy( inArchive, outArchive, outEntry.getSize() ) ) { status.error = "(" + inputFile + ") Could not copy entry '" + inEntry.getName() + "' to destination archive."; status.errorCode = Output.ErrorCode.WRITE_FAILED; @@ -188,7 +194,7 @@ public class RecompressArchive extends AbstractTask protected enum ErrorCode { - NOT_FOUND, UNKNOWN_FORMAT, UNKNOWN_ERROR, INVALID_DIRECTORY, WRITE_FAILED + NOT_FOUND, UNKNOWN_FORMAT, UNKNOWN_ERROR, INVALID_DIRECTORY, WRITE_FAILED, TAR_ERROR }; protected ErrorCode errorCode = null; -- cgit v1.2.3-55-g7522