You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2017/03/14 17:34:47 UTC
[09/10] camel git commit: CAMEL-10791-only component update
CAMEL-10791-only component update
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/928cdb1e
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/928cdb1e
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/928cdb1e
Branch: refs/heads/master
Commit: 928cdb1edf7754a990b23d058fced8fd35ed9de6
Parents: c2b2ee2
Author: onders86 <on...@gmail.com>
Authored: Mon Mar 13 21:24:47 2017 +0300
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Mar 14 18:29:38 2017 +0100
----------------------------------------------------------------------
.../dataformat/zipfile/ZipFileDataFormat.java | 6 +-
.../camel/dataformat/zipfile/ZipIterator.java | 2 +-
.../zipfile/ZipFileDataFormatTest.java | 59 +++++++++++++++++++-
3 files changed, 58 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/928cdb1e/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java
----------------------------------------------------------------------
diff --git a/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java b/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java
index 3704d94..8ae24b2 100644
--- a/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java
+++ b/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java
@@ -73,11 +73,7 @@ public class ZipFileDataFormat extends ServiceSupport implements DataFormat, Dat
@Override
public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
- if (supportEmptyDirectory) {
- exchange.getIn().setHeader("unzipEmptyDirectorySupported", true);
- } else {
- exchange.getIn().setHeader("unzipEmptyDirectorySupported", false);
- }
+ exchange.getIn().setHeader("unzipEmptyDirectorySupported", isSupportEmptyDirectory());
if (usingIterator) {
return new ZipIterator(exchange.getIn());
} else {
http://git-wip-us.apache.org/repos/asf/camel/blob/928cdb1e/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
----------------------------------------------------------------------
diff --git a/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java b/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
index 6d58ad8..bd67f8a 100644
--- a/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
+++ b/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
@@ -133,7 +133,7 @@ public class ZipIterator implements Iterator<Message>, Closeable {
return entry;
} else {
if (unzipEmptyDirectorySupported) {
- ZipEntry dirEntry = new ZipEntry(entry.getName() + ".");
+ ZipEntry dirEntry = new ZipEntry(entry.getName());
return dirEntry;
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/928cdb1e/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormatTest.java
----------------------------------------------------------------------
diff --git a/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormatTest.java b/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormatTest.java
index e4cecb3..6afac67 100644
--- a/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormatTest.java
+++ b/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormatTest.java
@@ -20,15 +20,20 @@ import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
+import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Iterator;
import java.util.concurrent.TimeUnit;
import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
import java.util.zip.ZipOutputStream;
import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
import org.apache.camel.builder.NotifyBuilder;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
@@ -115,7 +120,7 @@ public class ZipFileDataFormatTest extends CamelTestSupport {
zip.setSupportEmptyDirectory(true);
template.sendBody("direct:unzipWithEmptyDirectory", new File("src/test/resources/hello.odt"));
assertTrue(Files.exists(Paths.get("hello_out/Configurations2")));
- deleteDirectory(new File("hello_out"));
+ //deleteDirectory(new File("hello_out"));
}
@Test
@@ -125,7 +130,7 @@ public class ZipFileDataFormatTest extends CamelTestSupport {
zip.setSupportEmptyDirectory(false);
template.sendBody("direct:unzipWithEmptyDirectory", new File("src/test/resources/hello.odt"));
assertTrue(!Files.exists(Paths.get("hello_out/Configurations2")));
- deleteDirectory(new File("hello_out"));
+ //deleteDirectory(new File("hello_out"));
}
@Test
@@ -212,6 +217,35 @@ public class ZipFileDataFormatTest extends CamelTestSupport {
deleteDirectory(TEST_DIR);
super.setUp();
}
+
+ private static void copy(InputStream in, OutputStream out) throws IOException {
+ byte[] buffer = new byte[1024];
+ while (true) {
+ int readCount = in.read(buffer);
+ if (readCount < 0) {
+ break;
+ }
+ out.write(buffer, 0, readCount);
+ }
+ }
+
+ private static void copy(File file, OutputStream out) throws IOException {
+ InputStream in = new FileInputStream(file);
+ try {
+ copy(in, out);
+ } finally {
+ in.close();
+ }
+ }
+
+ private static void copy(InputStream in, File file) throws IOException {
+ OutputStream out = new FileOutputStream(file);
+ try {
+ copy(in, out);
+ } finally {
+ out.close();
+ }
+ }
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
@@ -227,7 +261,26 @@ public class ZipFileDataFormatTest extends CamelTestSupport {
from("direct:unzipWithEmptyDirectory").unmarshal(zip)
.split(body(Iterator.class))
.streaming()
- .to("file:hello_out?autoCreate=true")
+ //.to("file:hello_out?autoCreate=true")
+ .process(new Processor() {
+ @Override
+ public void process(Exchange exchange) throws Exception {
+ ZipFile zfile = new ZipFile(new File("src/test/resources/hello.odt"));
+ ZipEntry entry = new ZipEntry((String)exchange.getIn().getHeader(Exchange.FILE_NAME));
+ File file = new File("hello_out", entry.getName());
+ if (entry.isDirectory()) {
+ file.mkdirs();
+ } else {
+ file.getParentFile().mkdirs();
+ InputStream in = zfile.getInputStream(entry);
+ try {
+ copy(in, file);
+ } finally {
+ in.close();
+ }
+ }
+ }
+ })
.end();
from("direct:zipAndUnzip").marshal(zip).unmarshal(zip).to("mock:zipAndUnzip");
from("direct:zipToFile").marshal(zip).to("file:" + TEST_DIR.getPath()).to("mock:zipToFile");