summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2016-12-01 18:12:26 +0100
committerSimon Rettberg2016-12-01 18:12:26 +0100
commit43c30fe534d5d6ab93ba9f30ad1c8ef3590396a0 (patch)
tree894598e164270b01fc8004218a715acba60a1237
parent[LdapSearch] Add missing return statements (diff)
downloadtmlite-bwlp-43c30fe534d5d6ab93ba9f30ad1c8ef3590396a0.tar.gz
tmlite-bwlp-43c30fe534d5d6ab93ba9f30ad1c8ef3590396a0.tar.xz
tmlite-bwlp-43c30fe534d5d6ab93ba9f30ad1c8ef3590396a0.zip
[RecompressArchive] Handle exception when adding file to archive
-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;