You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2014/06/23 06:06:23 UTC

[2/2] git commit: CAMEL-7527 Zip component supports now archives with files in directories

CAMEL-7527 Zip component supports now archives with files in directories


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/53e9565f
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/53e9565f
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/53e9565f

Branch: refs/heads/master
Commit: 53e9565fce4590d8b996c199a88b2db128d9f0f2
Parents: 7c0eb9a
Author: Jakub Bubin <ja...@datax.pl>
Authored: Fri Jun 20 18:25:44 2014 +0200
Committer: Willem Jiang <wi...@gmail.com>
Committed: Mon Jun 23 12:05:57 2014 +0800

----------------------------------------------------------------------
 .../camel/dataformat/zipfile/ZipIterator.java     |  12 +++++++++++-
 .../zipfile/SpringZipSplitterRouteTest.java       |   2 +-
 .../zipfile/ZipFileMultipleFilesSplitterTest.java |   4 ++--
 .../zipfile/ZipSplitterRouteIssueTest.java        |   2 +-
 .../dataformat/zipfile/ZipSplitterRouteTest.java  |   2 +-
 .../camel/dataformat/zipfile/data/resources.zip   | Bin 306 -> 1051 bytes
 6 files changed, 16 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/53e9565f/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 d54029e..5900d66 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
@@ -94,7 +94,7 @@ class ZipIterator implements Iterator<Message> {
         
         if (zipInputStream != null) {
             try {
-                ZipEntry current = zipInputStream.getNextEntry();
+                ZipEntry current = getNextEntry();
 
                 if (current != null) {
                     LOGGER.debug("read zipEntry {}", current.getName());
@@ -122,6 +122,16 @@ class ZipIterator implements Iterator<Message> {
             zipInputStream = null;
         }
     }
+    
+	private ZipEntry getNextEntry() throws IOException {
+		ZipEntry entry = null;
+		
+		while ((entry = zipInputStream.getNextEntry()) != null)
+			if (!entry.isDirectory())
+				return entry;
+		
+		return null;
+	}
 
     @Override
     public void remove() {

http://git-wip-us.apache.org/repos/asf/camel/blob/53e9565f/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/SpringZipSplitterRouteTest.java
----------------------------------------------------------------------
diff --git a/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/SpringZipSplitterRouteTest.java b/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/SpringZipSplitterRouteTest.java
index cd7189c..684aa6e 100644
--- a/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/SpringZipSplitterRouteTest.java
+++ b/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/SpringZipSplitterRouteTest.java
@@ -27,7 +27,7 @@ public class SpringZipSplitterRouteTest extends CamelSpringTestSupport {
     @Test
     public void testSplitter() throws InterruptedException {
         MockEndpoint processZipEntry = getMockEndpoint("mock:processZipEntry");
-        processZipEntry.expectedBodiesReceivedInAnyOrder("chau", "hi", "hola");
+        processZipEntry.expectedBodiesReceivedInAnyOrder("chau", "hi", "hola", "another_chiau", "another_hi");
         assertMockEndpointsSatisfied();
     }
     

http://git-wip-us.apache.org/repos/asf/camel/blob/53e9565f/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/ZipFileMultipleFilesSplitterTest.java
----------------------------------------------------------------------
diff --git a/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/ZipFileMultipleFilesSplitterTest.java b/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/ZipFileMultipleFilesSplitterTest.java
index 9490e94..a708787 100644
--- a/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/ZipFileMultipleFilesSplitterTest.java
+++ b/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/ZipFileMultipleFilesSplitterTest.java
@@ -31,8 +31,8 @@ public class ZipFileMultipleFilesSplitterTest extends ZipSplitterRouteTest {
     public void testSplitter() throws InterruptedException {
         MockEndpoint processZipEntry = getMockEndpoint("mock:processZipEntry");
         MockEndpoint splitResult = getMockEndpoint("mock:splitResult");
-        processZipEntry.expectedBodiesReceivedInAnyOrder("chau", "hi", "hola");
-        splitResult.expectedBodiesReceivedInAnyOrder("chiau.txt", "hi.txt", "hola.txt");
+        processZipEntry.expectedBodiesReceivedInAnyOrder("chau", "hi", "hola", "another_chiau", "another_hi");
+        splitResult.expectedBodiesReceivedInAnyOrder("chiau.txt", "hi.txt", "hola.txt", "directoryOne/another_chiau.txt", "directoryOne/another_hi.txt");
         assertMockEndpointsSatisfied();
     }
     

http://git-wip-us.apache.org/repos/asf/camel/blob/53e9565f/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/ZipSplitterRouteIssueTest.java
----------------------------------------------------------------------
diff --git a/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/ZipSplitterRouteIssueTest.java b/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/ZipSplitterRouteIssueTest.java
index 6f5dacb..36273ae 100644
--- a/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/ZipSplitterRouteIssueTest.java
+++ b/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/ZipSplitterRouteIssueTest.java
@@ -32,7 +32,7 @@ public class ZipSplitterRouteIssueTest extends CamelTestSupport {
 
     @Test
     public void testSplitter() throws Exception {
-        getMockEndpoint("mock:entry").expectedMessageCount(2);
+        getMockEndpoint("mock:entry").expectedMessageCount(3);
 
         template.sendBody("seda:decompressFiles", new File("src/test/resources/data.zip"));
 

http://git-wip-us.apache.org/repos/asf/camel/blob/53e9565f/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/ZipSplitterRouteTest.java
----------------------------------------------------------------------
diff --git a/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/ZipSplitterRouteTest.java b/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/ZipSplitterRouteTest.java
index 64d5ef8..d44644a 100644
--- a/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/ZipSplitterRouteTest.java
+++ b/components/camel-zipfile/src/test/java/org/apache/camel/dataformat/zipfile/ZipSplitterRouteTest.java
@@ -26,7 +26,7 @@ public class ZipSplitterRouteTest extends CamelTestSupport {
     @Test
     public void testSplitter() throws InterruptedException {
         MockEndpoint processZipEntry = getMockEndpoint("mock:processZipEntry");
-        processZipEntry.expectedBodiesReceivedInAnyOrder("chau", "hi", "hola");
+        processZipEntry.expectedBodiesReceivedInAnyOrder("chau", "hi", "hola", "another_chiau", "another_hi");
         assertMockEndpointsSatisfied();
     }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/53e9565f/components/camel-zipfile/src/test/resources/org/apache/camel/dataformat/zipfile/data/resources.zip
----------------------------------------------------------------------
diff --git a/components/camel-zipfile/src/test/resources/org/apache/camel/dataformat/zipfile/data/resources.zip b/components/camel-zipfile/src/test/resources/org/apache/camel/dataformat/zipfile/data/resources.zip
index 7ab9690..0f43245 100644
Binary files a/components/camel-zipfile/src/test/resources/org/apache/camel/dataformat/zipfile/data/resources.zip and b/components/camel-zipfile/src/test/resources/org/apache/camel/dataformat/zipfile/data/resources.zip differ