diff options
Diffstat (limited to 'src/main/java/org/openslx/taskmanager/tasks/RecompressArchive.java')
-rw-r--r-- | src/main/java/org/openslx/taskmanager/tasks/RecompressArchive.java | 10 |
1 files 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; |