You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2021/03/02 08:34:11 UTC
[camel] 09/10: CAMEL-16275: move RouteBuilderLoader implementations
to dedicated artefact
This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
commit fe83fcd926a329af4b5d05bf07929c76843a1ea1
Author: Luca Burgazzoli <lb...@gmail.com>
AuthorDate: Mon Mar 1 14:05:00 2021 +0100
CAMEL-16275: move RouteBuilderLoader implementations to dedicated artefact
---
bom/camel-bom/pom.xml | 15 +++
.../services/org/apache/camel/routes-loader/java | 2 -
.../services/org/apache/camel/routes-loader/xml | 2 -
.../camel-yaml-dsl => camel-java-joor-dsl}/pom.xml | 117 ++++++--------------
.../services/org/apache/camel/routes-loader/java | 2 +
.../src/main/docs/java-joor-dsl.adoc | 15 +++
.../dsl/java/joor/JavaRoutesBuilderLoader.java | 18 +--
.../camel/dsl/java/joor/JavaMainRestsTest.java | 20 ++--
.../camel/dsl/java/joor/JavaMainTemplateTest.java | 16 +--
.../apache/camel/dsl/java/joor/JavaMainTest.java | 45 +++-----
.../dsl/java/joor/JavaRoutesBuilderLoaderTest.java | 36 +++---
.../java/joor/support/MockRestConsumerFactory.java | 40 +++----
.../apache/camel/dsl/java/joor/support/MyUser.java | 27 +++--
.../src/test/resources/log4j2-test.properties | 31 ++++++
.../org/apache/camel/main/java/MyRoutesDummy.java | 6 +-
.../org/apache/camel/main/java/MyRoutesScan.java | 6 +-
.../apache/camel/main/java/MyRoutesWithRest.java | 9 +-
.../camel/main/java/MyRoutesWithTemplate.java | 10 +-
.../src/test/resources/routes/MyRoutes.java | 0
.../test/resources/routes/MyRoutesWithBeans.java | 0
.../test/resources/routes/MyRoutesWithModel.java | 2 +-
.../resources/routes/MyRoutesWithNestedClass.java | 0
.../resources/routes/MyRoutesWithNestedTypes.java | 0
.../test/resources/routes/MyRoutesWithPackage.java | 0
.../routes/MyRoutesWithPackageAndComment.java | 0
.../routes/MyRoutesWithPackageAndLineComment.java | 0
.../routes/MyRoutesWithRestConfiguration.java | 0
.../camel-yaml-dsl => camel-xml-io-dsl}/pom.xml | 122 ++++++---------------
.../services/org/apache/camel/routes-loader/xml | 2 +-
.../src/main/docs/java-xml-io-dsl.adoc | 11 ++
.../camel/dsl/xml/io}/XmlRoutesBuilderLoader.java | 3 +-
.../apache/camel/dsl/xml/io/XmlMainRestsTest.java | 6 +-
.../camel/dsl/xml/io/XmlMainTemplateTest.java | 6 +-
.../org/apache/camel/dsl/xml/io/XmlMainTest.java | 6 +-
.../dsl/xml/io}/XmlRoutesBuilderLoaderTest.java | 2 +-
.../xml/io/support/MockRestConsumerFactory.java | 40 +++----
.../src/test/resources/log4j2-test.properties | 31 ++++++
.../org/apache/camel/main/xml/camel-dummy.xml | 2 +-
.../org/apache/camel/main/xml/camel-rests.xml | 0
.../org/apache/camel/main/xml/camel-scan.xml | 2 +-
.../org/apache/camel/main/xml/camel-template.xml | 10 +-
.../camel-yaml-dsl => camel-xml-jaxb-dsl}/pom.xml | 120 ++++++--------------
.../services/org/apache/camel/routes-loader/xml | 2 +
.../src/main/docs/java-xml-jaxb-dsl.adoc | 11 ++
.../dsl}/xml/jaxb/JaxbXmlRoutesBuilderLoader.java | 2 +-
.../camel/dsl/xml/jaxb/JaxbXmlMainRestsTest.java | 6 +-
.../dsl/xml/jaxb/JaxbXmlMainTemplateTest.java | 6 +-
.../apache/camel/dsl/xml/jaxb/JaxbXmlMainTest.java | 6 +-
.../xml/jaxb/JaxbXmlRoutesBuilderLoaderTest.java | 28 +++--
.../xml/jaxb/support/MockRestConsumerFactory.java | 40 +++----
.../src/test/resources/log4j2-test.properties | 31 ++++++
.../org/apache/camel/main/xml/camel-dummy.xml | 0
.../org/apache/camel/main/xml/camel-rests.xml | 0
.../org/apache/camel/main/xml/camel-scan.xml | 0
.../org/apache/camel/main/xml/camel-template.xml | 10 +-
.../services/org/apache/camel/other.properties | 7 --
dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml | 5 +
.../services/org/apache/camel/other.properties | 7 --
.../src/generated/resources/yaml-dsl.json | 14 ---
.../camel-yaml-dsl/src/main/docs/yaml-dsl.adoc | 4 +-
.../camel/dsl/yaml/YamlRoutesBuilderLoader.java | 23 +++-
.../org/apache/camel/dsl/yaml/MainTest.groovy | 39 +++++++
.../src/test/resources/routes/routes.yaml | 20 ++++
dsl/pom.xml | 3 +
parent/pom.xml | 39 +++++--
65 files changed, 589 insertions(+), 496 deletions(-)
diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml
index bcbe59c..a3f524a 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -947,6 +947,11 @@
<artifactId>camel-jasypt</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-java-joor-dsl</artifactId>
+ <version>${project.version}</version>
+ </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jaxb</artifactId>
@@ -2000,11 +2005,21 @@
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
+ <artifactId>camel-xml-io-dsl</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
<artifactId>camel-xml-jaxb</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
+ <artifactId>camel-xml-jaxb-dsl</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
<artifactId>camel-xml-jaxp</artifactId>
<version>${project.version}</version>
</dependency>
diff --git a/components/camel-joor/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/java b/components/camel-joor/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/java
deleted file mode 100644
index d1968d0..0000000
--- a/components/camel-joor/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/java
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.language.joor.JoorRoutesBuilderLoader
diff --git a/core/camel-xml-jaxb/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/xml b/core/camel-xml-jaxb/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/xml
deleted file mode 100644
index daa444e..0000000
--- a/core/camel-xml-jaxb/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/xml
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.xml.jaxb.JaxbXmlRoutesBuilderLoader
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml b/dsl/camel-java-joor-dsl/pom.xml
similarity index 56%
copy from dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml
copy to dsl/camel-java-joor-dsl/pom.xml
index 298b94c..15fde31 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml
+++ b/dsl/camel-java-joor-dsl/pom.xml
@@ -24,19 +24,19 @@
<parent>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-yaml-dsl-parent</artifactId>
+ <artifactId>dsl</artifactId>
<version>3.9.0-SNAPSHOT</version>
</parent>
- <artifactId>camel-yaml-dsl</artifactId>
+ <artifactId>camel-java-joor-dsl</artifactId>
<packaging>jar</packaging>
- <name>Camel :: YAML DSL</name>
- <description>Camel DSL with YAML</description>
+ <name>Camel :: Java DSL with jOOR</name>
+ <description>Camel Java DSL with jOOR</description>
<properties>
<firstVersion>3.9.0</firstVersion>
<sourcecheckExcludes>
- **/*.groovy
+ **/resources/**/My*.java
</sourcecheckExcludes>
<sourcecheckExcludesComma>
${sourcecheckExcludes},
@@ -46,42 +46,25 @@
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-yaml-dsl-common</artifactId>
- <version>${project.version}</version>
+ <artifactId>camel-support</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-yaml-dsl-deserializers</artifactId>
- <version>${project.version}</version>
+ <artifactId>camel-core-model</artifactId>
</dependency>
+ <!-- requires Java 11 or 14 -->
<dependency>
- <groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.assertj</groupId>
- <artifactId>assertj-core</artifactId>
- <scope>test</scope>
+ <groupId>org.jooq</groupId>
+ <artifactId>joor</artifactId>
+ <version>${joor-version}</version>
</dependency>
+
<dependency>
- <groupId>org.spockframework</groupId>
- <artifactId>spock-core</artifactId>
- <version>${spock-version}</version>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-main</artifactId>
<scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>org.codehaus.groovy</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- <exclusion>
- <groupId>junit</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
</dependency>
-
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-direct</artifactId>
@@ -124,34 +107,17 @@
</dependency>
<dependency>
- <groupId>org.codehaus.groovy</groupId>
- <artifactId>groovy</artifactId>
- <version>${groovy-version}</version>
+ <groupId>org.assertj</groupId>
+ <artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.codehaus.groovy</groupId>
- <artifactId>groovy-test</artifactId>
- <version>${groovy-version}</version>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-test-junit5</artifactId>
<scope>test</scope>
</dependency>
<dependency>
- <groupId>com.github.java-json-tools</groupId>
- <artifactId>json-schema-validator</artifactId>
- <version>${json-schema-validator-version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.dataformat</groupId>
- <artifactId>jackson-dataformat-yaml</artifactId>
- </dependency>
-
- <dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<scope>test</scope>
@@ -173,40 +139,6 @@
<plugins>
<plugin>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-yaml-dsl-maven-plugin</artifactId>
- <version>${project.version}</version>
- <executions>
- <execution>
- <phase>generate-sources</phase>
- <goals>
- <goal>generate-yaml-schema</goal>
- </goals>
- <configuration>
- <bannedDefinitions>
- <bannedDefinition>org.apache.camel.model.FromDefinition</bannedDefinition>
- </bannedDefinitions>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.codehaus.gmavenplus</groupId>
- <artifactId>gmavenplus-plugin</artifactId>
- <version>${gmavenplus-plugin-version}</version>
- <executions>
- <execution>
- <goals>
- <goal>addTestSources</goal>
- <goal>compileTests</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <invokeDynamic>true</invokeDynamic>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.camel</groupId>
<artifactId>camel-package-maven-plugin</artifactId>
<executions>
<execution>
@@ -220,4 +152,17 @@
</plugins>
</build>
+ <!-- skip testing on java 8 -->
+ <profiles>
+ <profile>
+ <id>jdk8</id>
+ <activation>
+ <jdk>[,8)</jdk>
+ </activation>
+ <properties>
+ <maven.test.skip.exec>true</maven.test.skip.exec>
+ </properties>
+ </profile>
+ </profiles>
+
</project>
\ No newline at end of file
diff --git a/dsl/camel-java-joor-dsl/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/java b/dsl/camel-java-joor-dsl/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/java
new file mode 100644
index 0000000..a1c82c7
--- /dev/null
+++ b/dsl/camel-java-joor-dsl/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/java
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.dsl.java.joor.JavaRoutesBuilderLoader
diff --git a/dsl/camel-java-joor-dsl/src/main/docs/java-joor-dsl.adoc b/dsl/camel-java-joor-dsl/src/main/docs/java-joor-dsl.adoc
new file mode 100644
index 0000000..179cd72
--- /dev/null
+++ b/dsl/camel-java-joor-dsl/src/main/docs/java-joor-dsl.adoc
@@ -0,0 +1,15 @@
+[[java-joor-dsl-other]]
+= Java DSL based on joor
+:docTitle: XML Dsl
+:artifactId: camel-java-joor-dsl
+:description: Camel DSL with YAML
+:supportLevel: Stable
+:since: 3.
+:supportLevel: Preview
+include::{cq-version}@camel-quarkus:ROOT:partial$reference/others/java-joor-dsl.adoc[opts=optional]
+//Manually maintained attributes
+:group: DSL
+
+xml-io-
+
+See https://camel.apache.org/manual/latest/dsl.html
\ No newline at end of file
diff --git a/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorRoutesBuilderLoader.java b/dsl/camel-java-joor-dsl/src/main/java/org/apache/camel/dsl/java/joor/JavaRoutesBuilderLoader.java
similarity index 85%
rename from components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorRoutesBuilderLoader.java
rename to dsl/camel-java-joor-dsl/src/main/java/org/apache/camel/dsl/java/joor/JavaRoutesBuilderLoader.java
index 0ebf95f..949618b 100644
--- a/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorRoutesBuilderLoader.java
+++ b/dsl/camel-java-joor-dsl/src/main/java/org/apache/camel/dsl/java/joor/JavaRoutesBuilderLoader.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.language.joor;
+package org.apache.camel.dsl.java.joor;
import java.io.InputStream;
import java.util.regex.Matcher;
@@ -35,8 +35,8 @@ import org.apache.camel.util.IOHelper;
import org.joor.Reflect;
@ManagedResource(description = "Managed JavaRoutesBuilderLoader")
-@RoutesLoader(JoorRoutesBuilderLoader.EXTENSION)
-public class JoorRoutesBuilderLoader extends RoutesBuilderLoaderSupport {
+@RoutesLoader(JavaRoutesBuilderLoader.EXTENSION)
+public class JavaRoutesBuilderLoader extends RoutesBuilderLoaderSupport {
public static final String EXTENSION = "java";
public static final Pattern PACKAGE_PATTERN = Pattern.compile(
"^\\s*package\\s+([a-zA-Z][\\.\\w]*)\\s*;.*$", Pattern.MULTILINE);
@@ -61,12 +61,16 @@ public class JoorRoutesBuilderLoader extends RoutesBuilderLoaderSupport {
final String content = IOHelper.loadText(is);
final String name = determineName(resource, content);
- StartupStep step = recorder.beginStep(JoorRoutesBuilderLoader.class, name, "Compiling RouteBuilder");
+ StartupStep step = recorder != null
+ ? recorder.beginStep(JavaRoutesBuilderLoader.class, name, "Compiling RouteBuilder")
+ : null;
+
try {
- final Reflect compiled = Reflect.compile(name, content);
- return compiled.create().get();
+ return Reflect.compile(name, content).create().get();
} finally {
- recorder.endStep(step);
+ if (recorder != null) {
+ recorder.endStep(step);
+ }
}
}
}
diff --git a/core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlRestsTest.java b/dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/JavaMainRestsTest.java
similarity index 83%
copy from core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlRestsTest.java
copy to dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/JavaMainRestsTest.java
index 77c27b8..d91acce 100644
--- a/core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlRestsTest.java
+++ b/dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/JavaMainRestsTest.java
@@ -14,13 +14,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.main.xml;
+package org.apache.camel.dsl.java.joor;
import java.util.List;
import org.apache.camel.CamelContext;
+import org.apache.camel.dsl.java.joor.support.MockRestConsumerFactory;
import org.apache.camel.main.Main;
-import org.apache.camel.main.support.MockRestConsumerFactory;
import org.apache.camel.model.ModelCamelContext;
import org.apache.camel.model.rest.GetVerbDefinition;
import org.apache.camel.model.rest.RestDefinition;
@@ -31,13 +31,13 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
-public class MainXmlRestsTest {
+public class JavaMainRestsTest {
@Test
public void testMainRestsCollector() {
// will load XML from target/classes when testing
doTestMain(
- "org/apache/camel/main/xml/camel-rests.xml",
+ "org/apache/camel/main/java/MyRoutesWithRest.java",
null);
}
@@ -45,7 +45,7 @@ public class MainXmlRestsTest {
public void testMainRestsCollectorScan() {
// will load XML from target/classes when testing
doTestMain(
- "org/apache/camel/main/xml/camel-res*.xml",
+ "org/apache/camel/main/java/MyRoutesWithRes*.java",
null);
}
@@ -53,7 +53,7 @@ public class MainXmlRestsTest {
public void testMainRestsCollectorScanWildcardDirClasspathPath() {
// will load XML from target/classes when testing
doTestMain(
- "org/apache/camel/main/**/camel-res*.xml",
+ "org/apache/camel/main/**/MyRoutesWithRes*.java",
null);
}
@@ -61,28 +61,28 @@ public class MainXmlRestsTest {
public void testMainRestsCollectorScanClasspathPrefix() {
// will load XML from target/classes when testing
doTestMain(
- "classpath:org/apache/camel/main/xml/camel-res*.xml",
+ "classpath:org/apache/camel/main/java/MyRoutesWithRes*.java",
null);
}
@Test
public void testMainRestsCollectorScanInDir() {
doTestMain(
- "file:src/test/resources/org/apache/camel/main/xml/camel-res*.xml",
+ "file:src/test/resources/org/apache/camel/main/java/MyRoutesWithRes*.java",
null);
}
@Test
public void testMainRestsCollectorScanWildcardDirFilePath() {
doTestMain(
- "file:src/test/resources/**/camel-res*.xml",
+ "file:src/test/resources/org/**/MyRoutesWithRes*.java",
null);
}
@Test
public void testMainRestsCollectorFile() {
doTestMain(
- "file:src/test/resources/org/apache/camel/main/xml/camel-rests.xml,",
+ "file:src/test/resources/org/apache/camel/main/java/MyRoutesWithRest.java,",
null);
}
diff --git a/core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlTemplateTest.java b/dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/JavaMainTemplateTest.java
similarity index 83%
copy from core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlTemplateTest.java
copy to dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/JavaMainTemplateTest.java
index 847b862..fd755fa 100644
--- a/core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlTemplateTest.java
+++ b/dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/JavaMainTemplateTest.java
@@ -14,24 +14,24 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.main.xml;
+package org.apache.camel.dsl.java.joor;
import org.apache.camel.CamelContext;
+import org.apache.camel.dsl.java.joor.support.MockRestConsumerFactory;
import org.apache.camel.main.Main;
-import org.apache.camel.main.support.MockRestConsumerFactory;
import org.apache.camel.model.ModelCamelContext;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
-public class MainXmlTemplateTest {
+public class JavaMainTemplateTest {
@Test
public void testMainRoutesCollector() {
// will load XML from target/classes when testing
doTestMain(
- "org/apache/camel/main/xml/camel-template.xml",
+ "org/apache/camel/main/java/MyRoutesWithTemplate.java",
null);
}
@@ -39,7 +39,7 @@ public class MainXmlTemplateTest {
public void testMainRoutesCollectorScan() {
// will load XML from target/classes when testing
doTestMain(
- "org/apache/camel/main/xml/camel-template*.xml",
+ "org/apache/camel/main/java/MyRoutesWithTempl*.java",
null);
}
@@ -47,7 +47,7 @@ public class MainXmlTemplateTest {
public void testMainRoutesCollectorScanTwo() {
// will load XML from target/classes when testing
doTestMain(
- "org/apache/camel/main/xml/camel-t*.xml",
+ "org/apache/camel/main/java/MyRoutesWithTempl*.java",
null);
}
@@ -55,7 +55,7 @@ public class MainXmlTemplateTest {
public void testMainRoutesCollectorScanWildcardDirClasspathPath() {
// will load XML from target/classes when testing
doTestMain(
- "org/apache/camel/main/**/camel-t*.xml",
+ "org/apache/camel/main/**/MyRoutesWithTempl*.java",
null);
}
@@ -63,7 +63,7 @@ public class MainXmlTemplateTest {
public void testMainRoutesCollectorScanClasspathPrefix() {
// will load XML from target/classes when testing
doTestMain(
- "classpath:org/apache/camel/main/xml/camel-t*.xml",
+ "classpath:org/apache/camel/main/java/MyRoutesWithTempl*.java",
null);
}
diff --git a/core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlTest.java b/dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/JavaMainTest.java
similarity index 67%
copy from core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlTest.java
copy to dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/JavaMainTest.java
index 44ac8f3..b18a2ea 100644
--- a/core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlTest.java
+++ b/dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/JavaMainTest.java
@@ -14,24 +14,24 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.main.xml;
+package org.apache.camel.dsl.java.joor;
import org.apache.camel.CamelContext;
import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.dsl.java.joor.support.MockRestConsumerFactory;
import org.apache.camel.main.Main;
-import org.apache.camel.main.support.MockRestConsumerFactory;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
-public class MainXmlTest {
+public class JavaMainTest {
@Test
public void testMainRoutesCollector() throws Exception {
// will load XML from target/classes when testing
doTestMain(
- "org/apache/camel/main/xml/camel-dummy.xml,org/apache/camel/main/xml/camel-scan.xml",
+ "org/apache/camel/main/java/MyRoutesDummy.java,org/apache/camel/main/java/MyRoutesScan.java",
null);
}
@@ -39,59 +39,44 @@ public class MainXmlTest {
public void testMainRoutesCollectorScan() throws Exception {
// will load XML from target/classes when testing
doTestMain(
- "org/apache/camel/main/xml/camel-*.xml",
- "**/camel-rests.xml,**/camel-template.xml");
+ "org/apache/camel/main/java/MyRoutes*.java",
+ "**/*Rest*.java,**/*Template*.java");
}
@Test
public void testMainRoutesCollectorScanWildcardDirClasspathPath() throws Exception {
// will load XML from target/classes when testing
doTestMain(
- "org/apache/camel/main/**/*.xml",
- "**/camel-rests.xml,**/camel-template.xml");
+ "org/apache/camel/main/**/*.java",
+ "**/*Rest*.java,**/*Template*.java");
}
@Test
public void testMainRoutesCollectorScanClasspathPrefix() throws Exception {
// will load XML from target/classes when testing
doTestMain(
- "classpath:org/apache/camel/main/xml/camel-*.xml",
- "**/camel-rests.xml,**/camel-template.xml");
- }
-
- @Test
- public void testMainRoutesCollectorScanInJar() throws Exception {
- // will load XML from camel-core test JAR when testing
- doTestMain(
- "org/apache/camel/model/scan-*.xml",
- null);
+ "classpath:org/apache/camel/main/java/MyRoutes*.java",
+ "**/*Rest*.java,**/*Template*.java");
}
@Test
public void testMainRoutesCollectorScanInDir() throws Exception {
doTestMain(
- "file:src/test/resources/org/apache/camel/main/xml/camel-*.xml",
- "**/camel-rests.xml,**/camel-template.xml");
+ "file:src/test/resources/org/apache/camel/main/java/MyRoutes*.java",
+ "**/*Rest*.java,**/*Template*.java");
}
@Test
public void testMainRoutesCollectorScanWildcardDirFilePath() throws Exception {
doTestMain(
- "file:src/test/resources/**/*.xml",
- "**/camel-rests.xml,**/camel-template.xml");
+ "file:src/test/resources/org/**/*.java",
+ "**/*Rest*.java,**/*Template*.java");
}
@Test
public void testMainRoutesCollectorFile() throws Exception {
doTestMain(
- "file:src/test/resources/org/apache/camel/main/xml/camel-dummy.xml,file:src/test/resources/org/apache/camel/main/xml/camel-scan.xml,",
- null);
- }
-
- @Test
- public void testMainRoutesCollectorScanInJarAndDir() throws Exception {
- doTestMain(
- "classpath:org/apache/camel/main/xml/*dummy.xml,file:src/test/resources/org/apache/camel/main/xml/*scan.xml",
+ "file:src/test/resources/org/apache/camel/main/java/MyRoutesDummy.java,file:src/test/resources/org/apache/camel/main/java/MyRoutesScan.java",
null);
}
diff --git a/components/camel-joor/src/test/java/org/apache/camel/language/joor/JoorRoutesBuilderLoaderTest.java b/dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/JavaRoutesBuilderLoaderTest.java
similarity index 75%
rename from components/camel-joor/src/test/java/org/apache/camel/language/joor/JoorRoutesBuilderLoaderTest.java
rename to dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/JavaRoutesBuilderLoaderTest.java
index a19181b..f14d635 100644
--- a/components/camel-joor/src/test/java/org/apache/camel/language/joor/JoorRoutesBuilderLoaderTest.java
+++ b/dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/JavaRoutesBuilderLoaderTest.java
@@ -14,24 +14,26 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.language.joor;
+package org.apache.camel.dsl.java.joor;
import java.util.Collection;
import org.apache.camel.RoutesBuilder;
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.dsl.java.joor.support.MyUser;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.model.ProcessDefinition;
import org.apache.camel.model.SetBodyDefinition;
import org.apache.camel.model.ToDefinition;
import org.apache.camel.spi.Resource;
+import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
import static org.assertj.core.api.Assertions.assertThat;
-public class JoorRoutesBuilderLoaderTest {
+public class JavaRoutesBuilderLoaderTest {
@ParameterizedTest
@ValueSource(strings = {
@@ -42,7 +44,7 @@ public class JoorRoutesBuilderLoaderTest {
})
void testLoadRoutes(String location) throws Exception {
try (DefaultCamelContext context = new DefaultCamelContext()) {
- Resource resource = Resource.fromClasspath(JoorRoutesBuilderLoaderTest.class, location);
+ Resource resource = Resource.fromClasspath(JavaRoutesBuilderLoaderTest.class, location);
Collection<RoutesBuilder> builders = context.getRoutesLoader().findRoutesBuilders(resource);
assertThat(builders).hasSize(1);
@@ -51,12 +53,12 @@ public class JoorRoutesBuilderLoaderTest {
builder.setContext(context);
builder.configure();
- assertThat(builder.getRouteCollection().getRoutes())
+ Assertions.assertThat(builder.getRouteCollection().getRoutes())
.hasSize(1)
.first()
.satisfies(rd -> {
- assertThat(rd.getInput().getEndpointUri()).matches("timer:.*tick");
- assertThat(rd.getOutputs().get(0)).isInstanceOf(ToDefinition.class);
+ Assertions.assertThat(rd.getInput().getEndpointUri()).matches("timer:.*tick");
+ Assertions.assertThat(rd.getOutputs().get(0)).isInstanceOf(ToDefinition.class);
});
}
}
@@ -66,7 +68,7 @@ public class JoorRoutesBuilderLoaderTest {
final String location = "/routes/MyRoutesWithNestedClass.java";
try (DefaultCamelContext context = new DefaultCamelContext()) {
- Resource resource = Resource.fromClasspath(JoorRoutesBuilderLoaderTest.class, location);
+ Resource resource = Resource.fromClasspath(JavaRoutesBuilderLoaderTest.class, location);
Collection<RoutesBuilder> builders = context.getRoutesLoader().findRoutesBuilders(resource);
assertThat(builders).hasSize(1);
@@ -75,14 +77,14 @@ public class JoorRoutesBuilderLoaderTest {
builder.setContext(context);
builder.configure();
- assertThat(builder.getRouteCollection().getRoutes())
+ Assertions.assertThat(builder.getRouteCollection().getRoutes())
.hasSize(1)
.first()
.satisfies(rd -> {
- assertThat(rd.getInput().getEndpointUri()).matches("timer:.*tick");
- assertThat(rd.getOutputs().get(0)).isInstanceOf(SetBodyDefinition.class);
- assertThat(rd.getOutputs().get(1)).isInstanceOf(ProcessDefinition.class);
- assertThat(rd.getOutputs().get(2)).isInstanceOf(ToDefinition.class);
+ Assertions.assertThat(rd.getInput().getEndpointUri()).matches("timer:.*tick");
+ Assertions.assertThat(rd.getOutputs().get(0)).isInstanceOf(SetBodyDefinition.class);
+ Assertions.assertThat(rd.getOutputs().get(1)).isInstanceOf(ProcessDefinition.class);
+ Assertions.assertThat(rd.getOutputs().get(2)).isInstanceOf(ToDefinition.class);
});
}
}
@@ -92,7 +94,7 @@ public class JoorRoutesBuilderLoaderTest {
final String location = "/routes/MyRoutesWithRestConfiguration.java";
try (DefaultCamelContext context = new DefaultCamelContext()) {
- Resource resource = Resource.fromClasspath(JoorRoutesBuilderLoaderTest.class, location);
+ Resource resource = Resource.fromClasspath(JavaRoutesBuilderLoaderTest.class, location);
Collection<RoutesBuilder> builders = context.getRoutesLoader().findRoutesBuilders(resource);
assertThat(builders).hasSize(1);
@@ -101,7 +103,7 @@ public class JoorRoutesBuilderLoaderTest {
builder.setContext(context);
builder.configure();
- assertThat(builder.getRestConfiguration())
+ Assertions.assertThat(builder.getRestConfiguration())
.hasFieldOrPropertyWithValue("component", "restlet");
}
}
@@ -111,7 +113,7 @@ public class JoorRoutesBuilderLoaderTest {
final String location = "/routes/MyRoutesWithModel.java";
try (DefaultCamelContext context = new DefaultCamelContext()) {
- Resource resource = Resource.fromClasspath(JoorRoutesBuilderLoaderTest.class, location);
+ Resource resource = Resource.fromClasspath(JavaRoutesBuilderLoaderTest.class, location);
Collection<RoutesBuilder> builders = context.getRoutesLoader().findRoutesBuilders(resource);
assertThat(builders).hasSize(1);
@@ -120,8 +122,8 @@ public class JoorRoutesBuilderLoaderTest {
builder.setContext(context);
builder.configure();
- assertThat(builder.getRestCollection().getRests()).anySatisfy(rd -> {
- assertThat(rd.getVerbs())
+ Assertions.assertThat(builder.getRestCollection().getRests()).anySatisfy(rd -> {
+ Assertions.assertThat(rd.getVerbs())
.first()
.hasFieldOrPropertyWithValue("outType", MyUser.class.getName());
});
diff --git a/components/camel-joor/src/test/resources/routes/MyRoutesWithNestedClass.java b/dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/support/MockRestConsumerFactory.java
similarity index 55%
copy from components/camel-joor/src/test/resources/routes/MyRoutesWithNestedClass.java
copy to dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/support/MockRestConsumerFactory.java
index e4c2944..e38832f 100644
--- a/components/camel-joor/src/test/resources/routes/MyRoutesWithNestedClass.java
+++ b/dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/support/MockRestConsumerFactory.java
@@ -14,26 +14,28 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.RouteBuilder;
+package org.apache.camel.dsl.java.joor.support;
-public class MyRoutesWithNestedClass extends RouteBuilder {
- @Override
- public void configure() throws Exception {
- Processor toUpper = new Processor() {
- @Override
- public void process(Exchange exchange) throws Exception {
- String body = exchange.getIn().getBody(String.class);
- body = body.toUpperCase();
+import java.util.Map;
- exchange.getOut().setBody(body);
- }
- };
+import org.apache.camel.CamelContext;
+import org.apache.camel.Consumer;
+import org.apache.camel.Processor;
+import org.apache.camel.spi.RestConfiguration;
+import org.apache.camel.spi.RestConsumerFactory;
- from("timer:tick")
- .setBody().constant("test")
- .process(toUpper)
- .to("log:info");
+public final class MockRestConsumerFactory implements RestConsumerFactory {
+ @Override
+ public Consumer createConsumer(
+ CamelContext camelContext,
+ Processor processor,
+ String verb,
+ String basePath,
+ String uriTemplate,
+ String consumes,
+ String produces,
+ RestConfiguration configuration,
+ Map<String, Object> parameters) {
+ return null;
}
-}
\ No newline at end of file
+}
diff --git a/components/camel-joor/src/test/resources/routes/MyRoutesWithNestedTypes.java b/dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/support/MyUser.java
similarity index 69%
copy from components/camel-joor/src/test/resources/routes/MyRoutesWithNestedTypes.java
copy to dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/support/MyUser.java
index 1e0d168..93d6c0f 100644
--- a/components/camel-joor/src/test/resources/routes/MyRoutesWithNestedTypes.java
+++ b/dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/support/MyUser.java
@@ -14,15 +14,26 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.RouteBuilder;
+package org.apache.camel.dsl.java.joor.support;
-public class MyRoutesWithNestedTypes extends RouteBuilder {
- @Override
- public void configure() throws Exception {
+public class MyUser {
+
+ private String name;
+ private int age;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getAge() {
+ return age;
}
- public static class MyModel {
+ public void setAge(int age) {
+ this.age = age;
}
-}
\ No newline at end of file
+}
diff --git a/dsl/camel-java-joor-dsl/src/test/resources/log4j2-test.properties b/dsl/camel-java-joor-dsl/src/test/resources/log4j2-test.properties
new file mode 100644
index 0000000..fe99721
--- /dev/null
+++ b/dsl/camel-java-joor-dsl/src/test/resources/log4j2-test.properties
@@ -0,0 +1,31 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+
+appender.file.type = File
+appender.file.name = file
+appender.file.fileName = target/camel-java-joor-dsl-test.log
+appender.file.layout.type = PatternLayout
+appender.file.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
+
+appender.out.type = Console
+appender.out.name = out
+appender.out.layout.type = PatternLayout
+appender.out.layout.pattern = [%30.30t] %-30.30c{1} %-5p %m%n
+
+rootLogger.level = INFO
+rootLogger.appenderRef.file.ref = file
+#rootLogger.appenderRef.out.ref = out
diff --git a/components/camel-joor/src/test/resources/routes/MyRoutes.java b/dsl/camel-java-joor-dsl/src/test/resources/org/apache/camel/main/java/MyRoutesDummy.java
similarity index 89%
copy from components/camel-joor/src/test/resources/routes/MyRoutes.java
copy to dsl/camel-java-joor-dsl/src/test/resources/org/apache/camel/main/java/MyRoutesDummy.java
index 0d0b57c..785aa39 100644
--- a/components/camel-joor/src/test/resources/routes/MyRoutes.java
+++ b/dsl/camel-java-joor-dsl/src/test/resources/org/apache/camel/main/java/MyRoutesDummy.java
@@ -16,10 +16,10 @@
*/
import org.apache.camel.builder.RouteBuilder;
-public class MyRoutes extends RouteBuilder {
+public class MyRoutesDummy extends RouteBuilder {
@Override
public void configure() throws Exception {
- from("timer:tick")
- .to("log:info");
+ from("direct:dummy")
+ .to("mock:dummy");
}
}
\ No newline at end of file
diff --git a/components/camel-joor/src/test/resources/routes/MyRoutes.java b/dsl/camel-java-joor-dsl/src/test/resources/org/apache/camel/main/java/MyRoutesScan.java
similarity index 89%
copy from components/camel-joor/src/test/resources/routes/MyRoutes.java
copy to dsl/camel-java-joor-dsl/src/test/resources/org/apache/camel/main/java/MyRoutesScan.java
index 0d0b57c..9780c4c 100644
--- a/components/camel-joor/src/test/resources/routes/MyRoutes.java
+++ b/dsl/camel-java-joor-dsl/src/test/resources/org/apache/camel/main/java/MyRoutesScan.java
@@ -16,10 +16,10 @@
*/
import org.apache.camel.builder.RouteBuilder;
-public class MyRoutes extends RouteBuilder {
+public class MyRoutesScan extends RouteBuilder {
@Override
public void configure() throws Exception {
- from("timer:tick")
- .to("log:info");
+ from("direct:scan")
+ .to("mock:scan");
}
}
\ No newline at end of file
diff --git a/components/camel-joor/src/test/resources/routes/MyRoutes.java b/dsl/camel-java-joor-dsl/src/test/resources/org/apache/camel/main/java/MyRoutesWithRest.java
similarity index 83%
copy from components/camel-joor/src/test/resources/routes/MyRoutes.java
copy to dsl/camel-java-joor-dsl/src/test/resources/org/apache/camel/main/java/MyRoutesWithRest.java
index 0d0b57c..0c50514 100644
--- a/components/camel-joor/src/test/resources/routes/MyRoutes.java
+++ b/dsl/camel-java-joor-dsl/src/test/resources/org/apache/camel/main/java/MyRoutesWithRest.java
@@ -16,10 +16,13 @@
*/
import org.apache.camel.builder.RouteBuilder;
-public class MyRoutes extends RouteBuilder {
+public class MyRoutesWithRest extends RouteBuilder {
@Override
public void configure() throws Exception {
- from("timer:tick")
- .to("log:info");
+ rest()
+ .id("bar")
+ .path("/say/hello")
+ .get("/bar")
+ .to("mock:bar");
}
}
\ No newline at end of file
diff --git a/components/camel-joor/src/test/resources/routes/MyRoutes.java b/dsl/camel-java-joor-dsl/src/test/resources/org/apache/camel/main/java/MyRoutesWithTemplate.java
similarity index 77%
copy from components/camel-joor/src/test/resources/routes/MyRoutes.java
copy to dsl/camel-java-joor-dsl/src/test/resources/org/apache/camel/main/java/MyRoutesWithTemplate.java
index 0d0b57c..86df5ae 100644
--- a/components/camel-joor/src/test/resources/routes/MyRoutes.java
+++ b/dsl/camel-java-joor-dsl/src/test/resources/org/apache/camel/main/java/MyRoutesWithTemplate.java
@@ -16,10 +16,14 @@
*/
import org.apache.camel.builder.RouteBuilder;
-public class MyRoutes extends RouteBuilder {
+public class MyRoutesWithTemplate extends RouteBuilder {
@Override
public void configure() throws Exception {
- from("timer:tick")
- .to("log:info");
+ routeTemplate("myTemplate")
+ .templateParameter("foo")
+ .templateParameter("bar")
+ .route()
+ .from("direct:{{foo}}")
+ .to("mock:{{bat}}");
}
}
\ No newline at end of file
diff --git a/components/camel-joor/src/test/resources/routes/MyRoutes.java b/dsl/camel-java-joor-dsl/src/test/resources/routes/MyRoutes.java
similarity index 100%
rename from components/camel-joor/src/test/resources/routes/MyRoutes.java
rename to dsl/camel-java-joor-dsl/src/test/resources/routes/MyRoutes.java
diff --git a/components/camel-joor/src/test/resources/routes/MyRoutesWithBeans.java b/dsl/camel-java-joor-dsl/src/test/resources/routes/MyRoutesWithBeans.java
similarity index 100%
rename from components/camel-joor/src/test/resources/routes/MyRoutesWithBeans.java
rename to dsl/camel-java-joor-dsl/src/test/resources/routes/MyRoutesWithBeans.java
diff --git a/components/camel-joor/src/test/resources/routes/MyRoutesWithModel.java b/dsl/camel-java-joor-dsl/src/test/resources/routes/MyRoutesWithModel.java
similarity index 93%
rename from components/camel-joor/src/test/resources/routes/MyRoutesWithModel.java
rename to dsl/camel-java-joor-dsl/src/test/resources/routes/MyRoutesWithModel.java
index e434b2d..61ab328 100644
--- a/components/camel-joor/src/test/resources/routes/MyRoutesWithModel.java
+++ b/dsl/camel-java-joor-dsl/src/test/resources/routes/MyRoutesWithModel.java
@@ -21,7 +21,7 @@ public class MyRoutesWithModel extends RouteBuilder {
public void configure() throws Exception {
rest("/say")
.get("/emp/{id}")
- .outType(org.apache.camel.language.joor.MyUser.class)
+ .outType(org.apache.camel.dsl.java.joor.support.MyUser.class)
.to("direct:getEmployee");
from("direct:getEmployee")
diff --git a/components/camel-joor/src/test/resources/routes/MyRoutesWithNestedClass.java b/dsl/camel-java-joor-dsl/src/test/resources/routes/MyRoutesWithNestedClass.java
similarity index 100%
copy from components/camel-joor/src/test/resources/routes/MyRoutesWithNestedClass.java
copy to dsl/camel-java-joor-dsl/src/test/resources/routes/MyRoutesWithNestedClass.java
diff --git a/components/camel-joor/src/test/resources/routes/MyRoutesWithNestedTypes.java b/dsl/camel-java-joor-dsl/src/test/resources/routes/MyRoutesWithNestedTypes.java
similarity index 100%
rename from components/camel-joor/src/test/resources/routes/MyRoutesWithNestedTypes.java
rename to dsl/camel-java-joor-dsl/src/test/resources/routes/MyRoutesWithNestedTypes.java
diff --git a/components/camel-joor/src/test/resources/routes/MyRoutesWithPackage.java b/dsl/camel-java-joor-dsl/src/test/resources/routes/MyRoutesWithPackage.java
similarity index 100%
rename from components/camel-joor/src/test/resources/routes/MyRoutesWithPackage.java
rename to dsl/camel-java-joor-dsl/src/test/resources/routes/MyRoutesWithPackage.java
diff --git a/components/camel-joor/src/test/resources/routes/MyRoutesWithPackageAndComment.java b/dsl/camel-java-joor-dsl/src/test/resources/routes/MyRoutesWithPackageAndComment.java
similarity index 100%
rename from components/camel-joor/src/test/resources/routes/MyRoutesWithPackageAndComment.java
rename to dsl/camel-java-joor-dsl/src/test/resources/routes/MyRoutesWithPackageAndComment.java
diff --git a/components/camel-joor/src/test/resources/routes/MyRoutesWithPackageAndLineComment.java b/dsl/camel-java-joor-dsl/src/test/resources/routes/MyRoutesWithPackageAndLineComment.java
similarity index 100%
rename from components/camel-joor/src/test/resources/routes/MyRoutesWithPackageAndLineComment.java
rename to dsl/camel-java-joor-dsl/src/test/resources/routes/MyRoutesWithPackageAndLineComment.java
diff --git a/components/camel-joor/src/test/resources/routes/MyRoutesWithRestConfiguration.java b/dsl/camel-java-joor-dsl/src/test/resources/routes/MyRoutesWithRestConfiguration.java
similarity index 100%
rename from components/camel-joor/src/test/resources/routes/MyRoutesWithRestConfiguration.java
rename to dsl/camel-java-joor-dsl/src/test/resources/routes/MyRoutesWithRestConfiguration.java
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml b/dsl/camel-xml-io-dsl/pom.xml
similarity index 56%
copy from dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml
copy to dsl/camel-xml-io-dsl/pom.xml
index 298b94c..fea3406 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml
+++ b/dsl/camel-xml-io-dsl/pom.xml
@@ -24,64 +24,50 @@
<parent>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-yaml-dsl-parent</artifactId>
+ <artifactId>dsl</artifactId>
<version>3.9.0-SNAPSHOT</version>
</parent>
- <artifactId>camel-yaml-dsl</artifactId>
+ <artifactId>camel-xml-io-dsl</artifactId>
<packaging>jar</packaging>
- <name>Camel :: YAML DSL</name>
- <description>Camel DSL with YAML</description>
+ <name>Camel :: XML DSL with camel-xml-io</name>
+ <description>Camel XML DSL with camel-xml-io</description>
<properties>
<firstVersion>3.9.0</firstVersion>
- <sourcecheckExcludes>
- **/*.groovy
- </sourcecheckExcludes>
- <sourcecheckExcludesComma>
- ${sourcecheckExcludes},
- </sourcecheckExcludesComma>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-yaml-dsl-common</artifactId>
- <version>${project.version}</version>
+ <artifactId>camel-support</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-yaml-dsl-deserializers</artifactId>
- <version>${project.version}</version>
+ <artifactId>camel-core-model</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-xml-io</artifactId>
</dependency>
<dependency>
- <groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter</artifactId>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-core</artifactId>
+ <type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.assertj</groupId>
- <artifactId>assertj-core</artifactId>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-main</artifactId>
<scope>test</scope>
</dependency>
+
<dependency>
- <groupId>org.spockframework</groupId>
- <artifactId>spock-core</artifactId>
- <version>${spock-version}</version>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-core-engine</artifactId>
<scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>org.codehaus.groovy</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- <exclusion>
- <groupId>junit</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
</dependency>
-
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-direct</artifactId>
@@ -124,34 +110,17 @@
</dependency>
<dependency>
- <groupId>org.codehaus.groovy</groupId>
- <artifactId>groovy</artifactId>
- <version>${groovy-version}</version>
+ <groupId>org.assertj</groupId>
+ <artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.codehaus.groovy</groupId>
- <artifactId>groovy-test</artifactId>
- <version>${groovy-version}</version>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-test-junit5</artifactId>
<scope>test</scope>
</dependency>
<dependency>
- <groupId>com.github.java-json-tools</groupId>
- <artifactId>json-schema-validator</artifactId>
- <version>${json-schema-validator-version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.dataformat</groupId>
- <artifactId>jackson-dataformat-yaml</artifactId>
- </dependency>
-
- <dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<scope>test</scope>
@@ -173,40 +142,6 @@
<plugins>
<plugin>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-yaml-dsl-maven-plugin</artifactId>
- <version>${project.version}</version>
- <executions>
- <execution>
- <phase>generate-sources</phase>
- <goals>
- <goal>generate-yaml-schema</goal>
- </goals>
- <configuration>
- <bannedDefinitions>
- <bannedDefinition>org.apache.camel.model.FromDefinition</bannedDefinition>
- </bannedDefinitions>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.codehaus.gmavenplus</groupId>
- <artifactId>gmavenplus-plugin</artifactId>
- <version>${gmavenplus-plugin-version}</version>
- <executions>
- <execution>
- <goals>
- <goal>addTestSources</goal>
- <goal>compileTests</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <invokeDynamic>true</invokeDynamic>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.camel</groupId>
<artifactId>camel-package-maven-plugin</artifactId>
<executions>
<execution>
@@ -220,4 +155,17 @@
</plugins>
</build>
+ <!-- skip testing on java 8 -->
+ <profiles>
+ <profile>
+ <id>jdk8</id>
+ <activation>
+ <jdk>[,8)</jdk>
+ </activation>
+ <properties>
+ <maven.test.skip.exec>true</maven.test.skip.exec>
+ </properties>
+ </profile>
+ </profiles>
+
</project>
\ No newline at end of file
diff --git a/core/camel-xml-io/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/xml b/dsl/camel-xml-io-dsl/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/xml
similarity index 50%
rename from core/camel-xml-io/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/xml
rename to dsl/camel-xml-io-dsl/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/xml
index 78de6b4..4497cb0 100644
--- a/core/camel-xml-io/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/xml
+++ b/dsl/camel-xml-io-dsl/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/xml
@@ -1,2 +1,2 @@
# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.xml.in.XmlRoutesBuilderLoader
+class=org.apache.camel.dsl.xml.io.XmlRoutesBuilderLoader
diff --git a/dsl/camel-xml-io-dsl/src/main/docs/java-xml-io-dsl.adoc b/dsl/camel-xml-io-dsl/src/main/docs/java-xml-io-dsl.adoc
new file mode 100644
index 0000000..6a7bbc9
--- /dev/null
+++ b/dsl/camel-xml-io-dsl/src/main/docs/java-xml-io-dsl.adoc
@@ -0,0 +1,11 @@
+[[xml-io-dsl-other]]
+= Xml Io Dsl Component
+:docTitle: XML Dsl
+:artifactId: camel-xml-io-dsl
+:description: Camel DSL with YAML
+:supportLevel: Stable
+include::{cq-version}@camel-quarkus:ROOT:partial$reference/others/xml-io-dsl.adoc[opts=optional]
+//Manually maintained attributes
+:group: DSL
+
+See https://camel.apache.org/manual/latest/dsl.html
\ No newline at end of file
diff --git a/core/camel-xml-io/src/main/java/org/apache/camel/xml/in/XmlRoutesBuilderLoader.java b/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoader.java
similarity index 97%
rename from core/camel-xml-io/src/main/java/org/apache/camel/xml/in/XmlRoutesBuilderLoader.java
rename to dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoader.java
index 5c50e1b..e8f2b4b 100644
--- a/core/camel-xml-io/src/main/java/org/apache/camel/xml/in/XmlRoutesBuilderLoader.java
+++ b/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoader.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.xml.in;
+package org.apache.camel.dsl.xml.io;
import java.io.InputStream;
@@ -28,6 +28,7 @@ import org.apache.camel.spi.Resource;
import org.apache.camel.spi.StartupStepRecorder;
import org.apache.camel.spi.annotations.RoutesLoader;
import org.apache.camel.support.RoutesBuilderLoaderSupport;
+import org.apache.camel.xml.in.ModelParser;
@ManagedResource(description = "Managed XML RoutesBuilderLoader")
@RoutesLoader(XmlRoutesBuilderLoader.EXTENSION)
diff --git a/core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlRestsTest.java b/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlMainRestsTest.java
similarity index 96%
copy from core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlRestsTest.java
copy to dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlMainRestsTest.java
index 77c27b8..948d9c9 100644
--- a/core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlRestsTest.java
+++ b/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlMainRestsTest.java
@@ -14,13 +14,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.main.xml;
+package org.apache.camel.dsl.xml.io;
import java.util.List;
import org.apache.camel.CamelContext;
+import org.apache.camel.dsl.xml.io.support.MockRestConsumerFactory;
import org.apache.camel.main.Main;
-import org.apache.camel.main.support.MockRestConsumerFactory;
import org.apache.camel.model.ModelCamelContext;
import org.apache.camel.model.rest.GetVerbDefinition;
import org.apache.camel.model.rest.RestDefinition;
@@ -31,7 +31,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
-public class MainXmlRestsTest {
+public class XmlMainRestsTest {
@Test
public void testMainRestsCollector() {
diff --git a/core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlTemplateTest.java b/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlMainTemplateTest.java
similarity index 95%
copy from core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlTemplateTest.java
copy to dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlMainTemplateTest.java
index 847b862..50577d0 100644
--- a/core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlTemplateTest.java
+++ b/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlMainTemplateTest.java
@@ -14,18 +14,18 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.main.xml;
+package org.apache.camel.dsl.xml.io;
import org.apache.camel.CamelContext;
+import org.apache.camel.dsl.xml.io.support.MockRestConsumerFactory;
import org.apache.camel.main.Main;
-import org.apache.camel.main.support.MockRestConsumerFactory;
import org.apache.camel.model.ModelCamelContext;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
-public class MainXmlTemplateTest {
+public class XmlMainTemplateTest {
@Test
public void testMainRoutesCollector() {
diff --git a/core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlTest.java b/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlMainTest.java
similarity index 97%
copy from core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlTest.java
copy to dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlMainTest.java
index 44ac8f3..d689c61 100644
--- a/core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlTest.java
+++ b/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlMainTest.java
@@ -14,18 +14,18 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.main.xml;
+package org.apache.camel.dsl.xml.io;
import org.apache.camel.CamelContext;
import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.dsl.xml.io.support.MockRestConsumerFactory;
import org.apache.camel.main.Main;
-import org.apache.camel.main.support.MockRestConsumerFactory;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
-public class MainXmlTest {
+public class XmlMainTest {
@Test
public void testMainRoutesCollector() throws Exception {
diff --git a/core/camel-xml-io/src/test/java/org/apache/camel/xml/in/XmlRoutesBuilderLoaderTest.java b/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoaderTest.java
similarity index 99%
copy from core/camel-xml-io/src/test/java/org/apache/camel/xml/in/XmlRoutesBuilderLoaderTest.java
copy to dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoaderTest.java
index 2b916e6..c1fe3e7 100644
--- a/core/camel-xml-io/src/test/java/org/apache/camel/xml/in/XmlRoutesBuilderLoaderTest.java
+++ b/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoaderTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.xml.in;
+package org.apache.camel.dsl.xml.io;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;
diff --git a/components/camel-joor/src/test/resources/routes/MyRoutesWithNestedClass.java b/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/support/MockRestConsumerFactory.java
similarity index 55%
copy from components/camel-joor/src/test/resources/routes/MyRoutesWithNestedClass.java
copy to dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/support/MockRestConsumerFactory.java
index e4c2944..80bc75c 100644
--- a/components/camel-joor/src/test/resources/routes/MyRoutesWithNestedClass.java
+++ b/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/support/MockRestConsumerFactory.java
@@ -14,26 +14,28 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.RouteBuilder;
+package org.apache.camel.dsl.xml.io.support;
-public class MyRoutesWithNestedClass extends RouteBuilder {
- @Override
- public void configure() throws Exception {
- Processor toUpper = new Processor() {
- @Override
- public void process(Exchange exchange) throws Exception {
- String body = exchange.getIn().getBody(String.class);
- body = body.toUpperCase();
+import java.util.Map;
- exchange.getOut().setBody(body);
- }
- };
+import org.apache.camel.CamelContext;
+import org.apache.camel.Consumer;
+import org.apache.camel.Processor;
+import org.apache.camel.spi.RestConfiguration;
+import org.apache.camel.spi.RestConsumerFactory;
- from("timer:tick")
- .setBody().constant("test")
- .process(toUpper)
- .to("log:info");
+public final class MockRestConsumerFactory implements RestConsumerFactory {
+ @Override
+ public Consumer createConsumer(
+ CamelContext camelContext,
+ Processor processor,
+ String verb,
+ String basePath,
+ String uriTemplate,
+ String consumes,
+ String produces,
+ RestConfiguration configuration,
+ Map<String, Object> parameters) {
+ return null;
}
-}
\ No newline at end of file
+}
diff --git a/dsl/camel-xml-io-dsl/src/test/resources/log4j2-test.properties b/dsl/camel-xml-io-dsl/src/test/resources/log4j2-test.properties
new file mode 100644
index 0000000..b8d8a73
--- /dev/null
+++ b/dsl/camel-xml-io-dsl/src/test/resources/log4j2-test.properties
@@ -0,0 +1,31 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+
+appender.file.type = File
+appender.file.name = file
+appender.file.fileName = target/camel-xml-io-dsl-test.log
+appender.file.layout.type = PatternLayout
+appender.file.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
+
+appender.out.type = Console
+appender.out.name = out
+appender.out.layout.type = PatternLayout
+appender.out.layout.pattern = [%30.30t] %-30.30c{1} %-5p %m%n
+
+rootLogger.level = INFO
+rootLogger.appenderRef.file.ref = file
+#rootLogger.appenderRef.out.ref = out
diff --git a/core/camel-main/src/test/resources/org/apache/camel/main/xml/camel-dummy.xml b/dsl/camel-xml-io-dsl/src/test/resources/org/apache/camel/main/xml/camel-dummy.xml
similarity index 93%
copy from core/camel-main/src/test/resources/org/apache/camel/main/xml/camel-dummy.xml
copy to dsl/camel-xml-io-dsl/src/test/resources/org/apache/camel/main/xml/camel-dummy.xml
index 901aa8d..ba9df1e 100644
--- a/core/camel-main/src/test/resources/org/apache/camel/main/xml/camel-dummy.xml
+++ b/dsl/camel-xml-io-dsl/src/test/resources/org/apache/camel/main/xml/camel-dummy.xml
@@ -17,7 +17,7 @@
limitations under the License.
-->
-<routes id="camel" xmlns="http://camel.apache.org/schema/spring">
+<routes xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="direct:dummy"/>
<to uri="mock:dummy"/>
diff --git a/core/camel-main/src/test/resources/org/apache/camel/main/xml/camel-rests.xml b/dsl/camel-xml-io-dsl/src/test/resources/org/apache/camel/main/xml/camel-rests.xml
similarity index 100%
copy from core/camel-main/src/test/resources/org/apache/camel/main/xml/camel-rests.xml
copy to dsl/camel-xml-io-dsl/src/test/resources/org/apache/camel/main/xml/camel-rests.xml
diff --git a/core/camel-main/src/test/resources/org/apache/camel/main/xml/camel-scan.xml b/dsl/camel-xml-io-dsl/src/test/resources/org/apache/camel/main/xml/camel-scan.xml
similarity index 93%
copy from core/camel-main/src/test/resources/org/apache/camel/main/xml/camel-scan.xml
copy to dsl/camel-xml-io-dsl/src/test/resources/org/apache/camel/main/xml/camel-scan.xml
index 2e61ef3..aa6ce8e 100644
--- a/core/camel-main/src/test/resources/org/apache/camel/main/xml/camel-scan.xml
+++ b/dsl/camel-xml-io-dsl/src/test/resources/org/apache/camel/main/xml/camel-scan.xml
@@ -17,7 +17,7 @@
limitations under the License.
-->
-<routes id="camel" xmlns="http://camel.apache.org/schema/spring">
+<routes xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="direct:scan"/>
<to uri="mock:scan"/>
diff --git a/core/camel-main/src/test/resources/org/apache/camel/main/xml/camel-template.xml b/dsl/camel-xml-io-dsl/src/test/resources/org/apache/camel/main/xml/camel-template.xml
similarity index 80%
copy from core/camel-main/src/test/resources/org/apache/camel/main/xml/camel-template.xml
copy to dsl/camel-xml-io-dsl/src/test/resources/org/apache/camel/main/xml/camel-template.xml
index f626de0..0f30dc8 100644
--- a/core/camel-main/src/test/resources/org/apache/camel/main/xml/camel-template.xml
+++ b/dsl/camel-xml-io-dsl/src/test/resources/org/apache/camel/main/xml/camel-template.xml
@@ -18,8 +18,12 @@
-->
<routeTemplates xmlns="http://camel.apache.org/schema/spring">
- <routeTemplate id="myTemplate" parameters="foo,bar">
- <from uri="direct:{{foo}}"/>
- <to uri="mock:{{bar}}"/>
+ <routeTemplate id="myTemplate">
+ <templateParameter name="foo"/>
+ <templateParameter name="bar"/>
+ <route>
+ <from uri="direct:{{foo}}"/>
+ <to uri="mock:{{bar}}"/>
+ </route>
</routeTemplate>
</routeTemplates>
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml b/dsl/camel-xml-jaxb-dsl/pom.xml
similarity index 55%
copy from dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml
copy to dsl/camel-xml-jaxb-dsl/pom.xml
index 298b94c..78a0e03 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml
+++ b/dsl/camel-xml-jaxb-dsl/pom.xml
@@ -24,64 +24,44 @@
<parent>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-yaml-dsl-parent</artifactId>
+ <artifactId>dsl</artifactId>
<version>3.9.0-SNAPSHOT</version>
</parent>
- <artifactId>camel-yaml-dsl</artifactId>
+ <artifactId>camel-xml-jaxb-dsl</artifactId>
<packaging>jar</packaging>
- <name>Camel :: YAML DSL</name>
- <description>Camel DSL with YAML</description>
+ <name>Camel :: XML DSL with camel-xml-jaxb</name>
+ <description>Camel XML DSL with acmel-xml-jaxb</description>
<properties>
<firstVersion>3.9.0</firstVersion>
- <sourcecheckExcludes>
- **/*.groovy
- </sourcecheckExcludes>
- <sourcecheckExcludesComma>
- ${sourcecheckExcludes},
- </sourcecheckExcludesComma>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-yaml-dsl-common</artifactId>
- <version>${project.version}</version>
+ <artifactId>camel-support</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-yaml-dsl-deserializers</artifactId>
- <version>${project.version}</version>
+ <artifactId>camel-core-model</artifactId>
</dependency>
-
<dependency>
- <groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter</artifactId>
- <scope>test</scope>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-xml-jaxb</artifactId>
</dependency>
+
<dependency>
- <groupId>org.assertj</groupId>
- <artifactId>assertj-core</artifactId>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-core</artifactId>
+ <type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.spockframework</groupId>
- <artifactId>spock-core</artifactId>
- <version>${spock-version}</version>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-main</artifactId>
<scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>org.codehaus.groovy</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- <exclusion>
- <groupId>junit</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
</dependency>
-
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-direct</artifactId>
@@ -124,34 +104,17 @@
</dependency>
<dependency>
- <groupId>org.codehaus.groovy</groupId>
- <artifactId>groovy</artifactId>
- <version>${groovy-version}</version>
+ <groupId>org.assertj</groupId>
+ <artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.codehaus.groovy</groupId>
- <artifactId>groovy-test</artifactId>
- <version>${groovy-version}</version>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-test-junit5</artifactId>
<scope>test</scope>
</dependency>
<dependency>
- <groupId>com.github.java-json-tools</groupId>
- <artifactId>json-schema-validator</artifactId>
- <version>${json-schema-validator-version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.dataformat</groupId>
- <artifactId>jackson-dataformat-yaml</artifactId>
- </dependency>
-
- <dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<scope>test</scope>
@@ -173,40 +136,6 @@
<plugins>
<plugin>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-yaml-dsl-maven-plugin</artifactId>
- <version>${project.version}</version>
- <executions>
- <execution>
- <phase>generate-sources</phase>
- <goals>
- <goal>generate-yaml-schema</goal>
- </goals>
- <configuration>
- <bannedDefinitions>
- <bannedDefinition>org.apache.camel.model.FromDefinition</bannedDefinition>
- </bannedDefinitions>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.codehaus.gmavenplus</groupId>
- <artifactId>gmavenplus-plugin</artifactId>
- <version>${gmavenplus-plugin-version}</version>
- <executions>
- <execution>
- <goals>
- <goal>addTestSources</goal>
- <goal>compileTests</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <invokeDynamic>true</invokeDynamic>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.camel</groupId>
<artifactId>camel-package-maven-plugin</artifactId>
<executions>
<execution>
@@ -220,4 +149,17 @@
</plugins>
</build>
+ <!-- skip testing on java 8 -->
+ <profiles>
+ <profile>
+ <id>jdk8</id>
+ <activation>
+ <jdk>[,8)</jdk>
+ </activation>
+ <properties>
+ <maven.test.skip.exec>true</maven.test.skip.exec>
+ </properties>
+ </profile>
+ </profiles>
+
</project>
\ No newline at end of file
diff --git a/dsl/camel-xml-jaxb-dsl/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/xml b/dsl/camel-xml-jaxb-dsl/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/xml
new file mode 100644
index 0000000..a0547c8
--- /dev/null
+++ b/dsl/camel-xml-jaxb-dsl/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/xml
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.dsl.xml.jaxb.JaxbXmlRoutesBuilderLoader
diff --git a/dsl/camel-xml-jaxb-dsl/src/main/docs/java-xml-jaxb-dsl.adoc b/dsl/camel-xml-jaxb-dsl/src/main/docs/java-xml-jaxb-dsl.adoc
new file mode 100644
index 0000000..62c32db
--- /dev/null
+++ b/dsl/camel-xml-jaxb-dsl/src/main/docs/java-xml-jaxb-dsl.adoc
@@ -0,0 +1,11 @@
+[[xml-jaxb-dsl-other]]
+= Jaxb Xml Dsl Component
+:docTitle: Jaxb XML Dsl
+:artifactId: camel-xml-jaxb-dsl
+:description: Camel DSL with YAML
+:supportLevel: Stable
+include::{cq-version}@camel-quarkus:ROOT:partial$reference/others/xml-jaxb-dsl.adoc[opts=optional]
+//Manually maintained attributes
+:group: DSL
+
+See https://camel.apache.org/manual/latest/dsl.html
\ No newline at end of file
diff --git a/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbXmlRoutesBuilderLoader.java b/dsl/camel-xml-jaxb-dsl/src/main/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlRoutesBuilderLoader.java
similarity index 99%
rename from core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbXmlRoutesBuilderLoader.java
rename to dsl/camel-xml-jaxb-dsl/src/main/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlRoutesBuilderLoader.java
index 69f62c1..6413a23 100644
--- a/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbXmlRoutesBuilderLoader.java
+++ b/dsl/camel-xml-jaxb-dsl/src/main/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlRoutesBuilderLoader.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.xml.jaxb;
+package org.apache.camel.dsl.xml.jaxb;
import java.io.InputStream;
diff --git a/core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlRestsTest.java b/dsl/camel-xml-jaxb-dsl/src/test/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlMainRestsTest.java
similarity index 96%
rename from core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlRestsTest.java
rename to dsl/camel-xml-jaxb-dsl/src/test/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlMainRestsTest.java
index 77c27b8..7710282 100644
--- a/core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlRestsTest.java
+++ b/dsl/camel-xml-jaxb-dsl/src/test/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlMainRestsTest.java
@@ -14,13 +14,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.main.xml;
+package org.apache.camel.dsl.xml.jaxb;
import java.util.List;
import org.apache.camel.CamelContext;
+import org.apache.camel.dsl.xml.jaxb.support.MockRestConsumerFactory;
import org.apache.camel.main.Main;
-import org.apache.camel.main.support.MockRestConsumerFactory;
import org.apache.camel.model.ModelCamelContext;
import org.apache.camel.model.rest.GetVerbDefinition;
import org.apache.camel.model.rest.RestDefinition;
@@ -31,7 +31,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
-public class MainXmlRestsTest {
+public class JaxbXmlMainRestsTest {
@Test
public void testMainRestsCollector() {
diff --git a/core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlTemplateTest.java b/dsl/camel-xml-jaxb-dsl/src/test/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlMainTemplateTest.java
similarity index 95%
rename from core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlTemplateTest.java
rename to dsl/camel-xml-jaxb-dsl/src/test/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlMainTemplateTest.java
index 847b862..3057bae 100644
--- a/core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlTemplateTest.java
+++ b/dsl/camel-xml-jaxb-dsl/src/test/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlMainTemplateTest.java
@@ -14,18 +14,18 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.main.xml;
+package org.apache.camel.dsl.xml.jaxb;
import org.apache.camel.CamelContext;
+import org.apache.camel.dsl.xml.jaxb.support.MockRestConsumerFactory;
import org.apache.camel.main.Main;
-import org.apache.camel.main.support.MockRestConsumerFactory;
import org.apache.camel.model.ModelCamelContext;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
-public class MainXmlTemplateTest {
+public class JaxbXmlMainTemplateTest {
@Test
public void testMainRoutesCollector() {
diff --git a/core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlTest.java b/dsl/camel-xml-jaxb-dsl/src/test/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlMainTest.java
similarity index 97%
rename from core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlTest.java
rename to dsl/camel-xml-jaxb-dsl/src/test/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlMainTest.java
index 44ac8f3..5d885ca 100644
--- a/core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlTest.java
+++ b/dsl/camel-xml-jaxb-dsl/src/test/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlMainTest.java
@@ -14,18 +14,18 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.main.xml;
+package org.apache.camel.dsl.xml.jaxb;
import org.apache.camel.CamelContext;
import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.dsl.xml.jaxb.support.MockRestConsumerFactory;
import org.apache.camel.main.Main;
-import org.apache.camel.main.support.MockRestConsumerFactory;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
-public class MainXmlTest {
+public class JaxbXmlMainTest {
@Test
public void testMainRoutesCollector() throws Exception {
diff --git a/core/camel-xml-io/src/test/java/org/apache/camel/xml/in/XmlRoutesBuilderLoaderTest.java b/dsl/camel-xml-jaxb-dsl/src/test/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlRoutesBuilderLoaderTest.java
similarity index 79%
rename from core/camel-xml-io/src/test/java/org/apache/camel/xml/in/XmlRoutesBuilderLoaderTest.java
rename to dsl/camel-xml-jaxb-dsl/src/test/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlRoutesBuilderLoaderTest.java
index 2b916e6..6804f53 100644
--- a/core/camel-xml-io/src/test/java/org/apache/camel/xml/in/XmlRoutesBuilderLoaderTest.java
+++ b/dsl/camel-xml-jaxb-dsl/src/test/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlRoutesBuilderLoaderTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.xml.in;
+package org.apache.camel.dsl.xml.jaxb;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;
@@ -23,7 +23,7 @@ import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertFalse;
-public class XmlRoutesBuilderLoaderTest {
+public class JaxbXmlRoutesBuilderLoaderTest {
@Test
public void canLoadRoutes() throws Exception {
String content = ""
@@ -39,8 +39,12 @@ public class XmlRoutesBuilderLoaderTest {
+ "</routes>";
Resource resource = Resource.fromString("in-memory.xml", content);
- RouteBuilder builder = (RouteBuilder) new XmlRoutesBuilderLoader().loadRoutesBuilder(resource);
- builder.setContext(new DefaultCamelContext());
+
+ JaxbXmlRoutesBuilderLoader loader = new JaxbXmlRoutesBuilderLoader();
+ loader.setCamelContext(new DefaultCamelContext());
+
+ RouteBuilder builder = (RouteBuilder) loader.loadRoutesBuilder(resource);
+ builder.setContext(loader.getCamelContext());
builder.configure();
assertFalse(builder.getRouteCollection().getRoutes().isEmpty());
@@ -58,8 +62,12 @@ public class XmlRoutesBuilderLoaderTest {
+ "</rests>";
Resource resource = Resource.fromString("in-memory.xml", content);
- RouteBuilder builder = (RouteBuilder) new XmlRoutesBuilderLoader().loadRoutesBuilder(resource);
- builder.setContext(new DefaultCamelContext());
+
+ JaxbXmlRoutesBuilderLoader loader = new JaxbXmlRoutesBuilderLoader();
+ loader.setCamelContext(new DefaultCamelContext());
+
+ RouteBuilder builder = (RouteBuilder) loader.loadRoutesBuilder(resource);
+ builder.setContext(loader.getCamelContext());
builder.configure();
assertFalse(builder.getRestCollection().getRests().isEmpty());
@@ -80,8 +88,12 @@ public class XmlRoutesBuilderLoaderTest {
+ "</routeTemplates>";
Resource resource = Resource.fromString("in-memory.xml", content);
- RouteBuilder builder = (RouteBuilder) new XmlRoutesBuilderLoader().loadRoutesBuilder(resource);
- builder.setContext(new DefaultCamelContext());
+
+ JaxbXmlRoutesBuilderLoader loader = new JaxbXmlRoutesBuilderLoader();
+ loader.setCamelContext(new DefaultCamelContext());
+
+ RouteBuilder builder = (RouteBuilder) loader.loadRoutesBuilder(resource);
+ builder.setContext(loader.getCamelContext());
builder.configure();
assertFalse(builder.getRouteTemplateCollection().getRouteTemplates().isEmpty());
diff --git a/components/camel-joor/src/test/resources/routes/MyRoutesWithNestedClass.java b/dsl/camel-xml-jaxb-dsl/src/test/java/org/apache/camel/dsl/xml/jaxb/support/MockRestConsumerFactory.java
similarity index 55%
rename from components/camel-joor/src/test/resources/routes/MyRoutesWithNestedClass.java
rename to dsl/camel-xml-jaxb-dsl/src/test/java/org/apache/camel/dsl/xml/jaxb/support/MockRestConsumerFactory.java
index e4c2944..6420433 100644
--- a/components/camel-joor/src/test/resources/routes/MyRoutesWithNestedClass.java
+++ b/dsl/camel-xml-jaxb-dsl/src/test/java/org/apache/camel/dsl/xml/jaxb/support/MockRestConsumerFactory.java
@@ -14,26 +14,28 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.RouteBuilder;
+package org.apache.camel.dsl.xml.jaxb.support;
-public class MyRoutesWithNestedClass extends RouteBuilder {
- @Override
- public void configure() throws Exception {
- Processor toUpper = new Processor() {
- @Override
- public void process(Exchange exchange) throws Exception {
- String body = exchange.getIn().getBody(String.class);
- body = body.toUpperCase();
+import java.util.Map;
- exchange.getOut().setBody(body);
- }
- };
+import org.apache.camel.CamelContext;
+import org.apache.camel.Consumer;
+import org.apache.camel.Processor;
+import org.apache.camel.spi.RestConfiguration;
+import org.apache.camel.spi.RestConsumerFactory;
- from("timer:tick")
- .setBody().constant("test")
- .process(toUpper)
- .to("log:info");
+public final class MockRestConsumerFactory implements RestConsumerFactory {
+ @Override
+ public Consumer createConsumer(
+ CamelContext camelContext,
+ Processor processor,
+ String verb,
+ String basePath,
+ String uriTemplate,
+ String consumes,
+ String produces,
+ RestConfiguration configuration,
+ Map<String, Object> parameters) {
+ return null;
}
-}
\ No newline at end of file
+}
diff --git a/dsl/camel-xml-jaxb-dsl/src/test/resources/log4j2-test.properties b/dsl/camel-xml-jaxb-dsl/src/test/resources/log4j2-test.properties
new file mode 100644
index 0000000..5c45b64
--- /dev/null
+++ b/dsl/camel-xml-jaxb-dsl/src/test/resources/log4j2-test.properties
@@ -0,0 +1,31 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+
+appender.file.type = File
+appender.file.name = file
+appender.file.fileName = target/camel-xml-jaxb-dsl-test.log
+appender.file.layout.type = PatternLayout
+appender.file.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
+
+appender.out.type = Console
+appender.out.name = out
+appender.out.layout.type = PatternLayout
+appender.out.layout.pattern = [%30.30t] %-30.30c{1} %-5p %m%n
+
+rootLogger.level = INFO
+rootLogger.appenderRef.file.ref = file
+#rootLogger.appenderRef.out.ref = out
diff --git a/core/camel-main/src/test/resources/org/apache/camel/main/xml/camel-dummy.xml b/dsl/camel-xml-jaxb-dsl/src/test/resources/org/apache/camel/main/xml/camel-dummy.xml
similarity index 100%
rename from core/camel-main/src/test/resources/org/apache/camel/main/xml/camel-dummy.xml
rename to dsl/camel-xml-jaxb-dsl/src/test/resources/org/apache/camel/main/xml/camel-dummy.xml
diff --git a/core/camel-main/src/test/resources/org/apache/camel/main/xml/camel-rests.xml b/dsl/camel-xml-jaxb-dsl/src/test/resources/org/apache/camel/main/xml/camel-rests.xml
similarity index 100%
rename from core/camel-main/src/test/resources/org/apache/camel/main/xml/camel-rests.xml
rename to dsl/camel-xml-jaxb-dsl/src/test/resources/org/apache/camel/main/xml/camel-rests.xml
diff --git a/core/camel-main/src/test/resources/org/apache/camel/main/xml/camel-scan.xml b/dsl/camel-xml-jaxb-dsl/src/test/resources/org/apache/camel/main/xml/camel-scan.xml
similarity index 100%
rename from core/camel-main/src/test/resources/org/apache/camel/main/xml/camel-scan.xml
rename to dsl/camel-xml-jaxb-dsl/src/test/resources/org/apache/camel/main/xml/camel-scan.xml
diff --git a/core/camel-main/src/test/resources/org/apache/camel/main/xml/camel-template.xml b/dsl/camel-xml-jaxb-dsl/src/test/resources/org/apache/camel/main/xml/camel-template.xml
similarity index 80%
rename from core/camel-main/src/test/resources/org/apache/camel/main/xml/camel-template.xml
rename to dsl/camel-xml-jaxb-dsl/src/test/resources/org/apache/camel/main/xml/camel-template.xml
index f626de0..0f30dc8 100644
--- a/core/camel-main/src/test/resources/org/apache/camel/main/xml/camel-template.xml
+++ b/dsl/camel-xml-jaxb-dsl/src/test/resources/org/apache/camel/main/xml/camel-template.xml
@@ -18,8 +18,12 @@
-->
<routeTemplates xmlns="http://camel.apache.org/schema/spring">
- <routeTemplate id="myTemplate" parameters="foo,bar">
- <from uri="direct:{{foo}}"/>
- <to uri="mock:{{bar}}"/>
+ <routeTemplate id="myTemplate">
+ <templateParameter name="foo"/>
+ <templateParameter name="bar"/>
+ <route>
+ <from uri="direct:{{foo}}"/>
+ <to uri="mock:{{bar}}"/>
+ </route>
</routeTemplate>
</routeTemplates>
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/generated/resources/META-INF/services/org/apache/camel/other.properties b/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/generated/resources/META-INF/services/org/apache/camel/other.properties
deleted file mode 100644
index 0fbee6d..0000000
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/generated/resources/META-INF/services/org/apache/camel/other.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-name=yaml-dsl-common
-groupId=org.apache.camel
-artifactId=camel-yaml-dsl-common
-version=3.9.0-SNAPSHOT
-projectName=Camel :: YAML DSL :: Common
-projectDescription=Camel DSL with YAML Common
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml b/dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml
index 298b94c..6e17776 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml
@@ -84,6 +84,11 @@
<dependency>
<groupId>org.apache.camel</groupId>
+ <artifactId>camel-main</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
<artifactId>camel-direct</artifactId>
<scope>test</scope>
</dependency>
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties
deleted file mode 100644
index b6c1a30..0000000
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-name=yaml-dsl
-groupId=org.apache.camel
-artifactId=camel-yaml-dsl
-version=3.9.0-SNAPSHOT
-projectName=Camel :: YAML DSL
-projectDescription=Camel DSL with YAML
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/yaml-dsl.json b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/yaml-dsl.json
deleted file mode 100644
index 2b9161a..0000000
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/yaml-dsl.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "other": {
- "kind": "other",
- "name": "yaml-dsl",
- "title": "Yaml Dsl",
- "description": "Camel DSL with YAML",
- "deprecated": false,
- "firstVersion": "3.9.0",
- "supportLevel": "Preview",
- "groupId": "org.apache.camel",
- "artifactId": "camel-yaml-dsl",
- "version": "3.9.0-SNAPSHOT"
- }
-}
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/docs/yaml-dsl.adoc b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/docs/yaml-dsl.adoc
index 080603d..95be86e 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/docs/yaml-dsl.adoc
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/docs/yaml-dsl.adoc
@@ -1,5 +1,5 @@
-[[yaml-dsl-other]]
-= Yaml Dsl Component
+[[yaml-dsl]]
+= Yaml Dsl
:docTitle: Yaml Dsl
:artifactId: camel-yaml-dsl
:description: Camel DSL with YAML
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/java/org/apache/camel/dsl/yaml/YamlRoutesBuilderLoader.java b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/java/org/apache/camel/dsl/yaml/YamlRoutesBuilderLoader.java
index 1ea50f8..e313569 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/java/org/apache/camel/dsl/yaml/YamlRoutesBuilderLoader.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/java/org/apache/camel/dsl/yaml/YamlRoutesBuilderLoader.java
@@ -19,7 +19,11 @@ package org.apache.camel.dsl.yaml;
import java.io.InputStream;
import java.util.List;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.RoutesBuilder;
+import org.apache.camel.StartupStep;
+import org.apache.camel.api.management.ManagedAttribute;
+import org.apache.camel.api.management.ManagedResource;
import org.apache.camel.builder.ErrorHandlerBuilder;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.dsl.yaml.common.YamlDeserializationContext;
@@ -33,6 +37,7 @@ import org.apache.camel.model.rest.RestDefinition;
import org.apache.camel.model.rest.VerbDefinition;
import org.apache.camel.spi.CamelContextCustomizer;
import org.apache.camel.spi.Resource;
+import org.apache.camel.spi.StartupStepRecorder;
import org.apache.camel.spi.annotations.RoutesLoader;
import org.apache.camel.support.RoutesBuilderLoaderSupport;
import org.apache.camel.support.service.ServiceHelper;
@@ -40,16 +45,19 @@ import org.apache.camel.util.ObjectHelper;
import org.snakeyaml.engine.v2.api.Load;
import org.snakeyaml.engine.v2.api.LoadSettings;
+@ManagedResource(description = "Managed YAML RoutesBuilderLoader")
@RoutesLoader(YamlRoutesBuilderLoader.EXTENSION)
public class YamlRoutesBuilderLoader extends RoutesBuilderLoaderSupport {
public static final String EXTENSION = "yaml";
private LoadSettings settings;
private YamlDeserializationContext constructor;
+ private StartupStepRecorder recorder;
public YamlRoutesBuilderLoader() {
}
+ @ManagedAttribute(description = "Supported file extension")
@Override
public String getSupportedExtension() {
return EXTENSION;
@@ -59,6 +67,8 @@ public class YamlRoutesBuilderLoader extends RoutesBuilderLoaderSupport {
protected void doBuild() throws Exception {
super.doBuild();
+ this.recorder = getCamelContext().adapt(ExtendedCamelContext.class).getStartupStepRecorder();
+
this.settings = LoadSettings.builder().build();
this.constructor = new YamlDeserializationContext(settings);
this.constructor.setCamelContext(getCamelContext());
@@ -92,11 +102,22 @@ public class YamlRoutesBuilderLoader extends RoutesBuilderLoaderSupport {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- Load load = new Load(settings, constructor);
+ final Load load = new Load(settings, constructor);
+
+ StartupStep step = recorder != null
+ ? recorder.beginStep(YamlRoutesBuilderLoader.class, resource.getLocation(),
+ "Loading and Parsing YAML routes")
+ : null;
+
try (InputStream is = resource.getInputStream()) {
for (Object item : (List<?>) load.loadFromInputStream(is)) {
+
configure(item);
}
+ } finally {
+ if (recorder != null) {
+ recorder.endStep(step);
+ }
}
}
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/MainTest.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/MainTest.groovy
new file mode 100644
index 0000000..e7d9ede
--- /dev/null
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/MainTest.groovy
@@ -0,0 +1,39 @@
+/*
+ * 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.dsl.yaml
+
+
+import org.apache.camel.component.mock.MockEndpoint
+import org.apache.camel.dsl.yaml.support.MockRestConsumerFactory
+import org.apache.camel.main.Main
+import spock.lang.Specification
+
+class MainTest extends Specification {
+
+ def 'load routes with main'() {
+ given:
+ def main = new Main()
+ main.bind("restConsumerFactory", new MockRestConsumerFactory())
+ main.configure().withRoutesIncludePattern('routes/ro*.yaml')
+ when:
+ main.start()
+ main.camelContext.getEndpoint("mock:result", MockEndpoint.class).expectedBodiesReceived("Hello World")
+ main.camelTemplate.sendBody("direct:start", "Hello World")
+ then:
+ main.camelContext.getEndpoint("mock:result", MockEndpoint.class).assertIsSatisfied()
+ }
+}
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/resources/routes/routes.yaml b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/resources/routes/routes.yaml
new file mode 100644
index 0000000..6218fd3
--- /dev/null
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/resources/routes/routes.yaml
@@ -0,0 +1,20 @@
+#
+# 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.
+#
+- from:
+ uri: "direct:start"
+ steps:
+ - to: "mock:result"
\ No newline at end of file
diff --git a/dsl/pom.xml b/dsl/pom.xml
index fcc07e3..0d4b9ea 100644
--- a/dsl/pom.xml
+++ b/dsl/pom.xml
@@ -34,6 +34,9 @@
<description>Camel DSLs Modules</description>
<modules>
+ <module>camel-java-joor-dsl</module>
+ <module>camel-xml-io-dsl</module>
+ <module>camel-xml-jaxb-dsl</module>
<module>camel-yaml-dsl</module>
</modules>
diff --git a/parent/pom.xml b/parent/pom.xml
index 5476cb9..5462bf7 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -2595,55 +2595,72 @@
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-yaml-dsl-common</artifactId>
+ <artifactId>camel-yammer</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-yaml-dsl-deserializers</artifactId>
+ <artifactId>camel-zendesk</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-yaml-dsl</artifactId>
+ <artifactId>camel-zip-deflater</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-yammer</artifactId>
+ <artifactId>camel-zipfile</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-zendesk</artifactId>
+ <artifactId>camel-zipkin</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-zip-deflater</artifactId>
+ <artifactId>camel-zookeeper-master</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-zipfile</artifactId>
+ <artifactId>camel-zookeeper</artifactId>
<version>${project.version}</version>
</dependency>
+ <!-- camel components: END -->
+
+ <!-- camel dsl -->
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-zipkin</artifactId>
+ <artifactId>camel-java-joor-dsl</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-zookeeper-master</artifactId>
+ <artifactId>camel-yaml-dsl-common</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-zookeeper</artifactId>
+ <artifactId>camel-yaml-dsl-deserializers</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-xml-io-dsl</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-xml-jaxb-dsl</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-yaml-dsl</artifactId>
<version>${project.version}</version>
</dependency>
- <!-- camel components: END -->
<!-- camel catalog -->
<dependency>