summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/taskmanager/tasks/RecompressArchive.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/openslx/taskmanager/tasks/RecompressArchive.java')
-rw-r--r--src/main/java/org/openslx/taskmanager/tasks/RecompressArchive.java10
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;