You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ja...@apache.org on 2020/03/01 09:47:01 UTC

[camel-quarkus] branch master updated (e84ac37 -> 4a91883)

This is an automated email from the ASF dual-hosted git repository.

jamesnetherton pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git.


    from e84ac37  Faked the failing test until CAMEL-14630 has been solved #775
     new da060c5  Rename the zipfile itest to compression so that it can host also test of other compression formats
     new 72e2d3c  Fix #791 #783 Zip and Gzip Deflate Compression dataformat support
     new 9acaa96  Document the additionalRuntimeDependencies option of the Quarkus create-extension mojo
     new 4a91883  Fix #788 LZF Deflate Compression dataformat support

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/workflows/pr-build.yaml                    |   2 +-
 docs/modules/ROOT/pages/contributor-guide.adoc     |   3 +
 .../pages/list-of-camel-quarkus-extensions.adoc    |   8 +-
 extensions/{gson => lzf}/deployment/pom.xml        |   8 +-
 .../component/lzf/deployment/LzfProcessor.java}    |   6 +-
 extensions/{azure => lzf}/pom.xml                  |   4 +-
 extensions/{box => lzf}/runtime/pom.xml            |   8 +-
 .../main/resources/META-INF/quarkus-extension.yaml |   2 +-
 extensions/pom.xml                                 |   4 +-
 extensions/readme.adoc                             |   8 +-
 .../{bindy => zip-deflater}/deployment/pom.xml     |   8 +-
 .../deflater/deployment/ZipDeflaterProcessor.java} |   6 +-
 extensions/{azure => zip-deflater}/pom.xml         |   4 +-
 .../{stream => zip-deflater}/runtime/pom.xml       |   9 +-
 .../main/resources/META-INF/quarkus-extension.yaml |   1 +
 .../{microprofile => compression}/pom.xml          |  16 +--
 .../compression/it/CompressionResource.java}       |  34 +++---
 .../compression/it/CompressionRouteBuilder.java}   |  23 +++-
 .../component/compression/it/CompressionIT.java}   |   4 +-
 .../component/compression/it/CompressionTest.java  |  58 ++++++++++
 integration-tests/pom.xml                          |   2 +-
 integration-tests/zipfile/pom.xml                  | 120 ---------------------
 .../quarkus/component/zipfile/it/ZipfileIT.java    |  24 -----
 .../quarkus/component/zipfile/it/ZipfileTest.java  |  57 ----------
 poms/bom-deployment/pom.xml                        |  10 ++
 poms/bom/pom.xml                                   |  20 ++++
 tooling/create-extension-templates/runtime-pom.xml |   5 +
 27 files changed, 196 insertions(+), 258 deletions(-)
 copy extensions/{gson => lzf}/deployment/pom.xml (92%)
 copy extensions/{ahc/deployment/src/main/java/org/apache/camel/quarkus/component/ahc/deployment/AhcProcessor.java => lzf/deployment/src/main/java/org/apache/camel/quarkus/component/lzf/deployment/LzfProcessor.java} (88%)
 copy extensions/{azure => lzf}/pom.xml (95%)
 copy extensions/{box => lzf}/runtime/pom.xml (93%)
 copy extensions/{zipfile => lzf}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (97%)
 copy extensions/{bindy => zip-deflater}/deployment/pom.xml (90%)
 copy extensions/{ahc-ws/deployment/src/main/java/org/apache/camel/quarkus/component/ahc/ws/deployment/AhcWsProcessor.java => zip-deflater/deployment/src/main/java/org/apache/camel/quarkus/component/zip/deflater/deployment/ZipDeflaterProcessor.java} (86%)
 copy extensions/{azure => zip-deflater}/pom.xml (94%)
 copy extensions/{stream => zip-deflater}/runtime/pom.xml (90%)
 copy extensions/{zipfile => zip-deflater}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (97%)
 copy integration-tests/{microprofile => compression}/pom.xml (89%)
 rename integration-tests/{zipfile/src/main/java/org/apache/camel/quarkus/component/zipfile/it/ZipfileResource.java => compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionResource.java} (61%)
 rename integration-tests/{zipfile/src/main/java/org/apache/camel/quarkus/component/zipfile/it/ZipfileRouteBuilder.java => compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionRouteBuilder.java} (55%)
 copy integration-tests/{bindy/src/test/java/org/apache/camel/quarkus/component/bindy/it/CsvRecordIT.java => compression/src/test/java/org/apache/camel/quarkus/component/compression/it/CompressionIT.java} (89%)
 create mode 100644 integration-tests/compression/src/test/java/org/apache/camel/quarkus/component/compression/it/CompressionTest.java
 delete mode 100644 integration-tests/zipfile/pom.xml
 delete mode 100644 integration-tests/zipfile/src/test/java/org/apache/camel/quarkus/component/zipfile/it/ZipfileIT.java
 delete mode 100644 integration-tests/zipfile/src/test/java/org/apache/camel/quarkus/component/zipfile/it/ZipfileTest.java


[camel-quarkus] 02/04: Fix #791 #783 Zip and Gzip Deflate Compression dataformat support

Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jamesnetherton pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit 72e2d3c5a8798336b6de970e3286778c836d23d3
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Fri Feb 28 15:34:43 2020 +0100

    Fix #791 #783 Zip and Gzip Deflate Compression dataformat support
---
 .../pages/list-of-camel-quarkus-extensions.adoc    |  4 +-
 extensions/pom.xml                                 |  1 +
 extensions/readme.adoc                             |  4 +-
 extensions/zip-deflater/deployment/pom.xml         | 75 +++++++++++++++++++
 .../deflater/deployment/ZipDeflaterProcessor.java  | 18 +++--
 extensions/zip-deflater/pom.xml                    | 50 +++++++++++++
 extensions/zip-deflater/runtime/pom.xml            | 83 ++++++++++++++++++++++
 .../main/resources/META-INF/quarkus-extension.yaml | 29 ++++++++
 integration-tests/compression/pom.xml              |  6 +-
 .../compression/it/CompressionResource.java        | 28 +++++---
 .../compression/it/CompressionRouteBuilder.java    |  9 ++-
 .../component/compression/it/CompressionTest.java  | 47 ++++++------
 poms/bom-deployment/pom.xml                        |  5 ++
 poms/bom/pom.xml                                   | 10 +++
 14 files changed, 326 insertions(+), 43 deletions(-)

diff --git a/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc b/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
index 9171db3..3e0fd72 100644
--- a/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
+++ b/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
@@ -307,7 +307,7 @@ Number of Camel languages: 10 in 4 JAR artifacts (0 deprecated)
 == Miscellaneous Extensions
 
 // others: START
-Number of miscellaneous extensions: 9 in 9 JAR artifacts (0 deprecated)
+Number of miscellaneous extensions: 10 in 10 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -330,5 +330,7 @@ Number of miscellaneous extensions: 9 in 9 JAR artifacts (0 deprecated)
 | xref:extensions/opentracing.adoc[camel-quarkus-opentracing]  | 0.3.0 | Distributed tracing using OpenTracing
 
 | (camel-quarkus-reactive-executor) | 0.3.0 | Reactive Executor for camel-core using Vert.x
+
+| (camel-quarkus-zip-deflater) | 1.2.0 | Camel Zip deflater dataformat
 |===
 // others: END
diff --git a/extensions/pom.xml b/extensions/pom.xml
index 2bb2d79..ad47205 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -118,6 +118,7 @@
         <module>vm</module>
         <module>xpath</module>
         <module>xslt</module>
+        <module>zip-deflater</module>
         <module>zipfile</module>
     </modules>
 
diff --git a/extensions/readme.adoc b/extensions/readme.adoc
index b565346..26a7375 100644
--- a/extensions/readme.adoc
+++ b/extensions/readme.adoc
@@ -297,7 +297,7 @@ Number of Camel languages: 10 in 4 JAR artifacts (0 deprecated)
 == Miscellaneous Extensions
 
 // others: START
-Number of miscellaneous extensions: 9 in 9 JAR artifacts (0 deprecated)
+Number of miscellaneous extensions: 10 in 10 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -320,6 +320,8 @@ Number of miscellaneous extensions: 9 in 9 JAR artifacts (0 deprecated)
 | xref:extensions/opentracing.adoc[camel-quarkus-opentracing]  | 0.3.0 | Distributed tracing using OpenTracing
 
 | (camel-quarkus-reactive-executor) | 0.3.0 | Reactive Executor for camel-core using Vert.x
+
+| (camel-quarkus-zip-deflater) | 1.2.0 | Camel Zip deflater dataformat
 |===
 // others: END
 
diff --git a/extensions/zip-deflater/deployment/pom.xml b/extensions/zip-deflater/deployment/pom.xml
new file mode 100644
index 0000000..41cfd4a
--- /dev/null
+++ b/extensions/zip-deflater/deployment/pom.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-zip-deflater-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-zip-deflater-deployment</artifactId>
+    <name>Camel Quarkus :: Zip Deflate Compression :: Deployment</name>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-bom-deployment</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-core-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-zip-deflater</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionRouteBuilder.java b/extensions/zip-deflater/deployment/src/main/java/org/apache/camel/quarkus/component/zip/deflater/deployment/ZipDeflaterProcessor.java
similarity index 68%
copy from integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionRouteBuilder.java
copy to extensions/zip-deflater/deployment/src/main/java/org/apache/camel/quarkus/component/zip/deflater/deployment/ZipDeflaterProcessor.java
index 9937999..c16e928 100644
--- a/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionRouteBuilder.java
+++ b/extensions/zip-deflater/deployment/src/main/java/org/apache/camel/quarkus/component/zip/deflater/deployment/ZipDeflaterProcessor.java
@@ -14,14 +14,18 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.component.compression.it;
+package org.apache.camel.quarkus.component.zip.deflater.deployment;
 
-import org.apache.camel.builder.RouteBuilder;
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
 
-public class CompressionRouteBuilder extends RouteBuilder {
-    @Override
-    public void configure() {
-        from("direct:start")
-                .marshal().zipFile();
+class ZipDeflaterProcessor {
+
+    private static final String FEATURE = "camel-zip-deflater";
+
+    @BuildStep
+    FeatureBuildItem feature() {
+        return new FeatureBuildItem(FEATURE);
     }
+
 }
diff --git a/extensions/zip-deflater/pom.xml b/extensions/zip-deflater/pom.xml
new file mode 100644
index 0000000..64c52c4
--- /dev/null
+++ b/extensions/zip-deflater/pom.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../../poms/build-parent/pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-zip-deflater-parent</artifactId>
+    <name>Camel Quarkus :: Zip Deflate Compression</name>
+    <packaging>pom</packaging>
+
+    <modules>
+        <module>deployment</module>
+        <module>runtime</module>
+    </modules>
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-bom-deployment</artifactId>
+                <version>${quarkus.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+</project>
diff --git a/extensions/zip-deflater/runtime/pom.xml b/extensions/zip-deflater/runtime/pom.xml
new file mode 100644
index 0000000..47a5a28
--- /dev/null
+++ b/extensions/zip-deflater/runtime/pom.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-zip-deflater-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-zip-deflater</artifactId>
+    <name>Camel Quarkus :: Zip Deflate Compression :: Runtime</name>
+    <description>Camel Zip deflater dataformat</description>
+
+    <properties>
+        <firstVersion>1.2.0</firstVersion>
+    </properties>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-zip-deflater</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-bootstrap-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/extensions/zip-deflater/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/zip-deflater/runtime/src/main/resources/META-INF/quarkus-extension.yaml
new file mode 100644
index 0000000..336c2d8
--- /dev/null
+++ b/extensions/zip-deflater/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -0,0 +1,29 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+---
+name: "Camel Quarkus Zipfile"
+description: "Camel Zip file support"
+metadata:
+  keywords:
+  - "camel"
+  - "zip"
+  - "gzip"
+  - "file"
+  guide: "https://quarkus.io/guides/camel"
+  categories:
+  - "integration"
\ No newline at end of file
diff --git a/integration-tests/compression/pom.xml b/integration-tests/compression/pom.xml
index 3f3a295..780f8e0 100644
--- a/integration-tests/compression/pom.xml
+++ b/integration-tests/compression/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-zipfile-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-zip-deflater-deployment,camel-quarkus-zipfile-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
@@ -46,6 +46,10 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-zip-deflater</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-direct</artifactId>
         </dependency>
         <dependency>
diff --git a/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionResource.java b/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionResource.java
index 7907788..af8ae3a 100644
--- a/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionResource.java
+++ b/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionResource.java
@@ -23,34 +23,44 @@ import javax.inject.Inject;
 import javax.ws.rs.Consumes;
 import javax.ws.rs.POST;
 import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 
 import org.apache.camel.ProducerTemplate;
-import org.jboss.logging.Logger;
 
 @Path("/compression")
 @ApplicationScoped
 public class CompressionResource {
 
-    private static final Logger LOG = Logger.getLogger(CompressionResource.class);
-
     @Inject
     ProducerTemplate producerTemplate;
 
-    @Path("/zipfile")
+    @Path("/compress/{format}")
     @POST
-    @Consumes(MediaType.TEXT_PLAIN)
+    @Consumes(MediaType.APPLICATION_OCTET_STREAM)
     @Produces(MediaType.APPLICATION_OCTET_STREAM)
-    public Response post(String message) throws Exception {
-        LOG.infof("Sending to zipfile: %s", message);
-        final byte[] response = producerTemplate.requestBody("direct:start", message, byte[].class);
-        LOG.infof("Got response from zipfile: %s", response);
+    public Response zipfileCompress(@PathParam("format") String format, byte[] message) throws Exception {
+        final byte[] response = producerTemplate.requestBody("direct:" + format + "-compress", message, byte[].class);
         return Response
                 .created(new URI("https://camel.apache.org/"))
                 .header("content-length", response.length)
                 .entity(response)
                 .build();
     }
+
+    @Path("/uncompress/{format}")
+    @POST
+    @Consumes(MediaType.APPLICATION_OCTET_STREAM)
+    @Produces(MediaType.APPLICATION_OCTET_STREAM)
+    public Response zipfileUncompress(@PathParam("format") String format, byte[] message) throws Exception {
+        final byte[] response = producerTemplate.requestBody("direct:" + format + "-uncompress", message, byte[].class);
+        return Response
+                .created(new URI("https://camel.apache.org/"))
+                .header("content-length", response.length)
+                .entity(response)
+                .build();
+    }
+
 }
diff --git a/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionRouteBuilder.java b/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionRouteBuilder.java
index 9937999..c14e665 100644
--- a/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionRouteBuilder.java
+++ b/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionRouteBuilder.java
@@ -21,7 +21,14 @@ import org.apache.camel.builder.RouteBuilder;
 public class CompressionRouteBuilder extends RouteBuilder {
     @Override
     public void configure() {
-        from("direct:start")
+        from("direct:zipfile-compress")
                 .marshal().zipFile();
+        from("direct:zipfile-uncompress")
+                .unmarshal().zipFile();
+
+        from("direct:zip-deflater-compress")
+                .marshal().zipDeflater();
+        from("direct:zip-deflater-uncompress")
+                .unmarshal().zipDeflater();
     }
 }
diff --git a/integration-tests/compression/src/test/java/org/apache/camel/quarkus/component/compression/it/CompressionTest.java b/integration-tests/compression/src/test/java/org/apache/camel/quarkus/component/compression/it/CompressionTest.java
index c30b279..94514da 100644
--- a/integration-tests/compression/src/test/java/org/apache/camel/quarkus/component/compression/it/CompressionTest.java
+++ b/integration-tests/compression/src/test/java/org/apache/camel/quarkus/component/compression/it/CompressionTest.java
@@ -16,42 +16,43 @@
  */
 package org.apache.camel.quarkus.component.compression.it;
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
+import java.nio.charset.StandardCharsets;
+import java.util.stream.Stream;
 
 import io.quarkus.test.junit.QuarkusTest;
 import io.restassured.RestAssured;
 import io.restassured.http.ContentType;
-import io.restassured.response.ExtractableResponse;
-import org.apache.camel.util.IOHelper;
 import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 
 @QuarkusTest
 class CompressionTest {
+    final byte[] UNCOMPRESSED = "Hello World!".getBytes(StandardCharsets.UTF_8);
 
-    @Test
-    public void test() throws Exception {
-        byte[] body;
+    private static Stream<String> listJsonDataFormatsToBeTested() {
+        return Stream.of("zipfile", "zip-deflater");
+    }
+
+    @ParameterizedTest
+    @MethodSource("listJsonDataFormatsToBeTested")
+    public void compressAndUncompress(String format) throws Exception {
 
-        ExtractableResponse response = RestAssured.given() //
-                .contentType(ContentType.TEXT).body("Hello World").post("/compression/zipfile") //
-                .then().extract();
+        final byte[] compressed = RestAssured.given()
+                .contentType(ContentType.BINARY)
+                .body(UNCOMPRESSED)
+                .post("/compression/compress/" + format) //
+                .then().extract().body().asByteArray();
 
-        body = response.body().asByteArray();
-        Assertions.assertNotNull(body);
+        Assertions.assertNotNull(compressed);
 
-        ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        ZipInputStream zis = new ZipInputStream(new ByteArrayInputStream(body));
-        ZipEntry entry = zis.getNextEntry();
-        if (entry != null) {
-            IOHelper.copy(zis, bos);
-        }
+        final byte[] uncompressed = RestAssured.given()
+                .contentType(ContentType.BINARY)
+                .body(compressed)
+                .post("/compression/uncompress/" + format) //
+                .then().extract().body().asByteArray();
 
-        String str = bos.toString();
-        Assertions.assertEquals("Hello World", str);
+        Assertions.assertArrayEquals(UNCOMPRESSED, uncompressed);
     }
 
 }
diff --git a/poms/bom-deployment/pom.xml b/poms/bom-deployment/pom.xml
index ef93076..f8e14a6 100644
--- a/poms/bom-deployment/pom.xml
+++ b/poms/bom-deployment/pom.xml
@@ -526,6 +526,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-zip-deflater-deployment</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-zipfile-deployment</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index 94e9e3e..f93a590 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -607,6 +607,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
+                <artifactId>camel-zip-deflater</artifactId>
+                <version>${camel.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel</groupId>
                 <artifactId>camel-zipfile</artifactId>
                 <version>${camel.version}</version>
             </dependency>
@@ -1089,6 +1094,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-zip-deflater</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-zipfile</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>


[camel-quarkus] 03/04: Document the additionalRuntimeDependencies option of the Quarkus create-extension mojo

Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jamesnetherton pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit 9acaa96e5a07674c215828df10eccb246439dea4
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Fri Feb 28 15:45:45 2020 +0100

    Document the additionalRuntimeDependencies option of the Quarkus create-extension mojo
---
 docs/modules/ROOT/pages/contributor-guide.adoc                       | 3 +++
 extensions/pom.xml                                                   | 2 +-
 extensions/zip-deflater/runtime/pom.xml                              | 2 +-
 .../quarkus/component/compression/it/CompressionRouteBuilder.java    | 5 +++++
 .../camel/quarkus/component/compression/it/CompressionTest.java      | 2 +-
 tooling/create-extension-templates/runtime-pom.xml                   | 5 +++++
 6 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/docs/modules/ROOT/pages/contributor-guide.adoc b/docs/modules/ROOT/pages/contributor-guide.adoc
index f551030..af65cb9 100644
--- a/docs/modules/ROOT/pages/contributor-guide.adoc
+++ b/docs/modules/ROOT/pages/contributor-guide.adoc
@@ -69,12 +69,15 @@ $ cd extensions
 $ mvn quarkus:create-extension -N \
     -Dquarkus.artifactIdBase=foo-abc \
     -Dquarkus.nameBase="Foo ABC"
+    -Dquarkus.additionalRuntimeDependencies="org.apache.camel:camel-@{quarkus.artifactIdBase}:@{$}{camel.version}"
 ----
 +
 where:
 +
 * `foo-abc` is the unique part of the new extension's `artifactId` without the `camel-quarkus-` prefix
 * `Foo ABC` is the unique part of the artifact name without the `Camel Quarkus :: ` prefix
+* `additionalRuntimeDependencies` adds the `org.apache.camel:camel-foo-abc` dependency to the runtime
+  BOM (Bill of Materials) and to the runtime module.
 +
 The `artifactId` and artifact `name` prefixes and suffixes are added automatically by the plugin.
 +
diff --git a/extensions/pom.xml b/extensions/pom.xml
index ad47205..caaec22 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -155,7 +155,7 @@
                 <!-- Settings for stubbing new extensions. E.g. to add a new extension to support an imaginary
                      Camel Foo ABC component, you would run
 
-                       mvn quarkus:create-extension -N -Dquarkus.artifactIdBase=foo-abc -Dquarkus.nameBase="Foo ABC"
+                       mvn quarkus:create-extension -N -Dquarkus.artifactIdBase=foo-abc -Dquarkus.nameBase="Foo ABC" -Dquarkus.additionalRuntimeDependencies="org.apache.camel:camel-@{quarkus.artifactIdBase}:@{$}{camel.version}"
 
                      -Dquarkus.nameBase is optional. If you do not specify it, the plugin will derive it from
                      artifactIdBase by replacing dashes with spaces and capitalizing the first letter of each token.
diff --git a/extensions/zip-deflater/runtime/pom.xml b/extensions/zip-deflater/runtime/pom.xml
index 47a5a28..7a216af 100644
--- a/extensions/zip-deflater/runtime/pom.xml
+++ b/extensions/zip-deflater/runtime/pom.xml
@@ -30,7 +30,7 @@
 
     <artifactId>camel-quarkus-zip-deflater</artifactId>
     <name>Camel Quarkus :: Zip Deflate Compression :: Runtime</name>
-    <description>Camel Zip deflater dataformat</description>
+    <description>Camel dataformat for Gzip and Zip marshalling and unmarshalling</description>
 
     <properties>
         <firstVersion>1.2.0</firstVersion>
diff --git a/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionRouteBuilder.java b/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionRouteBuilder.java
index c14e665..b5e2fab 100644
--- a/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionRouteBuilder.java
+++ b/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionRouteBuilder.java
@@ -30,5 +30,10 @@ public class CompressionRouteBuilder extends RouteBuilder {
                 .marshal().zipDeflater();
         from("direct:zip-deflater-uncompress")
                 .unmarshal().zipDeflater();
+
+        from("direct:gzip-deflater-compress")
+                .marshal().gzipDeflater();
+        from("direct:gzip-deflater-uncompress")
+                .unmarshal().gzipDeflater();
     }
 }
diff --git a/integration-tests/compression/src/test/java/org/apache/camel/quarkus/component/compression/it/CompressionTest.java b/integration-tests/compression/src/test/java/org/apache/camel/quarkus/component/compression/it/CompressionTest.java
index 94514da..49c549e 100644
--- a/integration-tests/compression/src/test/java/org/apache/camel/quarkus/component/compression/it/CompressionTest.java
+++ b/integration-tests/compression/src/test/java/org/apache/camel/quarkus/component/compression/it/CompressionTest.java
@@ -31,7 +31,7 @@ class CompressionTest {
     final byte[] UNCOMPRESSED = "Hello World!".getBytes(StandardCharsets.UTF_8);
 
     private static Stream<String> listJsonDataFormatsToBeTested() {
-        return Stream.of("zipfile", "zip-deflater");
+        return Stream.of("zipfile", "zip-deflater", "gzip-deflater");
     }
 
     @ParameterizedTest
diff --git a/tooling/create-extension-templates/runtime-pom.xml b/tooling/create-extension-templates/runtime-pom.xml
index 5cffa5a..c3e8a56 100644
--- a/tooling/create-extension-templates/runtime-pom.xml
+++ b/tooling/create-extension-templates/runtime-pom.xml
@@ -52,6 +52,11 @@
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-core</artifactId>
         </dependency>
+[#list additionalRuntimeDependencies as gav]        <dependency>
+            <groupId>[=gav.groupId]</groupId>
+            <artifactId>[=gav.artifactId]</artifactId>
+        </dependency>
+[/#list]
     </dependencies>
 
     <build>


[camel-quarkus] 04/04: Fix #788 LZF Deflate Compression dataformat support

Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jamesnetherton pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit 4a918831d9a66e48200e0bbb1e571b1e7d825a18
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Fri Feb 28 16:33:25 2020 +0100

    Fix #788 LZF Deflate Compression dataformat support
---
 .../pages/list-of-camel-quarkus-extensions.adoc    | 12 ++--
 extensions/lzf/deployment/pom.xml                  | 75 ++++++++++++++++++++
 .../component/lzf/deployment/LzfProcessor.java     | 26 +++----
 extensions/lzf/pom.xml                             | 50 +++++++++++++
 extensions/lzf/runtime/pom.xml                     | 82 ++++++++++++++++++++++
 .../main/resources/META-INF/quarkus-extension.yaml | 28 ++++++++
 extensions/pom.xml                                 |  1 +
 extensions/readme.adoc                             | 12 ++--
 integration-tests/compression/pom.xml              |  6 +-
 .../compression/it/CompressionRouteBuilder.java    |  5 ++
 .../component/compression/it/CompressionTest.java  |  2 +-
 poms/bom-deployment/pom.xml                        |  5 ++
 poms/bom/pom.xml                                   | 10 +++
 13 files changed, 287 insertions(+), 27 deletions(-)

diff --git a/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc b/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
index 3e0fd72..e6b05ae 100644
--- a/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
+++ b/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
@@ -237,7 +237,7 @@ Number of Camel components: 69 in 59 JAR artifacts (0 deprecated)
 == Camel Data Formats
 
 // dataformats: START
-Number of Camel data formats: 14 in 11 JAR artifacts (0 deprecated)
+Number of Camel data formats: 17 in 13 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -257,10 +257,14 @@ Number of Camel data formats: 14 in 11 JAR artifacts (0 deprecated)
 
 | xref:extensions/fhir.adoc[FHIR XML] (camel-quarkus-fhir) | 0.3.0 | The FHIR XML data format is used to marshall/unmarshall from/to FHIR objects to/from XML.
 
+| link:https://camel.apache.org/components/latest/gzipdeflater-dataformat.html[GZip Deflater] (camel-quarkus-zip-deflater) | 1.2.0 | The GZip data format is a message compression and de-compression format (which works with the popular gzip/gunzip tools).
+
 | link:https://camel.apache.org/components/latest/json-gson-dataformat.html[JSon GSon] (camel-quarkus-gson) | 1.0.0 | JSon data format is used for unmarshal a JSon payload to POJO or to marshal POJO back to JSon payload.
 
 | link:https://camel.apache.org/components/latest/json-jackson-dataformat.html[JSon Jackson] (camel-quarkus-jackson) | 0.3.0 | JSon data format is used for unmarshal a JSon payload to POJO or to marshal POJO back to JSon payload.
 
+| link:https://camel.apache.org/components/latest/lzf-dataformat.html[LZF Deflate Compression] (camel-quarkus-lzf) | 1.2.0 | The LZF data format is a message compression and de-compression format (uses the LZF deflate algorithm).
+
 | link:https://camel.apache.org/components/latest/mime-multipart-dataformat.html[MIME Multipart] (camel-quarkus-mail) | 0.2.0 | The MIME Multipart data format is used for marshalling Camel messages with attachments into MIME-Multipart message, and vise-versa.
 
 | link:https://camel.apache.org/components/latest/tarfile-dataformat.html[Tar File] (camel-quarkus-tarfile) | 0.3.0 | The Tar File data format is a message compression and de-compression format of tar files.
@@ -269,6 +273,8 @@ Number of Camel data formats: 14 in 11 JAR artifacts (0 deprecated)
 
 | link:https://camel.apache.org/components/latest/yaml-snakeyaml-dataformat.html[YAML SnakeYAML] (camel-quarkus-snakeyaml) | 0.4.0 | YAML is a data format to marshal and unmarshal Java objects to and from YAML.
 
+| link:https://camel.apache.org/components/latest/zipdeflater-dataformat.html[Zip Deflate Compression] (camel-quarkus-zip-deflater) | 1.2.0 | Zip Deflate Compression data format is a message compression and de-compression format (not zip files).
+
 | link:https://camel.apache.org/components/latest/zipfile-dataformat.html[Zip File] (camel-quarkus-zipfile) | 0.2.0 | The Zip File data format is a message compression and de-compression format of zip files.
 |===
 // dataformats: END
@@ -307,7 +313,7 @@ Number of Camel languages: 10 in 4 JAR artifacts (0 deprecated)
 == Miscellaneous Extensions
 
 // others: START
-Number of miscellaneous extensions: 10 in 10 JAR artifacts (0 deprecated)
+Number of miscellaneous extensions: 9 in 9 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -330,7 +336,5 @@ Number of miscellaneous extensions: 10 in 10 JAR artifacts (0 deprecated)
 | xref:extensions/opentracing.adoc[camel-quarkus-opentracing]  | 0.3.0 | Distributed tracing using OpenTracing
 
 | (camel-quarkus-reactive-executor) | 0.3.0 | Reactive Executor for camel-core using Vert.x
-
-| (camel-quarkus-zip-deflater) | 1.2.0 | Camel Zip deflater dataformat
 |===
 // others: END
diff --git a/extensions/lzf/deployment/pom.xml b/extensions/lzf/deployment/pom.xml
new file mode 100644
index 0000000..da616e9
--- /dev/null
+++ b/extensions/lzf/deployment/pom.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-lzf-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-lzf-deployment</artifactId>
+    <name>Camel Quarkus :: LZF :: Deployment</name>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-bom-deployment</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-core-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-lzf</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionRouteBuilder.java b/extensions/lzf/deployment/src/main/java/org/apache/camel/quarkus/component/lzf/deployment/LzfProcessor.java
similarity index 52%
copy from integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionRouteBuilder.java
copy to extensions/lzf/deployment/src/main/java/org/apache/camel/quarkus/component/lzf/deployment/LzfProcessor.java
index b5e2fab..9125dfc 100644
--- a/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionRouteBuilder.java
+++ b/extensions/lzf/deployment/src/main/java/org/apache/camel/quarkus/component/lzf/deployment/LzfProcessor.java
@@ -14,26 +14,18 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.component.compression.it;
+package org.apache.camel.quarkus.component.lzf.deployment;
 
-import org.apache.camel.builder.RouteBuilder;
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
 
-public class CompressionRouteBuilder extends RouteBuilder {
-    @Override
-    public void configure() {
-        from("direct:zipfile-compress")
-                .marshal().zipFile();
-        from("direct:zipfile-uncompress")
-                .unmarshal().zipFile();
+class LzfProcessor {
 
-        from("direct:zip-deflater-compress")
-                .marshal().zipDeflater();
-        from("direct:zip-deflater-uncompress")
-                .unmarshal().zipDeflater();
+    private static final String FEATURE = "camel-lzf";
 
-        from("direct:gzip-deflater-compress")
-                .marshal().gzipDeflater();
-        from("direct:gzip-deflater-uncompress")
-                .unmarshal().gzipDeflater();
+    @BuildStep
+    FeatureBuildItem feature() {
+        return new FeatureBuildItem(FEATURE);
     }
+
 }
diff --git a/extensions/lzf/pom.xml b/extensions/lzf/pom.xml
new file mode 100644
index 0000000..23acb39
--- /dev/null
+++ b/extensions/lzf/pom.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../../poms/build-parent/pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-lzf-parent</artifactId>
+    <name>Camel Quarkus :: LZF</name>
+    <packaging>pom</packaging>
+
+    <modules>
+        <module>deployment</module>
+        <module>runtime</module>
+    </modules>
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-bom-deployment</artifactId>
+                <version>${quarkus.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+</project>
diff --git a/extensions/lzf/runtime/pom.xml b/extensions/lzf/runtime/pom.xml
new file mode 100644
index 0000000..f64569b
--- /dev/null
+++ b/extensions/lzf/runtime/pom.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-lzf-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-lzf</artifactId>
+    <name>Camel Quarkus :: LZF :: Runtime</name>
+
+    <properties>
+        <firstVersion>1.2.0</firstVersion>
+    </properties>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-lzf</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-bootstrap-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/extensions/lzf/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/lzf/runtime/src/main/resources/META-INF/quarkus-extension.yaml
new file mode 100644
index 0000000..26a9105
--- /dev/null
+++ b/extensions/lzf/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -0,0 +1,28 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+---
+name: "Camel Quarkus Zipfile"
+description: "Camel Zip file support"
+metadata:
+  keywords:
+  - "camel"
+  - "lzf"
+  - "file"
+  guide: "https://quarkus.io/guides/camel"
+  categories:
+  - "integration"
\ No newline at end of file
diff --git a/extensions/pom.xml b/extensions/pom.xml
index caaec22..b507899 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -86,6 +86,7 @@
         <module>kafka</module>
         <module>kotlin</module>
         <module>log</module>
+        <module>lzf</module>
         <module>mail</module>
         <module>microprofile-health</module>
         <module>microprofile-metrics</module>
diff --git a/extensions/readme.adoc b/extensions/readme.adoc
index 26a7375..a5cb2d7 100644
--- a/extensions/readme.adoc
+++ b/extensions/readme.adoc
@@ -225,7 +225,7 @@ Number of Camel components: 69 in 59 JAR artifacts (0 deprecated)
 == Camel Data Formats
 
 // dataformats: START
-Number of Camel data formats: 14 in 11 JAR artifacts (0 deprecated)
+Number of Camel data formats: 17 in 13 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -245,10 +245,14 @@ Number of Camel data formats: 14 in 11 JAR artifacts (0 deprecated)
 
 | xref:extensions/fhir.adoc[FHIR XML] (camel-quarkus-fhir) | 0.3.0 | The FHIR XML data format is used to marshall/unmarshall from/to FHIR objects to/from XML.
 
+| link:https://camel.apache.org/components/latest/gzipdeflater-dataformat.html[GZip Deflater] (camel-quarkus-zip-deflater) | 1.2.0 | The GZip data format is a message compression and de-compression format (which works with the popular gzip/gunzip tools).
+
 | link:https://camel.apache.org/components/latest/json-gson-dataformat.html[JSon GSon] (camel-quarkus-gson) | 1.0.0 | JSon data format is used for unmarshal a JSon payload to POJO or to marshal POJO back to JSon payload.
 
 | link:https://camel.apache.org/components/latest/json-jackson-dataformat.html[JSon Jackson] (camel-quarkus-jackson) | 0.3.0 | JSon data format is used for unmarshal a JSon payload to POJO or to marshal POJO back to JSon payload.
 
+| link:https://camel.apache.org/components/latest/lzf-dataformat.html[LZF Deflate Compression] (camel-quarkus-lzf) | 1.2.0 | The LZF data format is a message compression and de-compression format (uses the LZF deflate algorithm).
+
 | link:https://camel.apache.org/components/latest/mime-multipart-dataformat.html[MIME Multipart] (camel-quarkus-mail) | 0.2.0 | The MIME Multipart data format is used for marshalling Camel messages with attachments into MIME-Multipart message, and vise-versa.
 
 | link:https://camel.apache.org/components/latest/tarfile-dataformat.html[Tar File] (camel-quarkus-tarfile) | 0.3.0 | The Tar File data format is a message compression and de-compression format of tar files.
@@ -257,6 +261,8 @@ Number of Camel data formats: 14 in 11 JAR artifacts (0 deprecated)
 
 | link:https://camel.apache.org/components/latest/yaml-snakeyaml-dataformat.html[YAML SnakeYAML] (camel-quarkus-snakeyaml) | 0.4.0 | YAML is a data format to marshal and unmarshal Java objects to and from YAML.
 
+| link:https://camel.apache.org/components/latest/zipdeflater-dataformat.html[Zip Deflate Compression] (camel-quarkus-zip-deflater) | 1.2.0 | Zip Deflate Compression data format is a message compression and de-compression format (not zip files).
+
 | link:https://camel.apache.org/components/latest/zipfile-dataformat.html[Zip File] (camel-quarkus-zipfile) | 0.2.0 | The Zip File data format is a message compression and de-compression format of zip files.
 |===
 // dataformats: END
@@ -297,7 +303,7 @@ Number of Camel languages: 10 in 4 JAR artifacts (0 deprecated)
 == Miscellaneous Extensions
 
 // others: START
-Number of miscellaneous extensions: 10 in 10 JAR artifacts (0 deprecated)
+Number of miscellaneous extensions: 9 in 9 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -320,8 +326,6 @@ Number of miscellaneous extensions: 10 in 10 JAR artifacts (0 deprecated)
 | xref:extensions/opentracing.adoc[camel-quarkus-opentracing]  | 0.3.0 | Distributed tracing using OpenTracing
 
 | (camel-quarkus-reactive-executor) | 0.3.0 | Reactive Executor for camel-core using Vert.x
-
-| (camel-quarkus-zip-deflater) | 1.2.0 | Camel Zip deflater dataformat
 |===
 // others: END
 
diff --git a/integration-tests/compression/pom.xml b/integration-tests/compression/pom.xml
index 780f8e0..ed9fe26 100644
--- a/integration-tests/compression/pom.xml
+++ b/integration-tests/compression/pom.xml
@@ -36,7 +36,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-zip-deflater-deployment,camel-quarkus-zipfile-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-lzf-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-zip-deflater-deployment,camel-quarkus-zipfile-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
@@ -50,6 +50,10 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-lzf</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-direct</artifactId>
         </dependency>
         <dependency>
diff --git a/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionRouteBuilder.java b/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionRouteBuilder.java
index b5e2fab..ff78504 100644
--- a/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionRouteBuilder.java
+++ b/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionRouteBuilder.java
@@ -35,5 +35,10 @@ public class CompressionRouteBuilder extends RouteBuilder {
                 .marshal().gzipDeflater();
         from("direct:gzip-deflater-uncompress")
                 .unmarshal().gzipDeflater();
+
+        from("direct:lzf-compress")
+                .marshal().gzipDeflater();
+        from("direct:lzf-uncompress")
+                .unmarshal().gzipDeflater();
     }
 }
diff --git a/integration-tests/compression/src/test/java/org/apache/camel/quarkus/component/compression/it/CompressionTest.java b/integration-tests/compression/src/test/java/org/apache/camel/quarkus/component/compression/it/CompressionTest.java
index 49c549e..69199ae 100644
--- a/integration-tests/compression/src/test/java/org/apache/camel/quarkus/component/compression/it/CompressionTest.java
+++ b/integration-tests/compression/src/test/java/org/apache/camel/quarkus/component/compression/it/CompressionTest.java
@@ -31,7 +31,7 @@ class CompressionTest {
     final byte[] UNCOMPRESSED = "Hello World!".getBytes(StandardCharsets.UTF_8);
 
     private static Stream<String> listJsonDataFormatsToBeTested() {
-        return Stream.of("zipfile", "zip-deflater", "gzip-deflater");
+        return Stream.of("zipfile", "zip-deflater", "gzip-deflater", "lzf");
     }
 
     @ParameterizedTest
diff --git a/poms/bom-deployment/pom.xml b/poms/bom-deployment/pom.xml
index f8e14a6..5b82a5c 100644
--- a/poms/bom-deployment/pom.xml
+++ b/poms/bom-deployment/pom.xml
@@ -296,6 +296,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-lzf-deployment</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-mail-deployment</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index f93a590..b68ee80 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -376,6 +376,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
+                <artifactId>camel-lzf</artifactId>
+                <version>${camel.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel</groupId>
                 <artifactId>camel-mail</artifactId>
                 <version>${camel.version}</version>
             </dependency>
@@ -864,6 +869,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-lzf</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-mail</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>


[camel-quarkus] 01/04: Rename the zipfile itest to compression so that it can host also test of other compression formats

Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jamesnetherton pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit da060c568b2e0045ec23d814b4d2c04e5a9f09bd
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Fri Feb 28 13:56:43 2020 +0100

    Rename the zipfile itest to compression so that it can host also test of
    other compression formats
---
 .github/workflows/pr-build.yaml                                |  2 +-
 integration-tests/{zipfile => compression}/pom.xml             |  6 +++---
 .../quarkus/component/compression/it/CompressionResource.java} | 10 +++++-----
 .../component/compression/it/CompressionRouteBuilder.java}     |  4 ++--
 .../camel/quarkus/component/compression/it/CompressionIT.java} |  4 ++--
 .../quarkus/component/compression/it/CompressionTest.java}     |  6 +++---
 integration-tests/pom.xml                                      |  2 +-
 7 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/.github/workflows/pr-build.yaml b/.github/workflows/pr-build.yaml
index a1a2414..ae5a703 100644
--- a/.github/workflows/pr-build.yaml
+++ b/.github/workflows/pr-build.yaml
@@ -378,7 +378,7 @@ jobs:
             -pl :camel-quarkus-integration-test-telegram \
             -pl :camel-quarkus-integration-test-tarfile \
             -pl :camel-quarkus-integration-test-validator \
-            -pl :camel-quarkus-integration-test-zipfile
+            -pl :camel-quarkus-integration-test-compression
   saas:
     runs-on: ubuntu-latest
     needs: build
diff --git a/integration-tests/zipfile/pom.xml b/integration-tests/compression/pom.xml
similarity index 95%
rename from integration-tests/zipfile/pom.xml
rename to integration-tests/compression/pom.xml
index cde9176..3f3a295 100644
--- a/integration-tests/zipfile/pom.xml
+++ b/integration-tests/compression/pom.xml
@@ -25,9 +25,9 @@
         <version>1.1.0-SNAPSHOT</version>
     </parent>
 
-    <artifactId>camel-quarkus-integration-test-zipfile</artifactId>
-    <name>Camel Quarkus :: Integration Tests :: Zipfile</name>
-    <description>Integration tests for Camel Quarkus zipfile extension</description>
+    <artifactId>camel-quarkus-integration-test-compression</artifactId>
+    <name>Camel Quarkus :: Integration Tests :: Compression</name>
+    <description>Integration tests for various compression related extensions</description>
 
     <properties>
         <!-- mvnd, a.k.a. Maven Daemon: https://github.com/gnodet/mvnd -->
diff --git a/integration-tests/zipfile/src/main/java/org/apache/camel/quarkus/component/zipfile/it/ZipfileResource.java b/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionResource.java
similarity index 89%
rename from integration-tests/zipfile/src/main/java/org/apache/camel/quarkus/component/zipfile/it/ZipfileResource.java
rename to integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionResource.java
index 4707262..7907788 100644
--- a/integration-tests/zipfile/src/main/java/org/apache/camel/quarkus/component/zipfile/it/ZipfileResource.java
+++ b/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionResource.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.component.zipfile.it;
+package org.apache.camel.quarkus.component.compression.it;
 
 import java.net.URI;
 
@@ -30,16 +30,16 @@ import javax.ws.rs.core.Response;
 import org.apache.camel.ProducerTemplate;
 import org.jboss.logging.Logger;
 
-@Path("/zipfile")
+@Path("/compression")
 @ApplicationScoped
-public class ZipfileResource {
+public class CompressionResource {
 
-    private static final Logger LOG = Logger.getLogger(ZipfileResource.class);
+    private static final Logger LOG = Logger.getLogger(CompressionResource.class);
 
     @Inject
     ProducerTemplate producerTemplate;
 
-    @Path("/post")
+    @Path("/zipfile")
     @POST
     @Consumes(MediaType.TEXT_PLAIN)
     @Produces(MediaType.APPLICATION_OCTET_STREAM)
diff --git a/integration-tests/zipfile/src/main/java/org/apache/camel/quarkus/component/zipfile/it/ZipfileRouteBuilder.java b/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionRouteBuilder.java
similarity index 89%
rename from integration-tests/zipfile/src/main/java/org/apache/camel/quarkus/component/zipfile/it/ZipfileRouteBuilder.java
rename to integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionRouteBuilder.java
index a377e69..9937999 100644
--- a/integration-tests/zipfile/src/main/java/org/apache/camel/quarkus/component/zipfile/it/ZipfileRouteBuilder.java
+++ b/integration-tests/compression/src/main/java/org/apache/camel/quarkus/component/compression/it/CompressionRouteBuilder.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.component.zipfile.it;
+package org.apache.camel.quarkus.component.compression.it;
 
 import org.apache.camel.builder.RouteBuilder;
 
-public class ZipfileRouteBuilder extends RouteBuilder {
+public class CompressionRouteBuilder extends RouteBuilder {
     @Override
     public void configure() {
         from("direct:start")
diff --git a/integration-tests/zipfile/src/test/java/org/apache/camel/quarkus/component/zipfile/it/ZipfileIT.java b/integration-tests/compression/src/test/java/org/apache/camel/quarkus/component/compression/it/CompressionIT.java
similarity index 89%
rename from integration-tests/zipfile/src/test/java/org/apache/camel/quarkus/component/zipfile/it/ZipfileIT.java
rename to integration-tests/compression/src/test/java/org/apache/camel/quarkus/component/compression/it/CompressionIT.java
index 8223cb6..35b3df9 100644
--- a/integration-tests/zipfile/src/test/java/org/apache/camel/quarkus/component/zipfile/it/ZipfileIT.java
+++ b/integration-tests/compression/src/test/java/org/apache/camel/quarkus/component/compression/it/CompressionIT.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.component.zipfile.it;
+package org.apache.camel.quarkus.component.compression.it;
 
 import io.quarkus.test.junit.NativeImageTest;
 
 @NativeImageTest
-class ZipfileIT extends ZipfileTest {
+class CompressionIT extends CompressionTest {
 
 }
diff --git a/integration-tests/zipfile/src/test/java/org/apache/camel/quarkus/component/zipfile/it/ZipfileTest.java b/integration-tests/compression/src/test/java/org/apache/camel/quarkus/component/compression/it/CompressionTest.java
similarity index 94%
rename from integration-tests/zipfile/src/test/java/org/apache/camel/quarkus/component/zipfile/it/ZipfileTest.java
rename to integration-tests/compression/src/test/java/org/apache/camel/quarkus/component/compression/it/CompressionTest.java
index c50f1ac..c30b279 100644
--- a/integration-tests/zipfile/src/test/java/org/apache/camel/quarkus/component/zipfile/it/ZipfileTest.java
+++ b/integration-tests/compression/src/test/java/org/apache/camel/quarkus/component/compression/it/CompressionTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.component.zipfile.it;
+package org.apache.camel.quarkus.component.compression.it;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
@@ -30,14 +30,14 @@ import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
 @QuarkusTest
-class ZipfileTest {
+class CompressionTest {
 
     @Test
     public void test() throws Exception {
         byte[] body;
 
         ExtractableResponse response = RestAssured.given() //
-                .contentType(ContentType.TEXT).body("Hello World").post("/zipfile/post") //
+                .contentType(ContentType.TEXT).body("Hello World").post("/compression/zipfile") //
                 .then().extract();
 
         body = response.body().asByteArray();
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index f598207..af074ea 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -177,6 +177,7 @@
         <module>bindy</module>
         <module>box</module>
         <module>braintree</module>
+        <module>compression</module>
         <module>consul</module>
         <module>controlbus</module>
         <module>csv</module>
@@ -219,7 +220,6 @@
         <module>twitter</module>
         <module>validator</module>
         <module>xml</module>
-        <module>zipfile</module>
     </modules>
 
     <build>