CAMEL-10791-added option to handle empty directories while unzipping
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/741b0472 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/741b0472 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/741b0472 Branch: refs/heads/master Commit: 741b0472f41c4cc32b40c9d1c540af21ce4efa14 Parents: 968fd2b Author: onders86 <ondersez...@gmail.com> Authored: Mon Mar 13 11:03:35 2017 +0300 Committer: Claus Ibsen <davscl...@apache.org> Committed: Tue Mar 14 18:29:38 2017 +0100 ---------------------------------------------------------------------- .../org/apache/camel/component/file/GenericFileProducer.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/741b0472/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java b/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java index a4769ec..7e8cd61 100644 --- a/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java +++ b/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java @@ -274,7 +274,11 @@ public class GenericFileProducer<T> extends DefaultProducer { log.trace("About to write [{}] to [{}] from exchange [{}]", new Object[]{fileName, getEndpoint(), exchange}); } - boolean success = operations.storeFile(fileName, exchange); + // if filename indicates the current directory and the directory is created + // but no need to store a file under the directory like touch <dir> + // this is added due to considering to handle empty directories in zipfile + boolean success = !fileName.substring(fileName.lastIndexOf(File.separator) + 1, fileName.length()).equals(".") + ? operations.storeFile(fileName, exchange) : true; if (!success) { throw new GenericFileOperationFailedException("Error writing file [" + fileName + "]"); }