You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pp...@apache.org on 2020/03/24 06:55:54 UTC

[camel-quarkus] branch master updated (b0600f9 -> bc1343f)

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

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


    from b0600f9  Added config options to select resources for inclusion in native executable #868
     new 08d376d  Fix #958 AWS Simple Workflow (JVM only)
     new bc1343f  Fix #959 AWS SimpleDB support (JVM only)

The 2 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:
 .../pages/list-of-camel-quarkus-extensions.adoc    | 10 ++++++-
 .../aws-sdb}/deployment/pom.xml                    | 12 ++++-----
 .../aws/sdb/deployment/AwsSdbProcessor.java}       |  9 +++----
 .../{aws2-mq => aws-sdb}/integration-test/pom.xml  | 12 ++++-----
 .../component/aws/sdb/it/AwsSdbResource.java}      | 20 +++++++-------
 .../quarkus/component/aws/sdb/it/AwsSdbTest.java}  |  8 +++---
 extensions-jvm/{aws2-eks => aws-sdb}/pom.xml       |  4 +--
 .../aws-sdb}/runtime/pom.xml                       | 17 +++++++-----
 .../main/resources/META-INF/quarkus-extension.yaml |  7 ++---
 .../aws-swf}/deployment/pom.xml                    | 12 ++++-----
 .../aws/swf/deployment/AwsSwfProcessor.java}       |  9 +++----
 .../{aws2-mq => aws-swf}/integration-test/pom.xml  | 12 ++++-----
 .../component/aws/swf/it/AwsSwfResource.java}      | 20 +++++++-------
 .../quarkus/component/aws/swf/it/AwsSwfTest.java}  |  8 +++---
 extensions-jvm/{aws2-cw => aws-swf}/pom.xml        |  4 +--
 .../aws-swf}/runtime/pom.xml                       | 27 ++++++++-----------
 .../main/resources/META-INF/quarkus-extension.yaml |  8 +++---
 extensions-jvm/pom.xml                             |  2 ++
 pom.xml                                            |  2 ++
 poms/bom-deployment/pom.xml                        | 10 +++++++
 poms/bom/pom.xml                                   | 31 ++++++++++++++++++++++
 21 files changed, 147 insertions(+), 97 deletions(-)
 copy {extensions/google-mail => extensions-jvm/aws-sdb}/deployment/pom.xml (87%)
 copy extensions-jvm/{pubnub/deployment/src/main/java/org/apache/camel/quarkus/component/pubnub/deployment/PubnubProcessor.java => aws-sdb/deployment/src/main/java/org/apache/camel/quarkus/component/aws/sdb/deployment/AwsSdbProcessor.java} (88%)
 copy extensions-jvm/{aws2-mq => aws-sdb}/integration-test/pom.xml (88%)
 copy extensions-jvm/{aws2-mq/integration-test/src/main/java/org/apache/camel/quarkus/component/aws2/mq/it/Aws2MqResource.java => aws-sdb/integration-test/src/main/java/org/apache/camel/quarkus/component/aws/sdb/it/AwsSdbResource.java} (75%)
 copy extensions-jvm/{aws2-cw/integration-test/src/test/java/org/apache/camel/quarkus/component/aws2/cw/it/Aws2CwTest.java => aws-sdb/integration-test/src/test/java/org/apache/camel/quarkus/component/aws/sdb/it/AwsSdbTest.java} (85%)
 copy extensions-jvm/{aws2-eks => aws-sdb}/pom.xml (93%)
 copy {extensions/slack => extensions-jvm/aws-sdb}/runtime/pom.xml (82%)
 copy extensions-jvm/{nitrite => aws-sdb}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (82%)
 copy {extensions/google-mail => extensions-jvm/aws-swf}/deployment/pom.xml (87%)
 copy extensions-jvm/{pubnub/deployment/src/main/java/org/apache/camel/quarkus/component/pubnub/deployment/PubnubProcessor.java => aws-swf/deployment/src/main/java/org/apache/camel/quarkus/component/aws/swf/deployment/AwsSwfProcessor.java} (88%)
 copy extensions-jvm/{aws2-mq => aws-swf}/integration-test/pom.xml (87%)
 copy extensions-jvm/{aws2-mq/integration-test/src/main/java/org/apache/camel/quarkus/component/aws2/mq/it/Aws2MqResource.java => aws-swf/integration-test/src/main/java/org/apache/camel/quarkus/component/aws/swf/it/AwsSwfResource.java} (75%)
 copy extensions-jvm/{aws2-cw/integration-test/src/test/java/org/apache/camel/quarkus/component/aws2/cw/it/Aws2CwTest.java => aws-swf/integration-test/src/test/java/org/apache/camel/quarkus/component/aws/swf/it/AwsSwfTest.java} (85%)
 copy extensions-jvm/{aws2-cw => aws-swf}/pom.xml (93%)
 copy {extensions/aws-iam => extensions-jvm/aws-swf}/runtime/pom.xml (80%)
 copy extensions-jvm/{aws2-mq => aws-swf}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (81%)


[camel-quarkus] 02/02: Fix #959 AWS SimpleDB support (JVM only)

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

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

commit bc1343f0696c3ff4cb832443a88a1699556e0358
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Mon Mar 23 21:33:36 2020 +0100

    Fix #959 AWS SimpleDB support (JVM only)
---
 .../pages/list-of-camel-quarkus-extensions.adoc    |  6 +-
 extensions-jvm/aws-sdb/deployment/pom.xml          | 83 ++++++++++++++++++
 .../aws/sdb/deployment/AwsSdbProcessor.java        | 46 ++++++++++
 extensions-jvm/aws-sdb/integration-test/pom.xml    | 82 ++++++++++++++++++
 .../component/aws/sdb/it/AwsSdbResource.java       | 51 ++++++++++++
 .../quarkus/component/aws/sdb/it/AwsSdbTest.java   | 34 ++++++++
 extensions-jvm/aws-sdb/pom.xml                     | 40 +++++++++
 extensions-jvm/aws-sdb/runtime/pom.xml             | 97 ++++++++++++++++++++++
 .../main/resources/META-INF/quarkus-extension.yaml | 30 +++++++
 extensions-jvm/pom.xml                             |  1 +
 poms/bom-deployment/pom.xml                        |  5 ++
 poms/bom/pom.xml                                   | 10 +++
 12 files changed, 484 insertions(+), 1 deletion(-)

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 5b05d61..2b8fb7c 100644
--- a/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
+++ b/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
@@ -18,7 +18,7 @@ In case you are missing some Camel feature in the list:
 == Camel Components
 
 // components: START
-Number of Camel components: 123 in 103 JAR artifacts (0 deprecated)
+Number of Camel components: 124 in 104 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,1,5",options="header"]
 |===
@@ -141,6 +141,10 @@ Level | Since | Description
 `aws-swf:type` | JVM +
  Preview | 1.0.0-M6 | The aws-swf component is used for managing workflows from Amazon Simple Workflow.
 
+| link:https://camel.apache.org/components/latest/aws-sdb-component.html[AWS SimpleDB] (camel-quarkus-aws-sdb) +
+`aws-sdb:domainName` | JVM +
+ Preview | 1.0.0-M6 | The aws-sdb component is for storing and retrieving data from/to Amazon's SDB service.
+
 | link:https://camel.apache.org/components/latest/aws-translate-component.html[AWS Translate] (camel-quarkus-aws-translate) +
 `aws-translate:label` | Native +
  Stable | 1.0.0-M3 | The aws-translate component is used for managing Amazon Translate
diff --git a/extensions-jvm/aws-sdb/deployment/pom.xml b/extensions-jvm/aws-sdb/deployment/pom.xml
new file mode 100644
index 0000000..5c6f972
--- /dev/null
+++ b/extensions-jvm/aws-sdb/deployment/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-aws-sdb-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-aws-sdb-deployment</artifactId>
+    <name>Camel Quarkus :: AWS SimpleDB :: 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-support-commons-logging-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-support-aws-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-aws-sdb</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/extensions-jvm/aws-sdb/deployment/src/main/java/org/apache/camel/quarkus/component/aws/sdb/deployment/AwsSdbProcessor.java b/extensions-jvm/aws-sdb/deployment/src/main/java/org/apache/camel/quarkus/component/aws/sdb/deployment/AwsSdbProcessor.java
new file mode 100644
index 0000000..9e6856c
--- /dev/null
+++ b/extensions-jvm/aws-sdb/deployment/src/main/java/org/apache/camel/quarkus/component/aws/sdb/deployment/AwsSdbProcessor.java
@@ -0,0 +1,46 @@
+/*
+ * 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.
+ */
+package org.apache.camel.quarkus.component.aws.sdb.deployment;
+
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.annotations.ExecutionTime;
+import io.quarkus.deployment.annotations.Record;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
+import io.quarkus.deployment.pkg.steps.NativeBuild;
+import org.apache.camel.quarkus.core.JvmOnlyRecorder;
+import org.jboss.logging.Logger;
+
+class AwsSdbProcessor {
+
+    private static final Logger LOG = Logger.getLogger(AwsSdbProcessor.class);
+    private static final String FEATURE = "camel-aws-sdb";
+
+    @BuildStep
+    FeatureBuildItem feature() {
+        return new FeatureBuildItem(FEATURE);
+    }
+
+    /**
+     * Remove this once this extension starts supporting the native mode.
+     */
+    @BuildStep(onlyIf = NativeBuild.class)
+    @Record(value = ExecutionTime.RUNTIME_INIT)
+    void warnJvmInNative(JvmOnlyRecorder recorder) {
+        JvmOnlyRecorder.warnJvmInNative(LOG, FEATURE); // warn at build time
+        recorder.warnJvmInNative(FEATURE); // warn at runtime
+    }
+}
diff --git a/extensions-jvm/aws-sdb/integration-test/pom.xml b/extensions-jvm/aws-sdb/integration-test/pom.xml
new file mode 100644
index 0000000..0c8b19e
--- /dev/null
+++ b/extensions-jvm/aws-sdb/integration-test/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-aws-sdb-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>camel-quarkus-aws-sdb-integration-test</artifactId>
+    <name>Camel Quarkus :: AWS SimpleDB :: Integration Test</name>
+    <description>Integration tests for Camel Quarkus AWS SimpleDB extension</description>
+
+    <properties>
+        <!-- mvnd, a.k.a. Maven Daemon: https://github.com/gnodet/mvnd -->
+        <!-- The following rule tells mvnd to build the listed deployment modules before this module. -->
+        <!-- This is important because mvnd builds modules in parallel by default. The deployment modules are not -->
+        <!-- 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-aws-sdb-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-aws-sdb</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-resteasy</artifactId>
+        </dependency>
+
+        <!-- test dependencies -->
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-junit5</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>io.rest-assured</groupId>
+            <artifactId>rest-assured</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>build</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/extensions-jvm/aws-sdb/integration-test/src/main/java/org/apache/camel/quarkus/component/aws/sdb/it/AwsSdbResource.java b/extensions-jvm/aws-sdb/integration-test/src/main/java/org/apache/camel/quarkus/component/aws/sdb/it/AwsSdbResource.java
new file mode 100644
index 0000000..4abc5a8
--- /dev/null
+++ b/extensions-jvm/aws-sdb/integration-test/src/main/java/org/apache/camel/quarkus/component/aws/sdb/it/AwsSdbResource.java
@@ -0,0 +1,51 @@
+/*
+ * 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.
+ */
+package org.apache.camel.quarkus.component.aws.sdb.it;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Inject;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import org.apache.camel.CamelContext;
+import org.jboss.logging.Logger;
+
+@Path("/aws-sdb")
+@ApplicationScoped
+public class AwsSdbResource {
+
+    private static final Logger LOG = Logger.getLogger(AwsSdbResource.class);
+
+    private static final String COMPONENT_AWS_SDB = "aws-sdb";
+    @Inject
+    CamelContext context;
+
+    @Path("/load/component/aws-sdb")
+    @GET
+    @Produces(MediaType.TEXT_PLAIN)
+    public Response loadComponentAwsSdb() throws Exception {
+        /* This is an autogenerated test */
+        if (context.getComponent(COMPONENT_AWS_SDB) != null) {
+            return Response.ok().build();
+        }
+        LOG.warnf("Could not load [%s] from the Camel context", COMPONENT_AWS_SDB);
+        return Response.status(500, COMPONENT_AWS_SDB + " could not be loaded from the Camel context").build();
+    }
+}
diff --git a/extensions-jvm/aws-sdb/integration-test/src/test/java/org/apache/camel/quarkus/component/aws/sdb/it/AwsSdbTest.java b/extensions-jvm/aws-sdb/integration-test/src/test/java/org/apache/camel/quarkus/component/aws/sdb/it/AwsSdbTest.java
new file mode 100644
index 0000000..7ba463d
--- /dev/null
+++ b/extensions-jvm/aws-sdb/integration-test/src/test/java/org/apache/camel/quarkus/component/aws/sdb/it/AwsSdbTest.java
@@ -0,0 +1,34 @@
+/*
+ * 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.
+ */
+package org.apache.camel.quarkus.component.aws.sdb.it;
+
+import io.quarkus.test.junit.QuarkusTest;
+import io.restassured.RestAssured;
+import org.junit.jupiter.api.Test;
+
+@QuarkusTest
+class AwsSdbTest {
+
+    @Test
+    public void loadComponentAwsSdb() {
+        /* A simple autogenerated test */
+        RestAssured.get("/aws-sdb/load/component/aws-sdb")
+                .then()
+                .statusCode(200);
+    }
+
+}
diff --git a/extensions-jvm/aws-sdb/pom.xml b/extensions-jvm/aws-sdb/pom.xml
new file mode 100644
index 0000000..0094e00
--- /dev/null
+++ b/extensions-jvm/aws-sdb/pom.xml
@@ -0,0 +1,40 @@
+<?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-aws-sdb-parent</artifactId>
+    <name>Camel Quarkus :: AWS SimpleDB</name>
+    <packaging>pom</packaging>
+
+    <modules>
+        <module>deployment</module>
+        <module>runtime</module>
+        <module>integration-test</module>
+    </modules>
+</project>
diff --git a/extensions-jvm/aws-sdb/runtime/pom.xml b/extensions-jvm/aws-sdb/runtime/pom.xml
new file mode 100644
index 0000000..ca0b850
--- /dev/null
+++ b/extensions-jvm/aws-sdb/runtime/pom.xml
@@ -0,0 +1,97 @@
+<?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-aws-sdb-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-aws-sdb</artifactId>
+    <name>Camel Quarkus :: AWS SimpleDB :: Runtime</name>
+    <description>The aws-sdb component is for storing and retrieving data from/to Amazon's SDB service.</description>
+
+    <properties>
+        <firstVersion>1.0.0-M6</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.quarkus</groupId>
+            <artifactId>camel-quarkus-support-commons-logging</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-support-aws</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-aws-sdb</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>commons-logging</groupId>
+                    <artifactId>commons-logging</artifactId>
+                </exclusion>
+            </exclusions>
+        </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-jvm/aws-sdb/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions-jvm/aws-sdb/runtime/src/main/resources/META-INF/quarkus-extension.yaml
new file mode 100644
index 0000000..d2bc56e
--- /dev/null
+++ b/extensions-jvm/aws-sdb/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -0,0 +1,30 @@
+#
+# 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: "AWS SimpleDB"
+description: "The aws-sdb component is for storing and retrieving data from/to Amazon's SDB service."
+metadata:
+  unlisted: true
+  keywords:
+  - "cloud"
+  - "database"
+  - "nosql"
+  guide: "https://camel.apache.org/components/latest/aws-sdb-component.html"
+  categories:
+  - "integration"
+  status: "preview"
diff --git a/extensions-jvm/pom.xml b/extensions-jvm/pom.xml
index eff74c7..9c21929 100644
--- a/extensions-jvm/pom.xml
+++ b/extensions-jvm/pom.xml
@@ -34,6 +34,7 @@
 
     <modules>
         <!-- extensions a..z; do not remove this comment, it is important when sorting via  mvn process-resources -Pformat -->
+        <module>aws-sdb</module>
         <module>aws-swf</module>
         <module>aws2-cw</module>
         <module>aws2-ddb</module>
diff --git a/poms/bom-deployment/pom.xml b/poms/bom-deployment/pom.xml
index 1d2c8ac..e0d9118 100644
--- a/poms/bom-deployment/pom.xml
+++ b/poms/bom-deployment/pom.xml
@@ -134,6 +134,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-aws-sdb-deployment</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-aws-sns-deployment</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index 89d3f6e..ee97174 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -146,6 +146,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
+                <artifactId>camel-aws-sdb</artifactId>
+                <version>${camel.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel</groupId>
                 <artifactId>camel-aws-sns</artifactId>
                 <version>${camel.version}</version>
             </dependency>
@@ -1005,6 +1010,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-aws-sdb</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-aws-sns</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>


[camel-quarkus] 01/02: Fix #958 AWS Simple Workflow (JVM only)

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

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

commit 08d376de5470796de74090c9727b650a4d4bb8ed
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Mon Mar 23 18:57:26 2020 +0100

    Fix #958 AWS Simple Workflow (JVM only)
---
 .../pages/list-of-camel-quarkus-extensions.adoc    |   6 +-
 extensions-jvm/aws-swf/deployment/pom.xml          |  83 +++++++++++++++++
 .../aws/swf/deployment/AwsSwfProcessor.java        |  46 ++++++++++
 extensions-jvm/aws-swf/integration-test/pom.xml    |  82 +++++++++++++++++
 .../component/aws/swf/it/AwsSwfResource.java       |  51 +++++++++++
 .../quarkus/component/aws/swf/it/AwsSwfTest.java   |  34 +++++++
 extensions-jvm/aws-swf/pom.xml                     |  40 ++++++++
 extensions-jvm/aws-swf/runtime/pom.xml             | 101 +++++++++++++++++++++
 .../main/resources/META-INF/quarkus-extension.yaml |  29 ++++++
 extensions-jvm/pom.xml                             |   1 +
 pom.xml                                            |   2 +
 poms/bom-deployment/pom.xml                        |   5 +
 poms/bom/pom.xml                                   |  21 +++++
 13 files changed, 500 insertions(+), 1 deletion(-)

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 99fc6fc..5b05d61 100644
--- a/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
+++ b/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
@@ -18,7 +18,7 @@ In case you are missing some Camel feature in the list:
 == Camel Components
 
 // components: START
-Number of Camel components: 122 in 102 JAR artifacts (0 deprecated)
+Number of Camel components: 123 in 103 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,1,5",options="header"]
 |===
@@ -137,6 +137,10 @@ Level | Since | Description
 `aws-sqs:queueNameOrArn` | Native +
  Stable | 0.2.0 | The aws-sqs component is used for sending and receiving messages to Amazon's SQS service.
 
+| link:https://camel.apache.org/components/latest/aws-swf-component.html[AWS Simple Workflow] (camel-quarkus-aws-swf) +
+`aws-swf:type` | JVM +
+ Preview | 1.0.0-M6 | The aws-swf component is used for managing workflows from Amazon Simple Workflow.
+
 | link:https://camel.apache.org/components/latest/aws-translate-component.html[AWS Translate] (camel-quarkus-aws-translate) +
 `aws-translate:label` | Native +
  Stable | 1.0.0-M3 | The aws-translate component is used for managing Amazon Translate
diff --git a/extensions-jvm/aws-swf/deployment/pom.xml b/extensions-jvm/aws-swf/deployment/pom.xml
new file mode 100644
index 0000000..ca466f6
--- /dev/null
+++ b/extensions-jvm/aws-swf/deployment/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-aws-swf-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-aws-swf-deployment</artifactId>
+    <name>Camel Quarkus :: AWS Simple Workflow :: 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-support-commons-logging-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-support-aws-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-aws-swf</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/extensions-jvm/aws-swf/deployment/src/main/java/org/apache/camel/quarkus/component/aws/swf/deployment/AwsSwfProcessor.java b/extensions-jvm/aws-swf/deployment/src/main/java/org/apache/camel/quarkus/component/aws/swf/deployment/AwsSwfProcessor.java
new file mode 100644
index 0000000..97e938a
--- /dev/null
+++ b/extensions-jvm/aws-swf/deployment/src/main/java/org/apache/camel/quarkus/component/aws/swf/deployment/AwsSwfProcessor.java
@@ -0,0 +1,46 @@
+/*
+ * 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.
+ */
+package org.apache.camel.quarkus.component.aws.swf.deployment;
+
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.annotations.ExecutionTime;
+import io.quarkus.deployment.annotations.Record;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
+import io.quarkus.deployment.pkg.steps.NativeBuild;
+import org.apache.camel.quarkus.core.JvmOnlyRecorder;
+import org.jboss.logging.Logger;
+
+class AwsSwfProcessor {
+
+    private static final Logger LOG = Logger.getLogger(AwsSwfProcessor.class);
+    private static final String FEATURE = "camel-aws-swf";
+
+    @BuildStep
+    FeatureBuildItem feature() {
+        return new FeatureBuildItem(FEATURE);
+    }
+
+    /**
+     * Remove this once this extension starts supporting the native mode.
+     */
+    @BuildStep(onlyIf = NativeBuild.class)
+    @Record(value = ExecutionTime.RUNTIME_INIT)
+    void warnJvmInNative(JvmOnlyRecorder recorder) {
+        JvmOnlyRecorder.warnJvmInNative(LOG, FEATURE); // warn at build time
+        recorder.warnJvmInNative(FEATURE); // warn at runtime
+    }
+}
diff --git a/extensions-jvm/aws-swf/integration-test/pom.xml b/extensions-jvm/aws-swf/integration-test/pom.xml
new file mode 100644
index 0000000..eb9af3b
--- /dev/null
+++ b/extensions-jvm/aws-swf/integration-test/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-aws-swf-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>camel-quarkus-aws-swf-integration-test</artifactId>
+    <name>Camel Quarkus :: AWS Simple Workflow :: Integration Test</name>
+    <description>Integration tests for Camel Quarkus AWS Simple Workflow extension</description>
+
+    <properties>
+        <!-- mvnd, a.k.a. Maven Daemon: https://github.com/gnodet/mvnd -->
+        <!-- The following rule tells mvnd to build the listed deployment modules before this module. -->
+        <!-- This is important because mvnd builds modules in parallel by default. The deployment modules are not -->
+        <!-- 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-aws-swf-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-aws-swf</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-resteasy</artifactId>
+        </dependency>
+
+        <!-- test dependencies -->
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-junit5</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>io.rest-assured</groupId>
+            <artifactId>rest-assured</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>build</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/extensions-jvm/aws-swf/integration-test/src/main/java/org/apache/camel/quarkus/component/aws/swf/it/AwsSwfResource.java b/extensions-jvm/aws-swf/integration-test/src/main/java/org/apache/camel/quarkus/component/aws/swf/it/AwsSwfResource.java
new file mode 100644
index 0000000..aa3ca33
--- /dev/null
+++ b/extensions-jvm/aws-swf/integration-test/src/main/java/org/apache/camel/quarkus/component/aws/swf/it/AwsSwfResource.java
@@ -0,0 +1,51 @@
+/*
+ * 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.
+ */
+package org.apache.camel.quarkus.component.aws.swf.it;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Inject;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import org.apache.camel.CamelContext;
+import org.jboss.logging.Logger;
+
+@Path("/aws-swf")
+@ApplicationScoped
+public class AwsSwfResource {
+
+    private static final Logger LOG = Logger.getLogger(AwsSwfResource.class);
+
+    private static final String COMPONENT_AWS_SWF = "aws-swf";
+    @Inject
+    CamelContext context;
+
+    @Path("/load/component/aws-swf")
+    @GET
+    @Produces(MediaType.TEXT_PLAIN)
+    public Response loadComponentAwsSwf() throws Exception {
+        /* This is an autogenerated test */
+        if (context.getComponent(COMPONENT_AWS_SWF) != null) {
+            return Response.ok().build();
+        }
+        LOG.warnf("Could not load [%s] from the Camel context", COMPONENT_AWS_SWF);
+        return Response.status(500, COMPONENT_AWS_SWF + " could not be loaded from the Camel context").build();
+    }
+}
diff --git a/extensions-jvm/aws-swf/integration-test/src/test/java/org/apache/camel/quarkus/component/aws/swf/it/AwsSwfTest.java b/extensions-jvm/aws-swf/integration-test/src/test/java/org/apache/camel/quarkus/component/aws/swf/it/AwsSwfTest.java
new file mode 100644
index 0000000..0b8b14f
--- /dev/null
+++ b/extensions-jvm/aws-swf/integration-test/src/test/java/org/apache/camel/quarkus/component/aws/swf/it/AwsSwfTest.java
@@ -0,0 +1,34 @@
+/*
+ * 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.
+ */
+package org.apache.camel.quarkus.component.aws.swf.it;
+
+import io.quarkus.test.junit.QuarkusTest;
+import io.restassured.RestAssured;
+import org.junit.jupiter.api.Test;
+
+@QuarkusTest
+class AwsSwfTest {
+
+    @Test
+    public void loadComponentAwsSwf() {
+        /* A simple autogenerated test */
+        RestAssured.get("/aws-swf/load/component/aws-swf")
+                .then()
+                .statusCode(200);
+    }
+
+}
diff --git a/extensions-jvm/aws-swf/pom.xml b/extensions-jvm/aws-swf/pom.xml
new file mode 100644
index 0000000..40dac53
--- /dev/null
+++ b/extensions-jvm/aws-swf/pom.xml
@@ -0,0 +1,40 @@
+<?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-aws-swf-parent</artifactId>
+    <name>Camel Quarkus :: AWS Simple Workflow</name>
+    <packaging>pom</packaging>
+
+    <modules>
+        <module>deployment</module>
+        <module>runtime</module>
+        <module>integration-test</module>
+    </modules>
+</project>
diff --git a/extensions-jvm/aws-swf/runtime/pom.xml b/extensions-jvm/aws-swf/runtime/pom.xml
new file mode 100644
index 0000000..205730e
--- /dev/null
+++ b/extensions-jvm/aws-swf/runtime/pom.xml
@@ -0,0 +1,101 @@
+<?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-aws-swf-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-aws-swf</artifactId>
+    <name>Camel Quarkus :: AWS Simple Workflow :: Runtime</name>
+    <description>The aws-swf component is used for managing workflows from Amazon Simple Workflow.</description>
+
+    <properties>
+        <firstVersion>1.0.0-M6</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.quarkus</groupId>
+            <artifactId>camel-quarkus-support-commons-logging</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-support-aws</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-aws-swf</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                    <artifactId>jackson-databind</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>commons-logging</groupId>
+                    <artifactId>commons-logging</artifactId>
+                </exclusion>
+            </exclusions>
+        </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-jvm/aws-swf/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions-jvm/aws-swf/runtime/src/main/resources/META-INF/quarkus-extension.yaml
new file mode 100644
index 0000000..2f8b9e5
--- /dev/null
+++ b/extensions-jvm/aws-swf/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: "AWS Simple Workflow"
+description: "The aws-swf component is used for managing workflows from Amazon Simple Workflow."
+metadata:
+  unlisted: true
+  keywords:
+  - "cloud"
+  - "workflow"
+  guide: "https://camel.apache.org/components/latest/aws-swf-component.html"
+  categories:
+  - "integration"
+  status: "preview"
diff --git a/extensions-jvm/pom.xml b/extensions-jvm/pom.xml
index 81f8fb6..eff74c7 100644
--- a/extensions-jvm/pom.xml
+++ b/extensions-jvm/pom.xml
@@ -34,6 +34,7 @@
 
     <modules>
         <!-- extensions a..z; do not remove this comment, it is important when sorting via  mvn process-resources -Pformat -->
+        <module>aws-swf</module>
         <module>aws2-cw</module>
         <module>aws2-ddb</module>
         <module>aws2-ec2</module>
diff --git a/pom.xml b/pom.xml
index 990f88d..6b87a49 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,6 +41,8 @@
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 
         <ahc.version>2.10.4</ahc.version>
+        <awssdk1.version>1.11.714</awssdk1.version>
+        <awssdk1-swf-libs.version>1.11.22</awssdk1-swf-libs.version>
         <awssdk2.version>2.10.67</awssdk2.version>
         <camel.version>3.1.0</camel.version>
         <freemarker.version>2.3.30</freemarker.version>
diff --git a/poms/bom-deployment/pom.xml b/poms/bom-deployment/pom.xml
index bf9e9ea..1d2c8ac 100644
--- a/poms/bom-deployment/pom.xml
+++ b/poms/bom-deployment/pom.xml
@@ -144,6 +144,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-aws-swf-deployment</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-aws-translate-deployment</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index 3dbd932..89d3f6e 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -156,6 +156,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
+                <artifactId>camel-aws-swf</artifactId>
+                <version>${camel.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel</groupId>
                 <artifactId>camel-aws-translate</artifactId>
                 <version>${camel.version}</version>
             </dependency>
@@ -1010,6 +1015,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-aws-swf</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-aws-translate</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
@@ -1726,6 +1736,17 @@
                 <version>${hapi.version}</version>
             </dependency>
             <dependency>
+                <groupId>com.amazonaws</groupId>
+                <artifactId>aws-java-sdk-swf-libraries</artifactId>
+                <version>${awssdk1-swf-libs.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>com.amazonaws</groupId>
+                        <artifactId>aws-java-sdk-simpleworkflow</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+            <dependency>
                 <groupId>com.fasterxml.jackson.dataformat</groupId>
                 <artifactId>jackson-dataformat-xml</artifactId>
                 <version>${jackson.version}</version>