You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by lb...@apache.org on 2019/11/28 06:47:02 UTC
[camel-k-runtime] 01/02: YAML: add annotation to auto geenrate
support classes and quarkus reflective class discovery
This is an automated email from the ASF dual-hosted git repository.
lburgazzoli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k-runtime.git
commit 1d8d6b7b612ea3e9a0aa6448fc8b5945c6ade18c
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Tue Nov 26 16:29:07 2019 +0100
YAML: add annotation to auto geenrate support classes and quarkus reflective class discovery
---
.../{ => camel-k-loader-yaml-common}/pom.xml | 89 +--------
.../org/apache/camel/k/loader/yaml/model/Node.java | 0
.../org/apache/camel/k/loader/yaml/model/Step.java | 4 -
.../k/loader/yaml/parser/AggregateStepParser.java | 11 +-
.../camel/k/loader/yaml/parser/BeanStepParser.java | 0
.../k/loader/yaml/parser/ChoiceStepParser.java | 4 +-
.../k/loader/yaml/parser/ClaimCheckStepParser.java | 0
.../loader/yaml/parser/ConvertBodyStepParser.java | 0
.../k/loader/yaml/parser/DelayStepParser.java | 5 +-
.../yaml/parser/DynamicRouterStepParser.java | 10 +-
.../k/loader/yaml/parser/EnrichStepParser.java | 10 +-
.../k/loader/yaml/parser/FilterStepParser.java | 9 +-
.../camel/k/loader/yaml/parser/FromStepParser.java | 4 +-
.../camel/k/loader/yaml/parser/LogStepParser.java | 0
.../camel/k/loader/yaml/parser/LoopStepParser.java | 9 +-
.../k/loader/yaml/parser/MarshalStepParser.java | 10 +-
.../k/loader/yaml/parser/MulticastStepParser.java | 9 +-
.../k/loader/yaml/parser/PipelineStepParser.java | 4 +-
.../k/loader/yaml/parser/PollEnrichStepParser.java | 10 +-
.../k/loader/yaml/parser/ProcessStepParser.java | 0
.../k/loader/yaml/parser/ProcessorStepParser.java | 0
.../yaml/parser/RecipientListStepParser.java | 10 +-
.../loader/yaml/parser/RemoveHeaderStepParser.java | 10 +-
.../yaml/parser/RemoveHeadersStepParser.java | 0
.../yaml/parser/RemovePropertiesStepParser.java | 0
.../yaml/parser/RemovePropertyStepParser.java | 10 +-
.../k/loader/yaml/parser/ResequenceStepParser.java | 9 +-
.../camel/k/loader/yaml/parser/RestStepParser.java | 4 +-
.../k/loader/yaml/parser/RouteStepParser.java | 6 +-
.../loader/yaml/parser/RoutingSlipStepParser.java | 10 +-
.../k/loader/yaml/parser/SampleStepParser.java | 9 +-
.../k/loader/yaml/parser/SetBodyStepParser.java | 10 +-
.../k/loader/yaml/parser/SetHeaderStepParser.java | 10 +-
.../loader/yaml/parser/SetPropertyStepParser.java | 10 +-
.../camel/k/loader/yaml/parser/SortStepParser.java | 10 +-
.../k/loader/yaml/parser/SplitStepParser.java | 9 +-
.../k/loader/yaml/parser/StartStepParser.java | 0
.../camel/k/loader/yaml/parser/StepParser.java | 0
.../k/loader/yaml/parser/StepParserException.java | 0
.../k/loader/yaml/parser/StepParserSupport.java | 0
.../camel/k/loader/yaml/parser/StopStepParser.java | 0
.../k/loader/yaml/parser/ThreadsStepParser.java | 0
.../k/loader/yaml/parser/ThrottleStepParser.java | 10 +-
.../k/loader/yaml/parser/ToDynamicStepParser.java | 16 +-
.../camel/k/loader/yaml/parser/ToStepParser.java | 5 +-
.../k/loader/yaml/parser/TransformStepParser.java | 10 +-
.../k/loader/yaml/parser/UnmarshalStepParser.java | 10 +-
.../k/loader/yaml/parser/ValidateStepParser.java | 10 +-
.../k/loader/yaml/parser/WireTapStepParser.java | 14 +-
.../{ => camel-k-loader-yaml}/pom.xml | 13 +-
.../camel/k/loader/yaml/YamlSourceLoader.java | 28 ++-
.../camel/k/loader/yaml/DefinitionsTest.groovy | 0
.../apache/camel/k/loader/yaml/RoutesTest.groovy | 14 +-
.../apache/camel/k/loader/yaml/TestSupport.groovy | 0
.../k/loader/yaml/parser/AggregateTest.groovy | 0
.../camel/k/loader/yaml/parser/BeanTest.groovy | 0
.../camel/k/loader/yaml/parser/ChoiceTest.groovy | 0
.../k/loader/yaml/parser/ClaimCheckTest.groovy | 0
.../k/loader/yaml/parser/ConvertBodyTest.groovy | 0
.../camel/k/loader/yaml/parser/DelayTest.groovy | 0
.../k/loader/yaml/parser/DynamicRouterTest.groovy | 0
.../camel/k/loader/yaml/parser/EnrichTest.groovy | 0
.../camel/k/loader/yaml/parser/FilterTest.groovy | 0
.../camel/k/loader/yaml/parser/FromTest.groovy | 0
.../camel/k/loader/yaml/parser/LogTest.groovy | 0
.../camel/k/loader/yaml/parser/LoopTest.groovy | 0
.../camel/k/loader/yaml/parser/MarshalTest.groovy | 0
.../k/loader/yaml/parser/MulticastTest.groovy | 0
.../camel/k/loader/yaml/parser/PipelineTest.groovy | 2 +-
.../k/loader/yaml/parser/PollEnrichTest.groovy | 0
.../camel/k/loader/yaml/parser/ProcessTest.groovy | 0
.../k/loader/yaml/parser/RecipientListTest.groovy | 0
.../k/loader/yaml/parser/RemoveHeaderTest.groovy | 0
.../k/loader/yaml/parser/RemoveHeadersTest.groovy | 0
.../loader/yaml/parser/RemovePropertiesTest.groovy | 0
.../k/loader/yaml/parser/RemovePropertyTest.groovy | 0
.../k/loader/yaml/parser/ResequenceTest.groovy | 0
.../camel/k/loader/yaml/parser/RestTest.groovy | 0
.../k/loader/yaml/parser/RoutingSlipTest.groovy | 0
.../camel/k/loader/yaml/parser/SampleTest.groovy | 0
.../camel/k/loader/yaml/parser/SetBodyTest.groovy | 0
.../k/loader/yaml/parser/SetHeaderTest.groovy | 0
.../k/loader/yaml/parser/SetPropertyTest.groovy | 0
.../camel/k/loader/yaml/parser/SortTest.groovy | 0
.../camel/k/loader/yaml/parser/SplitTest.groovy | 0
.../camel/k/loader/yaml/parser/ThreadsTest.groovy | 0
.../camel/k/loader/yaml/parser/ThrottleTest.groovy | 0
.../k/loader/yaml/parser/ToDynamicTest.groovy | 4 +-
.../camel/k/loader/yaml/parser/ToTest.groovy | 0
.../k/loader/yaml/parser/UnmarshalTest.groovy | 0
.../camel/k/loader/yaml/parser/ValidateTest.groovy | 0
.../camel/k/loader/yaml/parser/WireTapTest.groovy | 0
.../src/test/resources/log4j2-test.xml | 0
.../resources/routes/RoutesTest_aggregator.yaml | 0
.../test/resources/routes/RoutesTest_filter.yaml | 0
.../test/resources/routes/RoutesTest_split.yaml | 0
camel-k-loader-yaml/pom.xml | 208 +--------------------
.../yaml/support/ProcessorDefinitionMixIn.java | 43 -----
.../quarkus/deployment/DeploymentProcessor.java | 51 ++++-
camel-k-runtime-bom/pom.xml | 10 +
pom.xml | 5 +
tooling/camel-k-annotations/pom.xml | 8 +
...YAMLStepParser.java => YAMLNodeDefinition.java} | 8 +-
.../camel/k/annotation/yaml/YAMLStepParser.java | 2 +-
.../maven/GenerateYamlLoaderSupportClasses.java | 127 +++++++++++++
....java => GenerateYamlParserSupportClasses.java} | 139 +-------------
.../camel/k/tooling/maven/GenerateYamlSupport.java | 138 ++++++++++++++
.../processors/GenerateYamlSupportClassesTest.java | 9 +-
108 files changed, 499 insertions(+), 690 deletions(-)
diff --git a/camel-k-loader-yaml/pom.xml b/camel-k-loader-yaml/camel-k-loader-yaml-common/pom.xml
similarity index 65%
copy from camel-k-loader-yaml/pom.xml
copy to camel-k-loader-yaml/camel-k-loader-yaml-common/pom.xml
index 9a6016d..24ecb66 100644
--- a/camel-k-loader-yaml/pom.xml
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/pom.xml
@@ -20,12 +20,12 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.apache.camel.k</groupId>
- <artifactId>camel-k-runtime-parent</artifactId>
+ <artifactId>camel-k-loader-yaml-parent</artifactId>
<version>1.0.8-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
- <artifactId>camel-k-loader-yaml</artifactId>
+ <artifactId>camel-k-loader-yaml-common</artifactId>
<dependencies>
@@ -65,89 +65,6 @@
<artifactId>camel-k-annotations</artifactId>
<optional>true</optional>
</dependency>
-
- <!-- ****************************** -->
- <!-- -->
- <!-- TESTS -->
- <!-- -->
- <!-- ****************************** -->
-
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-mock</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-test</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-direct</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-log</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-bean</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.codehaus.groovy</groupId>
- <artifactId>groovy-test</artifactId>
- <version>${groovy.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.spockframework</groupId>
- <artifactId>spock-core</artifactId>
- <version>${spock.version}</version>
- <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.junit.vintage</groupId>
- <artifactId>junit-vintage-engine</artifactId>
- <version>${junit.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.assertj</groupId>
- <artifactId>assertj-core</artifactId>
- <version>${assertj.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-core</artifactId>
- <version>${log4j2.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-slf4j-impl</artifactId>
- <version>${log4j2.version}</version>
- <scope>test</scope>
- </dependency>
</dependencies>
<build>
@@ -178,7 +95,7 @@
<execution>
<phase>generate-sources</phase>
<goals>
- <goal>generate-yaml-support-classes</goal>
+ <goal>generate-yaml-parser-support-classes</goal>
</goals>
</execution>
</executions>
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/model/Node.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/model/Node.java
similarity index 100%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/model/Node.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/model/Node.java
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/model/Step.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/model/Step.java
similarity index 97%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/model/Step.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/model/Step.java
index 7298fad..1d1ac16 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/model/Step.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/model/Step.java
@@ -59,8 +59,4 @@ public final class Step {
return new Step(stepId, stepData);
}
}
-
- // marker interface
- public interface Definition {
- }
}
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/AggregateStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/AggregateStepParser.java
similarity index 90%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/AggregateStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/AggregateStepParser.java
index 52b192b..4feff93 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/AggregateStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/AggregateStepParser.java
@@ -18,27 +18,23 @@ package org.apache.camel.k.loader.yaml.parser;
import com.fasterxml.jackson.annotation.JsonIgnore;
import org.apache.camel.Expression;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
-import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.AggregateDefinition;
import org.apache.camel.model.ExpressionSubElementDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.language.ExpressionDefinition;
import org.apache.camel.reifier.AggregateReifier;
-import org.apache.camel.reifier.ProcessorReifier;
@YAMLStepParser("aggregate")
public class AggregateStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, AggregateReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
return context.node(Definition.class);
}
- public static final class Definition extends AggregateDefinition implements HasExpression, Step.Definition {
+ @YAMLNodeDefinition(reifiers = AggregateReifier.class)
+ public static final class Definition extends AggregateDefinition implements HasExpression {
@JsonIgnore
public void setExpression(Expression expression) {
super.setExpression(expression);
@@ -49,6 +45,7 @@ public class AggregateStepParser implements ProcessorStepParser {
}
}
+ @YAMLNodeDefinition
public static final class CorrelationExpression extends ExpressionSubElementDefinition implements HasExpression {
@Override
public void setExpression(ExpressionDefinition expressionDefinition) {
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/BeanStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/BeanStepParser.java
similarity index 100%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/BeanStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/BeanStepParser.java
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ChoiceStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ChoiceStepParser.java
similarity index 95%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ChoiceStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ChoiceStepParser.java
index e77355c..44f4665 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ChoiceStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ChoiceStepParser.java
@@ -18,6 +18,7 @@ package org.apache.camel.k.loader.yaml.parser;
import java.util.List;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.ChoiceDefinition;
@@ -57,7 +58,8 @@ public class ChoiceStepParser implements ProcessorStepParser {
return choice;
}
- public static final class Definition implements Step.Definition {
+ @YAMLNodeDefinition
+ public static final class Definition {
public List<When> when;
public Otherwise otherwise;
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ClaimCheckStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ClaimCheckStepParser.java
similarity index 100%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ClaimCheckStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ClaimCheckStepParser.java
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ConvertBodyStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ConvertBodyStepParser.java
similarity index 100%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ConvertBodyStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ConvertBodyStepParser.java
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/DelayStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/DelayStepParser.java
similarity index 91%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/DelayStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/DelayStepParser.java
index f76519d..6d34875 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/DelayStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/DelayStepParser.java
@@ -16,8 +16,8 @@
*/
package org.apache.camel.k.loader.yaml.parser;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
-import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.DelayDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.reifier.DelayReifier;
@@ -34,7 +34,8 @@ public class DelayStepParser implements ProcessorStepParser {
return context.node(Definition.class);
}
- public static final class Definition extends DelayDefinition implements HasExpression, Step.Definition {
+ @YAMLNodeDefinition(reifiers = DelayReifier.class)
+ public static final class Definition extends DelayDefinition implements HasExpression {
}
}
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/DynamicRouterStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/DynamicRouterStepParser.java
similarity index 84%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/DynamicRouterStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/DynamicRouterStepParser.java
index 89c1063..2ddc5ae 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/DynamicRouterStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/DynamicRouterStepParser.java
@@ -16,25 +16,21 @@
*/
package org.apache.camel.k.loader.yaml.parser;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
-import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.DynamicRouterDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.reifier.DynamicRouterReifier;
-import org.apache.camel.reifier.ProcessorReifier;
@YAMLStepParser("dynamic-router")
public class DynamicRouterStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, DynamicRouterReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
return context.node(Definition.class);
}
- public static final class Definition extends DynamicRouterDefinition implements HasExpression, Step.Definition {
+ @YAMLNodeDefinition(reifiers = DynamicRouterReifier.class)
+ public static final class Definition extends DynamicRouterDefinition implements HasExpression {
}
}
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/EnrichStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/EnrichStepParser.java
similarity index 88%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/EnrichStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/EnrichStepParser.java
index 6108a8c..ff06a9d 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/EnrichStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/EnrichStepParser.java
@@ -18,25 +18,21 @@ package org.apache.camel.k.loader.yaml.parser;
import com.fasterxml.jackson.annotation.JsonIgnore;
import org.apache.camel.Expression;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
-import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.EnrichDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.reifier.EnrichReifier;
-import org.apache.camel.reifier.ProcessorReifier;
@YAMLStepParser("enrich")
public class EnrichStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, EnrichReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
return context.node(Definition.class);
}
- public static final class Definition extends EnrichDefinition implements HasExpression, Step.Definition {
+ @YAMLNodeDefinition(reifiers = EnrichReifier.class)
+ public static final class Definition extends EnrichDefinition implements HasExpression {
@JsonIgnore
public void setExpression(Expression expression) {
super.setExpression(expression);
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/FilterStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/FilterStepParser.java
similarity index 89%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/FilterStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/FilterStepParser.java
index 8a1ae2a..650e526 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/FilterStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/FilterStepParser.java
@@ -18,19 +18,15 @@ package org.apache.camel.k.loader.yaml.parser;
import java.util.List;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.FilterDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.reifier.FilterReifier;
-import org.apache.camel.reifier.ProcessorReifier;
@YAMLStepParser("filter")
public class FilterStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, FilterReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
Definition definition = context.node(Definition.class);
@@ -42,7 +38,8 @@ public class FilterStepParser implements ProcessorStepParser {
);
}
- public static final class Definition extends FilterDefinition implements HasExpression, Step.Definition {
+ @YAMLNodeDefinition(reifiers = FilterReifier.class)
+ public static final class Definition extends FilterDefinition implements HasExpression {
public List<Step> steps;
}
}
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/FromStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/FromStepParser.java
similarity index 94%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/FromStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/FromStepParser.java
index 7d99e75..7607f2b 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/FromStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/FromStepParser.java
@@ -22,6 +22,7 @@ import java.util.List;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonIgnore;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.ProcessorDefinition;
@@ -46,7 +47,8 @@ public class FromStepParser implements StartStepParser {
);
}
- public static final class FromStepDefinition implements Step.Definition {
+ @YAMLNodeDefinition
+ public static final class FromStepDefinition {
public String uri;
public Map<String, Object> parameters;
public List<Step> steps;
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/LogStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/LogStepParser.java
similarity index 100%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/LogStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/LogStepParser.java
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/LoopStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/LoopStepParser.java
similarity index 89%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/LoopStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/LoopStepParser.java
index 9735404..e05af6f 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/LoopStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/LoopStepParser.java
@@ -18,19 +18,15 @@ package org.apache.camel.k.loader.yaml.parser;
import java.util.List;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.LoopDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.reifier.LoopReifier;
-import org.apache.camel.reifier.ProcessorReifier;
@YAMLStepParser("loop")
public class LoopStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, LoopReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
Definition definition = context.node(Definition.class);
@@ -42,7 +38,8 @@ public class LoopStepParser implements ProcessorStepParser {
);
}
- public static final class Definition extends LoopDefinition implements HasExpression, Step.Definition {
+ @YAMLNodeDefinition(reifiers = LoopReifier.class)
+ public static final class Definition extends LoopDefinition implements HasExpression {
public List<Step> steps;
}
}
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/MarshalStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/MarshalStepParser.java
similarity index 84%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/MarshalStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/MarshalStepParser.java
index c63b58b..d39f3a2 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/MarshalStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/MarshalStepParser.java
@@ -16,25 +16,21 @@
*/
package org.apache.camel.k.loader.yaml.parser;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
-import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.MarshalDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.reifier.MarshalReifier;
-import org.apache.camel.reifier.ProcessorReifier;
@YAMLStepParser("marshal")
public class MarshalStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, MarshalReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
return context.node(Definition.class);
}
- public static final class Definition extends MarshalDefinition implements HasDataFormat, Step.Definition {
+ @YAMLNodeDefinition(reifiers = MarshalReifier.class)
+ public static final class Definition extends MarshalDefinition implements HasDataFormat {
}
}
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/MulticastStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/MulticastStepParser.java
similarity index 89%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/MulticastStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/MulticastStepParser.java
index edc43f2..98a7ffd 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/MulticastStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/MulticastStepParser.java
@@ -18,19 +18,15 @@ package org.apache.camel.k.loader.yaml.parser;
import java.util.List;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.MulticastDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.reifier.MulticastReifier;
-import org.apache.camel.reifier.ProcessorReifier;
@YAMLStepParser("multicast")
public class MulticastStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, MulticastReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
Definition definition = context.node(Definition.class);
@@ -42,7 +38,8 @@ public class MulticastStepParser implements ProcessorStepParser {
);
}
- public static final class Definition extends MulticastDefinition implements Step.Definition {
+ @YAMLNodeDefinition(reifiers = MulticastReifier.class)
+ public static final class Definition extends MulticastDefinition {
public List<Step> steps;
}
}
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/PipelineStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/PipelineStepParser.java
similarity index 92%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/PipelineStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/PipelineStepParser.java
index edbca96..1b1393a 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/PipelineStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/PipelineStepParser.java
@@ -18,6 +18,7 @@ package org.apache.camel.k.loader.yaml.parser;
import java.util.List;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.PipelineDefinition;
@@ -39,7 +40,8 @@ public class PipelineStepParser implements ProcessorStepParser {
);
}
- public static final class Definition implements Step.Definition {
+ @YAMLNodeDefinition
+ public static final class Definition {
public List<Step> steps;
}
}
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/PollEnrichStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/PollEnrichStepParser.java
similarity index 87%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/PollEnrichStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/PollEnrichStepParser.java
index 4f24db3..88e0ec7 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/PollEnrichStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/PollEnrichStepParser.java
@@ -18,25 +18,21 @@ package org.apache.camel.k.loader.yaml.parser;
import com.fasterxml.jackson.annotation.JsonIgnore;
import org.apache.camel.Expression;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
-import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.PollEnrichDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.reifier.PollEnrichReifier;
-import org.apache.camel.reifier.ProcessorReifier;
@YAMLStepParser("poll-enrich")
public class PollEnrichStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, PollEnrichReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
return context.node(Definition.class);
}
- public static final class Definition extends PollEnrichDefinition implements HasExpression, Step.Definition {
+ @YAMLNodeDefinition(reifiers = PollEnrichReifier.class)
+ public static final class Definition extends PollEnrichDefinition implements HasExpression {
@JsonIgnore
public void setExpression(Expression expression) {
super.setExpression(expression);
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ProcessStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ProcessStepParser.java
similarity index 100%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ProcessStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ProcessStepParser.java
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ProcessorStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ProcessorStepParser.java
similarity index 100%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ProcessorStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ProcessorStepParser.java
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/RecipientListStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/RecipientListStepParser.java
similarity index 84%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/RecipientListStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/RecipientListStepParser.java
index 10eeebe..f0fbccf 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/RecipientListStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/RecipientListStepParser.java
@@ -16,25 +16,21 @@
*/
package org.apache.camel.k.loader.yaml.parser;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
-import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RecipientListDefinition;
-import org.apache.camel.reifier.ProcessorReifier;
import org.apache.camel.reifier.RecipientListReifier;
@YAMLStepParser("recipient-list")
public class RecipientListStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, RecipientListReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
return context.node(Definition.class);
}
- public static final class Definition extends RecipientListDefinition implements HasExpression, Step.Definition {
+ @YAMLNodeDefinition(reifiers = RecipientListReifier.class)
+ public static final class Definition extends RecipientListDefinition implements HasExpression {
}
}
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/RemoveHeaderStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/RemoveHeaderStepParser.java
similarity index 87%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/RemoveHeaderStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/RemoveHeaderStepParser.java
index 242f68f..86f07f9 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/RemoveHeaderStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/RemoveHeaderStepParser.java
@@ -17,25 +17,21 @@
package org.apache.camel.k.loader.yaml.parser;
import com.fasterxml.jackson.annotation.JsonAlias;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
-import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RemoveHeaderDefinition;
-import org.apache.camel.reifier.ProcessorReifier;
import org.apache.camel.reifier.RemoveHeaderReifier;
@YAMLStepParser("remove-header")
public class RemoveHeaderStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, RemoveHeaderReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
return context.node(Definition.class);
}
- public static final class Definition extends RemoveHeaderDefinition implements Step.Definition {
+ @YAMLNodeDefinition(reifiers = RemoveHeaderReifier.class)
+ public static final class Definition extends RemoveHeaderDefinition {
@JsonAlias("name")
public void setHeaderName(String headerName) {
super.setHeaderName(headerName);
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/RemoveHeadersStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/RemoveHeadersStepParser.java
similarity index 100%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/RemoveHeadersStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/RemoveHeadersStepParser.java
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/RemovePropertiesStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/RemovePropertiesStepParser.java
similarity index 100%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/RemovePropertiesStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/RemovePropertiesStepParser.java
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/RemovePropertyStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/RemovePropertyStepParser.java
similarity index 87%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/RemovePropertyStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/RemovePropertyStepParser.java
index 27dfcd0..947f36f 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/RemovePropertyStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/RemovePropertyStepParser.java
@@ -17,25 +17,21 @@
package org.apache.camel.k.loader.yaml.parser;
import com.fasterxml.jackson.annotation.JsonAlias;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
-import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RemovePropertyDefinition;
-import org.apache.camel.reifier.ProcessorReifier;
import org.apache.camel.reifier.RemovePropertyReifier;
@YAMLStepParser("remove-property")
public class RemovePropertyStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, RemovePropertyReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
return context.node(Definition.class);
}
- public static final class Definition extends RemovePropertyDefinition implements Step.Definition {
+ @YAMLNodeDefinition(reifiers = RemovePropertyReifier.class)
+ public static final class Definition extends RemovePropertyDefinition {
@JsonAlias("name")
public void setPropertyName(String headerName) {
super.setPropertyName(headerName);
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ResequenceStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ResequenceStepParser.java
similarity index 92%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ResequenceStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ResequenceStepParser.java
index 400fffe..de1cce1 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ResequenceStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ResequenceStepParser.java
@@ -21,21 +21,17 @@ import java.util.List;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonIgnore;
import org.apache.camel.Expression;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.ResequenceDefinition;
import org.apache.camel.model.config.BatchResequencerConfig;
import org.apache.camel.model.config.StreamResequencerConfig;
-import org.apache.camel.reifier.ProcessorReifier;
import org.apache.camel.reifier.ResequenceReifier;
@YAMLStepParser("resequence")
public class ResequenceStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, ResequenceReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
Definition definition = context.node(Definition.class);
@@ -47,7 +43,8 @@ public class ResequenceStepParser implements ProcessorStepParser {
);
}
- public static final class Definition extends ResequenceDefinition implements HasExpression, Step.Definition {
+ @YAMLNodeDefinition(reifiers = ResequenceReifier.class)
+ public static final class Definition extends ResequenceDefinition implements HasExpression {
public List<Step> steps;
@JsonIgnore
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/RestStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/RestStepParser.java
similarity index 96%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/RestStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/RestStepParser.java
index 1730d9f..978cfed 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/RestStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/RestStepParser.java
@@ -21,6 +21,7 @@ import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonSetter;
import com.fasterxml.jackson.annotation.Nulls;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.ProcessorDefinition;
@@ -57,7 +58,8 @@ public class RestStepParser implements StartStepParser {
);
}
- public static final class Definition implements Step.Definition {
+ @YAMLNodeDefinition
+ public static final class Definition {
@JsonProperty
public String id;
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/RouteStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/RouteStepParser.java
similarity index 95%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/RouteStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/RouteStepParser.java
index ff363d2..3b8dfaf 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/RouteStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/RouteStepParser.java
@@ -21,10 +21,9 @@ import java.util.Optional;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.JsonNode;
-
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
import org.apache.camel.k.loader.yaml.model.Node;
-import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RouteDefinition;
@@ -51,7 +50,8 @@ public class RouteStepParser implements StartStepParser {
return root;
}
- public static final class Definition implements Step.Definition {
+ @YAMLNodeDefinition
+ public static final class Definition {
private String id;
private String group;
private Node root;
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/RoutingSlipStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/RoutingSlipStepParser.java
similarity index 85%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/RoutingSlipStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/RoutingSlipStepParser.java
index 83522b4..4e43cb1 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/RoutingSlipStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/RoutingSlipStepParser.java
@@ -17,25 +17,21 @@
package org.apache.camel.k.loader.yaml.parser;
import org.apache.camel.Expression;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
-import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RoutingSlipDefinition;
-import org.apache.camel.reifier.ProcessorReifier;
import org.apache.camel.reifier.RoutingSlipReifier;
@YAMLStepParser("routing-slip")
public class RoutingSlipStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, RoutingSlipReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
return context.node(Definition.class);
}
- public static final class Definition extends RoutingSlipDefinition implements HasExpression, Step.Definition {
+ @YAMLNodeDefinition(reifiers = RoutingSlipReifier.class)
+ public static final class Definition extends RoutingSlipDefinition implements HasExpression {
public Definition() {
super((Expression) null, RoutingSlipDefinition.DEFAULT_DELIMITER);
}
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/SampleStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/SampleStepParser.java
similarity index 89%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/SampleStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/SampleStepParser.java
index a65c355..6cba016 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/SampleStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/SampleStepParser.java
@@ -18,19 +18,15 @@ package org.apache.camel.k.loader.yaml.parser;
import java.util.List;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.SamplingDefinition;
-import org.apache.camel.reifier.ProcessorReifier;
import org.apache.camel.reifier.SamplingReifier;
@YAMLStepParser("sample")
public class SampleStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, SamplingReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
Definition definition = context.node(Definition.class);
@@ -42,7 +38,8 @@ public class SampleStepParser implements ProcessorStepParser {
);
}
- public static final class Definition extends SamplingDefinition implements Step.Definition {
+ @YAMLNodeDefinition(reifiers = SamplingReifier.class)
+ public static final class Definition extends SamplingDefinition {
public List<Step> steps;
}
}
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/SetBodyStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/SetBodyStepParser.java
similarity index 84%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/SetBodyStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/SetBodyStepParser.java
index fb34b25..a879b9f 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/SetBodyStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/SetBodyStepParser.java
@@ -16,25 +16,21 @@
*/
package org.apache.camel.k.loader.yaml.parser;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
-import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.SetBodyDefinition;
-import org.apache.camel.reifier.ProcessorReifier;
import org.apache.camel.reifier.SetBodyReifier;
@YAMLStepParser("set-body")
public class SetBodyStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, SetBodyReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
return context.node(Definition.class);
}
- public static final class Definition extends SetBodyDefinition implements HasExpression, Step.Definition {
+ @YAMLNodeDefinition(reifiers = SetBodyReifier.class)
+ public static final class Definition extends SetBodyDefinition implements HasExpression {
}
}
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/SetHeaderStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/SetHeaderStepParser.java
similarity index 84%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/SetHeaderStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/SetHeaderStepParser.java
index 6e505d8..4d3987e 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/SetHeaderStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/SetHeaderStepParser.java
@@ -16,25 +16,21 @@
*/
package org.apache.camel.k.loader.yaml.parser;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
-import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.SetHeaderDefinition;
-import org.apache.camel.reifier.ProcessorReifier;
import org.apache.camel.reifier.SetHeaderReifier;
@YAMLStepParser("set-header")
public class SetHeaderStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, SetHeaderReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
return context.node(Definition.class);
}
- public static final class Definition extends SetHeaderDefinition implements HasExpression, Step.Definition {
+ @YAMLNodeDefinition(reifiers = SetHeaderReifier.class)
+ public static final class Definition extends SetHeaderDefinition implements HasExpression {
}
}
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/SetPropertyStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/SetPropertyStepParser.java
similarity index 84%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/SetPropertyStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/SetPropertyStepParser.java
index 6d1d580..d55445b 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/SetPropertyStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/SetPropertyStepParser.java
@@ -16,25 +16,21 @@
*/
package org.apache.camel.k.loader.yaml.parser;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
-import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.SetPropertyDefinition;
-import org.apache.camel.reifier.ProcessorReifier;
import org.apache.camel.reifier.SetPropertyReifier;
@YAMLStepParser("set-property")
public class SetPropertyStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, SetPropertyReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
return context.node(Definition.class);
}
- public static final class Definition extends SetPropertyDefinition implements HasExpression, Step.Definition {
+ @YAMLNodeDefinition(reifiers = SetPropertyReifier.class)
+ public static final class Definition extends SetPropertyDefinition implements HasExpression {
}
}
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/SortStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/SortStepParser.java
similarity index 84%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/SortStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/SortStepParser.java
index 449b275..be6fe23 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/SortStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/SortStepParser.java
@@ -16,25 +16,21 @@
*/
package org.apache.camel.k.loader.yaml.parser;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
-import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.SortDefinition;
-import org.apache.camel.reifier.ProcessorReifier;
import org.apache.camel.reifier.SortReifier;
@YAMLStepParser("sort")
public class SortStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, SortReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
return context.node(Definition.class);
}
- public static final class Definition extends SortDefinition implements HasExpression, Step.Definition {
+ @YAMLNodeDefinition(reifiers = SortReifier.class)
+ public static final class Definition extends SortDefinition implements HasExpression {
}
}
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/SplitStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/SplitStepParser.java
similarity index 89%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/SplitStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/SplitStepParser.java
index b39a524..e641ad9 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/SplitStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/SplitStepParser.java
@@ -18,19 +18,15 @@ package org.apache.camel.k.loader.yaml.parser;
import java.util.List;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.SplitDefinition;
-import org.apache.camel.reifier.ProcessorReifier;
import org.apache.camel.reifier.SplitReifier;
@YAMLStepParser("split")
public class SplitStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, SplitReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
Definition definition = context.node(Definition.class);
@@ -41,7 +37,8 @@ public class SplitStepParser implements ProcessorStepParser {
definition.steps);
}
- public static final class Definition extends SplitDefinition implements HasExpression, Step.Definition {
+ @YAMLNodeDefinition(reifiers = SplitReifier.class)
+ public static final class Definition extends SplitDefinition implements HasExpression {
public List<Step> steps;
}
}
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/StartStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/StartStepParser.java
similarity index 100%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/StartStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/StartStepParser.java
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/StepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/StepParser.java
similarity index 100%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/StepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/StepParser.java
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/StepParserException.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/StepParserException.java
similarity index 100%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/StepParserException.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/StepParserException.java
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/StepParserSupport.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/StepParserSupport.java
similarity index 100%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/StepParserSupport.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/StepParserSupport.java
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/StopStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/StopStepParser.java
similarity index 100%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/StopStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/StopStepParser.java
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ThreadsStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ThreadsStepParser.java
similarity index 100%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ThreadsStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ThreadsStepParser.java
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ThrottleStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ThrottleStepParser.java
similarity index 84%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ThrottleStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ThrottleStepParser.java
index a5ef353..b2ee2ac 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ThrottleStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ThrottleStepParser.java
@@ -16,25 +16,21 @@
*/
package org.apache.camel.k.loader.yaml.parser;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
-import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.ThrottleDefinition;
-import org.apache.camel.reifier.ProcessorReifier;
import org.apache.camel.reifier.ThrottleReifier;
@YAMLStepParser("throttle")
public class ThrottleStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, ThrottleReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
return context.node(Definition.class);
}
- public static final class Definition extends ThrottleDefinition implements HasExpression, Step.Definition {
+ @YAMLNodeDefinition(reifiers = ThrottleReifier.class)
+ public static final class Definition extends ThrottleDefinition implements HasExpression {
}
}
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ToDynamicStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ToDynamicStepParser.java
similarity index 86%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ToDynamicStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ToDynamicStepParser.java
index 465bbe3..21ab519 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ToDynamicStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ToDynamicStepParser.java
@@ -21,26 +21,24 @@ import java.net.URISyntaxException;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonIgnore;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
-import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.ToDynamicDefinition;
-import org.apache.camel.reifier.ProcessorReifier;
-import org.apache.camel.reifier.ToDynamicReifier;
import org.apache.camel.util.URISupport;
@YAMLStepParser("tod")
public class ToDynamicStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, ToDynamicReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
- return context.node(Definition.class);
+ final Definition definition = context.node(Definition.class);
+ final ToDynamicDefinition answer = new ToDynamicDefinition(definition.getEndpointUri());
+
+ return answer;
}
- public static final class Definition extends ToDynamicDefinition implements Step.Definition {
+ @YAMLNodeDefinition
+ public static final class Definition extends ToDynamicDefinition {
public Map<String, Object> parameters;
public Definition() {
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ToStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ToStepParser.java
similarity index 93%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ToStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ToStepParser.java
index 4125bf2..ad2d4bf 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ToStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ToStepParser.java
@@ -21,8 +21,8 @@ import java.net.URISyntaxException;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonIgnore;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
-import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.ToDefinition;
import org.apache.camel.util.URISupport;
@@ -37,7 +37,8 @@ public class ToStepParser implements ProcessorStepParser {
return answer;
}
- public static final class Definition extends ToDefinition implements Step.Definition {
+ @YAMLNodeDefinition
+ public static final class Definition extends ToDefinition {
public Map<String, Object> parameters;
public Definition() {
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/TransformStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/TransformStepParser.java
similarity index 84%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/TransformStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/TransformStepParser.java
index aad73da..c09c99c 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/TransformStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/TransformStepParser.java
@@ -16,25 +16,21 @@
*/
package org.apache.camel.k.loader.yaml.parser;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
-import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.TransformDefinition;
-import org.apache.camel.reifier.ProcessorReifier;
import org.apache.camel.reifier.TransformReifier;
@YAMLStepParser("transform")
public class TransformStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, TransformReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
return context.node(Definition.class);
}
- public static final class Definition extends TransformDefinition implements HasExpression, Step.Definition {
+ @YAMLNodeDefinition(reifiers = TransformReifier.class)
+ public static final class Definition extends TransformDefinition implements HasExpression {
}
}
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/UnmarshalStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/UnmarshalStepParser.java
similarity index 84%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/UnmarshalStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/UnmarshalStepParser.java
index 8ce06f9..d4b0e90 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/UnmarshalStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/UnmarshalStepParser.java
@@ -16,25 +16,21 @@
*/
package org.apache.camel.k.loader.yaml.parser;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
-import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.UnmarshalDefinition;
-import org.apache.camel.reifier.ProcessorReifier;
import org.apache.camel.reifier.UnmarshalReifier;
@YAMLStepParser("unmarshal")
public class UnmarshalStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, UnmarshalReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
return context.node(Definition.class);
}
- public static final class Definition extends UnmarshalDefinition implements HasDataFormat, Step.Definition {
+ @YAMLNodeDefinition(reifiers = UnmarshalReifier.class)
+ public static final class Definition extends UnmarshalDefinition implements HasDataFormat {
}
}
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ValidateStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ValidateStepParser.java
similarity index 84%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ValidateStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ValidateStepParser.java
index a6e325c..ca0740a 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/ValidateStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/ValidateStepParser.java
@@ -16,25 +16,21 @@
*/
package org.apache.camel.k.loader.yaml.parser;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
-import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.ValidateDefinition;
-import org.apache.camel.reifier.ProcessorReifier;
import org.apache.camel.reifier.ValidateReifier;
@YAMLStepParser("validate")
public class ValidateStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, ValidateReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
return context.node(Definition.class);
}
- public static final class Definition extends ValidateDefinition implements HasExpression, Step.Definition {
+ @YAMLNodeDefinition(reifiers = ValidateReifier.class)
+ public static final class Definition extends ValidateDefinition implements HasExpression {
}
}
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/WireTapStepParser.java b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/WireTapStepParser.java
similarity index 93%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/WireTapStepParser.java
rename to camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/WireTapStepParser.java
index b9aa194..a47fcac 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/parser/WireTapStepParser.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/src/main/java/org/apache/camel/k/loader/yaml/parser/WireTapStepParser.java
@@ -22,25 +22,20 @@ import java.util.List;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonIgnore;
+import org.apache.camel.k.annotation.yaml.YAMLNodeDefinition;
import org.apache.camel.k.annotation.yaml.YAMLStepParser;
-import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.model.ExpressionSubElementDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.SetHeaderDefinition;
import org.apache.camel.model.ToDynamicDefinition;
import org.apache.camel.model.WireTapDefinition;
import org.apache.camel.model.language.ExpressionDefinition;
-import org.apache.camel.reifier.ProcessorReifier;
import org.apache.camel.reifier.WireTapReifier;
import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.URISupport;
@YAMLStepParser("wiretap")
public class WireTapStepParser implements ProcessorStepParser {
- static {
- ProcessorReifier.registerReifier(Definition.class, WireTapReifier::new);
- }
-
@Override
public ProcessorDefinition<?> toProcessor(Context context) {
Definition definition = context.node(Definition.class);
@@ -65,7 +60,8 @@ public class WireTapStepParser implements ProcessorStepParser {
return answer;
}
- public static final class Definition extends ToDynamicDefinition implements Step.Definition {
+ @YAMLNodeDefinition(reifiers = WireTapReifier.class)
+ public static final class Definition extends ToDynamicDefinition {
public String processorRef;
public String executorServiceRef;
public String onPrepareRef;
@@ -90,6 +86,7 @@ public class WireTapStepParser implements ProcessorStepParser {
}
}
+ @YAMLNodeDefinition
public static final class NewExchangeDefinition extends ExpressionSubElementDefinition implements HasExpression {
public List<HeaderDefinition> headers;
@@ -104,7 +101,8 @@ public class WireTapStepParser implements ProcessorStepParser {
}
}
- public static final class HeaderDefinition extends SetHeaderDefinition implements HasExpression, Step.Definition {
+ @YAMLNodeDefinition
+ public static final class HeaderDefinition extends SetHeaderDefinition implements HasExpression {
}
}
diff --git a/camel-k-loader-yaml/pom.xml b/camel-k-loader-yaml/camel-k-loader-yaml/pom.xml
similarity index 95%
copy from camel-k-loader-yaml/pom.xml
copy to camel-k-loader-yaml/camel-k-loader-yaml/pom.xml
index 9a6016d..b87b43d 100644
--- a/camel-k-loader-yaml/pom.xml
+++ b/camel-k-loader-yaml/camel-k-loader-yaml/pom.xml
@@ -20,7 +20,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.apache.camel.k</groupId>
- <artifactId>camel-k-runtime-parent</artifactId>
+ <artifactId>camel-k-loader-yaml-parent</artifactId>
<version>1.0.8-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -39,6 +39,10 @@
<groupId>org.apache.camel.k</groupId>
<artifactId>camel-k-runtime-core</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel.k</groupId>
+ <artifactId>camel-k-loader-yaml-common</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
@@ -178,7 +182,7 @@
<execution>
<phase>generate-sources</phase>
<goals>
- <goal>generate-yaml-support-classes</goal>
+ <goal>generate-yaml-loader-support-classes</goal>
</goals>
</execution>
</executions>
@@ -189,11 +193,6 @@
<version>${javapoet.version}</version>
</dependency>
<dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-core-engine</artifactId>
- <version>${camel.version}</version>
- </dependency>
- <dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>${commons-text.version}</version>
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/YamlSourceLoader.java b/camel-k-loader-yaml/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/YamlSourceLoader.java
similarity index 83%
rename from camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/YamlSourceLoader.java
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/YamlSourceLoader.java
index 5b15828..c186c44 100644
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/YamlSourceLoader.java
+++ b/camel-k-loader-yaml/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/YamlSourceLoader.java
@@ -20,7 +20,10 @@ import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.function.Function;
+import java.util.function.Supplier;
+import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.MapperFeature;
@@ -30,6 +33,7 @@ import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import com.fasterxml.jackson.dataformat.yaml.YAMLGenerator;
import org.apache.camel.CamelContext;
+import org.apache.camel.Exchange;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.k.Runtime;
import org.apache.camel.k.Source;
@@ -38,7 +42,9 @@ import org.apache.camel.k.annotation.Loader;
import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.k.loader.yaml.parser.StartStepParser;
import org.apache.camel.k.loader.yaml.parser.StepParser;
-import org.apache.camel.k.loader.yaml.support.ProcessorDefinitionMixIn;
+import org.apache.camel.model.Block;
+import org.apache.camel.model.OptionalIdentifiedDefinition;
+import org.apache.camel.model.OtherAttributesAware;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RouteDefinition;
import org.apache.camel.model.RoutesDefinition;
@@ -48,6 +54,10 @@ import org.apache.camel.model.rest.RestsDefinition;
@Loader("yaml")
public class YamlSourceLoader implements SourceLoader {
+ static {
+ YamlReifiers.registerReifiers();
+ }
+
private final ObjectMapper mapper;
public YamlSourceLoader() {
@@ -128,4 +138,20 @@ public class YamlSourceLoader implements SourceLoader {
}
};
}
+
+ /**
+ * ProcessorDefinition declares multiple methods for setBody and Jackson get confused
+ * about what method to use so to hide such fields from the deserialization process
+ * without having to change the original class, a MixIn is required.
+ */
+ public abstract static class ProcessorDefinitionMixIn<Type extends ProcessorDefinition<Type>>
+ extends OptionalIdentifiedDefinition<Type>
+ implements Block, OtherAttributesAware {
+
+ @JsonIgnore
+ public abstract <Result> Type setBody(Supplier<Result> supplier);
+
+ @JsonIgnore
+ public abstract <Result> Type setBody(Function<Exchange, Result> function);
+ }
}
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/DefinitionsTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/DefinitionsTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/DefinitionsTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/DefinitionsTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/RoutesTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/RoutesTest.groovy
similarity index 83%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/RoutesTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/RoutesTest.groovy
index 23fd49b..db020e4 100644
--- a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/RoutesTest.groovy
+++ b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/RoutesTest.groovy
@@ -26,15 +26,15 @@ class RoutesTest extends TestSupport {
setup:
def context = startContext()
- mockEndpoint(context,'mock:split') {
+ org.apache.camel.k.loader.yaml.TestSupport.mockEndpoint(context,'mock:split') {
expectedMessageCount = 3
expectedBodiesReceived 'a', 'b', 'c'
}
- mockEndpoint(context,'mock:route') {
+ org.apache.camel.k.loader.yaml.TestSupport.mockEndpoint(context,'mock:route') {
expectedMessageCount = 1
expectedBodiesReceived 'a,b,c'
}
- mockEndpoint(context,'mock:flow') {
+ org.apache.camel.k.loader.yaml.TestSupport.mockEndpoint(context,'mock:flow') {
expectedMessageCount = 3
expectedBodiesReceived 'a', 'b', 'c'
}
@@ -53,15 +53,15 @@ class RoutesTest extends TestSupport {
setup:
def context = startContext()
- mockEndpoint(context, 'mock:route') {
+ org.apache.camel.k.loader.yaml.TestSupport.mockEndpoint(context, 'mock:route') {
expectedMessageCount 2
expectedBodiesReceived 'a', 'b'
}
- mockEndpoint(context, 'mock:filter') {
+ org.apache.camel.k.loader.yaml.TestSupport.mockEndpoint(context, 'mock:filter') {
expectedMessageCount 1
expectedBodiesReceived 'a'
}
- mockEndpoint(context,'mock:flow') {
+ org.apache.camel.k.loader.yaml.TestSupport.mockEndpoint(context,'mock:flow') {
expectedMessageCount 1
expectedBodiesReceived 'a'
}
@@ -84,7 +84,7 @@ class RoutesTest extends TestSupport {
'aggregatorStrategy': new UseLatestAggregationStrategy()
])
- mockEndpoint(context, 'mock:route') {
+ org.apache.camel.k.loader.yaml.TestSupport.mockEndpoint(context, 'mock:route') {
expectedMessageCount 2
expectedBodiesReceived '2', '4'
}
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/TestSupport.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/TestSupport.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/TestSupport.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/TestSupport.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/AggregateTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/AggregateTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/AggregateTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/AggregateTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/BeanTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/BeanTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/BeanTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/BeanTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ChoiceTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ChoiceTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ChoiceTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ChoiceTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ClaimCheckTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ClaimCheckTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ClaimCheckTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ClaimCheckTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ConvertBodyTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ConvertBodyTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ConvertBodyTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ConvertBodyTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/DelayTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/DelayTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/DelayTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/DelayTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/DynamicRouterTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/DynamicRouterTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/DynamicRouterTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/DynamicRouterTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/EnrichTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/EnrichTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/EnrichTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/EnrichTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/FilterTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/FilterTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/FilterTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/FilterTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/FromTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/FromTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/FromTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/FromTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/LogTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/LogTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/LogTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/LogTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/LoopTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/LoopTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/LoopTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/LoopTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/MarshalTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/MarshalTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/MarshalTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/MarshalTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/MulticastTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/MulticastTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/MulticastTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/MulticastTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/PipelineTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/PipelineTest.groovy
similarity index 95%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/PipelineTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/PipelineTest.groovy
index 973a05f..89955c6 100644
--- a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/PipelineTest.groovy
+++ b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/PipelineTest.groovy
@@ -39,7 +39,7 @@ class PipelineTest extends TestSupport {
def "should fail without steps"() {
given:
- def stepContext = stepContext(MAPPER.createObjectNode());
+ def stepContext = stepContext(TestSupport.MAPPER.createObjectNode());
when:
new PipelineStepParser().toProcessor(stepContext)
then:
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/PollEnrichTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/PollEnrichTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/PollEnrichTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/PollEnrichTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ProcessTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ProcessTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ProcessTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ProcessTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RecipientListTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RecipientListTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RecipientListTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RecipientListTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RemoveHeaderTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RemoveHeaderTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RemoveHeaderTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RemoveHeaderTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RemoveHeadersTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RemoveHeadersTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RemoveHeadersTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RemoveHeadersTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RemovePropertiesTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RemovePropertiesTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RemovePropertiesTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RemovePropertiesTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RemovePropertyTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RemovePropertyTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RemovePropertyTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RemovePropertyTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ResequenceTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ResequenceTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ResequenceTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ResequenceTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RestTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RestTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RestTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RestTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RoutingSlipTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RoutingSlipTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RoutingSlipTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/RoutingSlipTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SampleTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SampleTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SampleTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SampleTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SetBodyTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SetBodyTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SetBodyTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SetBodyTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SetHeaderTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SetHeaderTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SetHeaderTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SetHeaderTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SetPropertyTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SetPropertyTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SetPropertyTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SetPropertyTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SortTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SortTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SortTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SortTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SplitTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SplitTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SplitTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/SplitTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ThreadsTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ThreadsTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ThreadsTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ThreadsTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ThrottleTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ThrottleTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ThrottleTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ThrottleTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ToDynamicTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ToDynamicTest.groovy
similarity index 90%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ToDynamicTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ToDynamicTest.groovy
index 040a0dd..c400f33 100644
--- a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ToDynamicTest.groovy
+++ b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ToDynamicTest.groovy
@@ -17,7 +17,6 @@
package org.apache.camel.k.loader.yaml.parser
import com.fasterxml.jackson.databind.node.TextNode
-import org.apache.camel.impl.DefaultCamelContext
import org.apache.camel.k.loader.yaml.TestSupport
import org.apache.camel.model.ToDynamicDefinition
@@ -39,8 +38,7 @@ class ToDynamicTest extends TestSupport {
def "definition compact"() {
given:
def node = TextNode.valueOf('seda://test')
- def camelContext = new DefaultCamelContext()
- def stepContext = new StepParser.Context(camelContext, MAPPER, node)
+ def stepContext = stepContext(node)
when:
def processor = new ToDynamicStepParser().toProcessor(stepContext)
then:
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ToTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ToTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ToTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ToTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/UnmarshalTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/UnmarshalTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/UnmarshalTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/UnmarshalTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ValidateTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ValidateTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ValidateTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/ValidateTest.groovy
diff --git a/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/WireTapTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/WireTapTest.groovy
similarity index 100%
rename from camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/WireTapTest.groovy
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/parser/WireTapTest.groovy
diff --git a/camel-k-loader-yaml/src/test/resources/log4j2-test.xml b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/resources/log4j2-test.xml
similarity index 100%
rename from camel-k-loader-yaml/src/test/resources/log4j2-test.xml
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/resources/log4j2-test.xml
diff --git a/camel-k-loader-yaml/src/test/resources/routes/RoutesTest_aggregator.yaml b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/resources/routes/RoutesTest_aggregator.yaml
similarity index 100%
rename from camel-k-loader-yaml/src/test/resources/routes/RoutesTest_aggregator.yaml
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/resources/routes/RoutesTest_aggregator.yaml
diff --git a/camel-k-loader-yaml/src/test/resources/routes/RoutesTest_filter.yaml b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/resources/routes/RoutesTest_filter.yaml
similarity index 100%
rename from camel-k-loader-yaml/src/test/resources/routes/RoutesTest_filter.yaml
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/resources/routes/RoutesTest_filter.yaml
diff --git a/camel-k-loader-yaml/src/test/resources/routes/RoutesTest_split.yaml b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/resources/routes/RoutesTest_split.yaml
similarity index 100%
rename from camel-k-loader-yaml/src/test/resources/routes/RoutesTest_split.yaml
rename to camel-k-loader-yaml/camel-k-loader-yaml/src/test/resources/routes/RoutesTest_split.yaml
diff --git a/camel-k-loader-yaml/pom.xml b/camel-k-loader-yaml/pom.xml
index 9a6016d..9f41972 100644
--- a/camel-k-loader-yaml/pom.xml
+++ b/camel-k-loader-yaml/pom.xml
@@ -24,211 +24,15 @@
<version>1.0.8-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
+ <packaging>pom</packaging>
- <artifactId>camel-k-loader-yaml</artifactId>
+ <artifactId>camel-k-loader-yaml-parent</artifactId>
- <dependencies>
+ <modules>
+ <module>camel-k-loader-yaml-common</module>
+ <module>camel-k-loader-yaml</module>
+ </modules>
- <!-- ****************************** -->
- <!-- -->
- <!-- RUNTIME -->
- <!-- -->
- <!-- ****************************** -->
- <dependency>
- <groupId>org.apache.camel.k</groupId>
- <artifactId>camel-k-runtime-core</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-core-engine</artifactId>
- <scope>provided</scope>
- </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.camel.k</groupId>
- <artifactId>camel-k-apt</artifactId>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.k</groupId>
- <artifactId>camel-k-annotations</artifactId>
- <optional>true</optional>
- </dependency>
-
- <!-- ****************************** -->
- <!-- -->
- <!-- TESTS -->
- <!-- -->
- <!-- ****************************** -->
-
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-mock</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-test</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-direct</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-log</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-bean</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.codehaus.groovy</groupId>
- <artifactId>groovy-test</artifactId>
- <version>${groovy.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.spockframework</groupId>
- <artifactId>spock-core</artifactId>
- <version>${spock.version}</version>
- <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.junit.vintage</groupId>
- <artifactId>junit-vintage-engine</artifactId>
- <version>${junit.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.assertj</groupId>
- <artifactId>assertj-core</artifactId>
- <version>${assertj.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-core</artifactId>
- <version>${log4j2.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-slf4j-impl</artifactId>
- <version>${log4j2.version}</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>${build-helper-maven-plugin.version}</version>
- <executions>
- <execution>
- <phase>generate-sources</phase>
- <goals>
- <goal>add-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>${project.build.directory}/generated-sources/camel</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.camel.k</groupId>
- <artifactId>camel-k-maven-plugin</artifactId>
- <version>${project.version}</version>
- <executions>
- <execution>
- <phase>generate-sources</phase>
- <goals>
- <goal>generate-yaml-support-classes</goal>
- </goals>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>com.squareup</groupId>
- <artifactId>javapoet</artifactId>
- <version>${javapoet.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-core-engine</artifactId>
- <version>${camel.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-text</artifactId>
- <version>${commons-text.version}</version>
- </dependency>
- </dependencies>
- </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.jboss.jandex</groupId>
- <artifactId>jandex-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>make-index</id>
- <goals>
- <goal>jandex</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
</project>
diff --git a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/support/ProcessorDefinitionMixIn.java b/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/support/ProcessorDefinitionMixIn.java
deleted file mode 100644
index babefe9..0000000
--- a/camel-k-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/support/ProcessorDefinitionMixIn.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * 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.k.loader.yaml.support;
-
-import java.util.function.Function;
-import java.util.function.Supplier;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import org.apache.camel.Exchange;
-import org.apache.camel.model.Block;
-import org.apache.camel.model.OptionalIdentifiedDefinition;
-import org.apache.camel.model.OtherAttributesAware;
-import org.apache.camel.model.ProcessorDefinition;
-
-/**
- * ProcessorDefinition declares multiple methods for setBody and Jackson get confused
- * about what method to use so to hide such fields from the deserialization process
- * without having to change the original class, a MixIn is required.
- */
-public abstract class ProcessorDefinitionMixIn<Type extends ProcessorDefinition<Type>>
- extends OptionalIdentifiedDefinition<Type>
- implements Block, OtherAttributesAware {
-
- @JsonIgnore
- public abstract <Result> Type setBody(Supplier<Result> supplier);
-
- @JsonIgnore
- public abstract <Result> Type setBody(Function<Exchange, Result> function);
-}
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-yaml/deployment/src/main/java/org/apache/camel/k/loader/yaml/quarkus/deployment/DeploymentProcessor.java b/camel-k-quarkus/camel-k-quarkus-loader-yaml/deployment/src/main/java/org/apache/camel/k/loader/yaml/quarkus/deployment/DeploymentProcessor.java
index b81006a..1ac414a 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-yaml/deployment/src/main/java/org/apache/camel/k/loader/yaml/quarkus/deployment/DeploymentProcessor.java
+++ b/camel-k-quarkus/camel-k-quarkus-loader-yaml/deployment/src/main/java/org/apache/camel/k/loader/yaml/quarkus/deployment/DeploymentProcessor.java
@@ -16,23 +16,30 @@
*/
package org.apache.camel.k.loader.yaml.quarkus.deployment;
+import java.util.stream.Collectors;
+
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import org.apache.camel.k.loader.yaml.YamlSourceLoader;
import org.apache.camel.k.loader.yaml.model.Node;
import org.apache.camel.k.loader.yaml.model.Step;
import org.apache.camel.k.loader.yaml.parser.HasDataFormat;
import org.apache.camel.k.loader.yaml.parser.HasExpression;
-import org.apache.camel.k.loader.yaml.support.ProcessorDefinitionMixIn;
import org.apache.camel.model.DataFormatDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.language.ExpressionDefinition;
+import org.jboss.jandex.AnnotationInstance;
+import org.jboss.jandex.AnnotationTarget;
import org.jboss.jandex.ClassInfo;
import org.jboss.jandex.DotName;
import org.jboss.jandex.IndexView;
public class DeploymentProcessor {
+ public static final DotName YAML_STEP_PARSER_ANNOTATION = DotName.createSimple("org.apache.camel.k.annotation.yaml.YAMLStepParser");
+ public static final DotName YAML_STEP_DEFINITION_ANNOTATION = DotName.createSimple("org.apache.camel.k.annotation.yaml.YAMLNodeDefinition");
+
@BuildStep
void registerReflectiveClasses(
BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
@@ -40,9 +47,13 @@ public class DeploymentProcessor {
IndexView view = combinedIndexBuildItem.getIndex();
- for (ClassInfo ci : getAllKnownImplementors(view, Step.Definition.class)) {
+ for (ClassInfo ci : getAnnotated(view, YAML_STEP_PARSER_ANNOTATION)) {
+ reflectiveClass.produce(new ReflectiveClassBuildItem(true, true, ci.name().toString()));
+ }
+ for (ClassInfo ci : getAnnotated(view, YAML_STEP_DEFINITION_ANNOTATION)) {
reflectiveClass.produce(new ReflectiveClassBuildItem(true, true, ci.name().toString()));
}
+
for (ClassInfo ci : getAllKnownImplementors(view, Step.Deserializer.class)) {
reflectiveClass.produce(new ReflectiveClassBuildItem(true, true, ci.name().toString()));
}
@@ -57,29 +68,51 @@ public class DeploymentProcessor {
}
reflectiveClass.produce(new ReflectiveClassBuildItem(true, true, Step.Deserializer.class));
- reflectiveClass.produce(new ReflectiveClassBuildItem(true, true, Step.Definition.class));
reflectiveClass.produce(new ReflectiveClassBuildItem(true, false, HasExpression.class));
reflectiveClass.produce(new ReflectiveClassBuildItem(true, false, HasDataFormat.class));
reflectiveClass.produce(new ReflectiveClassBuildItem(true, true, Node.class));
- reflectiveClass.produce(new ReflectiveClassBuildItem(true, false, "javax.xml.namespace.QName"));
- reflectiveClass.produce(new ReflectiveClassBuildItem(true, true, ProcessorDefinitionMixIn.class));
+ reflectiveClass.produce(new ReflectiveClassBuildItem(true, true, YamlSourceLoader.ProcessorDefinitionMixIn.class));
}
private static Iterable<ClassInfo> getAllKnownImplementors(IndexView view, String name) {
- return view.getAllKnownImplementors(DotName.createSimple(name));
+ return getAllKnownImplementors(view, DotName.createSimple(name));
}
private static Iterable<ClassInfo> getAllKnownImplementors(IndexView view, Class<?> type) {
- return view.getAllKnownImplementors(DotName.createSimple(type.getName()));
+ return getAllKnownImplementors(view, DotName.createSimple(type.getName()));
+ }
+
+ private static Iterable<ClassInfo> getAllKnownImplementors(IndexView view, DotName type) {
+ return view.getAllKnownImplementors(type);
}
private static Iterable<ClassInfo> getAllKnownSubclasses(IndexView view, String name) {
- return view.getAllKnownSubclasses(DotName.createSimple(name));
+ return getAllKnownSubclasses(view, DotName.createSimple(name));
}
private static Iterable<ClassInfo> getAllKnownSubclasses(IndexView view, Class<?> type) {
- return view.getAllKnownSubclasses(DotName.createSimple(type.getName()));
+ return getAllKnownSubclasses(view, DotName.createSimple(type.getName()));
+ }
+
+ private static Iterable<ClassInfo> getAllKnownSubclasses(IndexView view, DotName type) {
+ return view.getAllKnownSubclasses(type);
+ }
+
+ private static Iterable<ClassInfo> getAnnotated(IndexView view, String name) {
+ return getAnnotated(view, DotName.createSimple(name));
+ }
+
+ private static Iterable<ClassInfo> getAnnotated(IndexView view, Class<?> type) {
+ return getAnnotated(view, DotName.createSimple(type.getName()));
+ }
+
+ private static Iterable<ClassInfo> getAnnotated(IndexView view, DotName type) {
+ return view.getAnnotations(type).stream()
+ .map(AnnotationInstance::target)
+ .filter(t -> t.kind() == AnnotationTarget.Kind.CLASS)
+ .map(AnnotationTarget::asClass)
+ .collect(Collectors.toList());
}
}
diff --git a/camel-k-runtime-bom/pom.xml b/camel-k-runtime-bom/pom.xml
index 9639d21..c81d539 100644
--- a/camel-k-runtime-bom/pom.xml
+++ b/camel-k-runtime-bom/pom.xml
@@ -171,6 +171,11 @@
</dependency>
<dependency>
<groupId>org.apache.camel.k</groupId>
+ <artifactId>camel-k-quarkus-loader-yaml-common</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel.k</groupId>
<artifactId>camel-k-quarkus-loader-yaml-deployment</artifactId>
<version>${project.version}</version>
</dependency>
@@ -239,6 +244,11 @@
</dependency>
<dependency>
<groupId>org.apache.camel.k</groupId>
+ <artifactId>camel-k-loader-yaml-common</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel.k</groupId>
<artifactId>camel-k-loader-yaml</artifactId>
<version>${project.version}</version>
</dependency>
diff --git a/pom.xml b/pom.xml
index f21c01c..5fcff7c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -416,6 +416,11 @@
</dependency>
<dependency>
<groupId>org.apache.camel.k</groupId>
+ <artifactId>camel-k-loader-yaml-common</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel.k</groupId>
<artifactId>camel-k-loader-js</artifactId>
<version>${project.version}</version>
</dependency>
diff --git a/tooling/camel-k-annotations/pom.xml b/tooling/camel-k-annotations/pom.xml
index 330ec1e..1150759 100644
--- a/tooling/camel-k-annotations/pom.xml
+++ b/tooling/camel-k-annotations/pom.xml
@@ -27,4 +27,12 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>camel-k-annotations</artifactId>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-core-engine</artifactId>
+ <optional>true</optional>
+ </dependency>
+ </dependencies>
</project>
diff --git a/tooling/camel-k-annotations/src/main/java/org/apache/camel/k/annotation/yaml/YAMLStepParser.java b/tooling/camel-k-annotations/src/main/java/org/apache/camel/k/annotation/yaml/YAMLNodeDefinition.java
similarity index 84%
copy from tooling/camel-k-annotations/src/main/java/org/apache/camel/k/annotation/yaml/YAMLStepParser.java
copy to tooling/camel-k-annotations/src/main/java/org/apache/camel/k/annotation/yaml/YAMLNodeDefinition.java
index d11af8a..40720f3 100644
--- a/tooling/camel-k-annotations/src/main/java/org/apache/camel/k/annotation/yaml/YAMLStepParser.java
+++ b/tooling/camel-k-annotations/src/main/java/org/apache/camel/k/annotation/yaml/YAMLNodeDefinition.java
@@ -21,8 +21,10 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
+import org.apache.camel.reifier.ProcessorReifier;
+
@Target(ElementType.TYPE)
-@Retention(RetentionPolicy.SOURCE)
-public @interface YAMLStepParser {
- String[] value();
+@Retention(RetentionPolicy.RUNTIME)
+public @interface YAMLNodeDefinition {
+ Class<? extends ProcessorReifier>[] reifiers() default {};
}
diff --git a/tooling/camel-k-annotations/src/main/java/org/apache/camel/k/annotation/yaml/YAMLStepParser.java b/tooling/camel-k-annotations/src/main/java/org/apache/camel/k/annotation/yaml/YAMLStepParser.java
index d11af8a..f546632 100644
--- a/tooling/camel-k-annotations/src/main/java/org/apache/camel/k/annotation/yaml/YAMLStepParser.java
+++ b/tooling/camel-k-annotations/src/main/java/org/apache/camel/k/annotation/yaml/YAMLStepParser.java
@@ -22,7 +22,7 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.TYPE)
-@Retention(RetentionPolicy.SOURCE)
+@Retention(RetentionPolicy.RUNTIME)
public @interface YAMLStepParser {
String[] value();
}
diff --git a/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateYamlLoaderSupportClasses.java b/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateYamlLoaderSupportClasses.java
new file mode 100644
index 0000000..bc13bf2
--- /dev/null
+++ b/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateYamlLoaderSupportClasses.java
@@ -0,0 +1,127 @@
+/*
+ * 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.k.tooling.maven;
+
+
+import java.io.IOException;
+import java.nio.file.Paths;
+import javax.lang.model.element.Modifier;
+
+import com.fasterxml.jackson.core.Version;
+import com.fasterxml.jackson.databind.Module;
+import com.squareup.javapoet.CodeBlock;
+import com.squareup.javapoet.JavaFile;
+import com.squareup.javapoet.MethodSpec;
+import com.squareup.javapoet.TypeSpec;
+import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.ResolutionScope;
+import org.jboss.jandex.AnnotationInstance;
+import org.jboss.jandex.AnnotationValue;
+import org.jboss.jandex.ClassInfo;
+
+@Mojo(
+ name = "generate-yaml-loader-support-classes",
+ inheritByDefault = false,
+ defaultPhase = LifecyclePhase.GENERATE_SOURCES,
+ requiresDependencyResolution = ResolutionScope.COMPILE,
+ threadSafe = true,
+ requiresProject = false)
+public class GenerateYamlLoaderSupportClasses extends GenerateYamlSupport {
+ @Override
+ public void execute() throws MojoFailureException {
+ try {
+ JavaFile.builder("org.apache.camel.k.loader.yaml", generateJacksonModule())
+ .indent(" ")
+ .build()
+ .writeTo(Paths.get(output));
+ JavaFile.builder("org.apache.camel.k.loader.yaml", generateReifiers())
+ .indent(" ")
+ .build()
+ .writeTo(Paths.get(output));
+ } catch (IOException e) {
+ throw new MojoFailureException(e.getMessage());
+ }
+ }
+
+ public final TypeSpec generateJacksonModule() {
+ TypeSpec.Builder type = TypeSpec.classBuilder("YamlModule");
+ type.addModifiers(Modifier.PUBLIC, Modifier.FINAL);
+ type.superclass(Module.class);
+ type.addMethod(
+ MethodSpec.methodBuilder("getModuleName")
+ .addModifiers(Modifier.PUBLIC)
+ .addAnnotation(Override.class)
+ .returns(String.class)
+ .addCode(CodeBlock.builder().addStatement("return $S", "camel-yaml").build())
+ .build()
+ );
+ type.addMethod(
+ MethodSpec.methodBuilder("version")
+ .addModifiers(Modifier.PUBLIC)
+ .addAnnotation(Override.class)
+ .returns(Version.class)
+ .addCode(CodeBlock.builder().addStatement("return $L", "Version.unknownVersion()").build())
+ .build()
+ );
+
+ MethodSpec.Builder mb = MethodSpec.methodBuilder("setupModule")
+ .addModifiers(Modifier.PUBLIC)
+ .addParameter(Module.SetupContext.class, "context");
+
+ definitions(EXPRESSION_DEFINITION_CLASS).forEach(
+ (k, v) -> mb.addStatement("context.registerSubtypes(new com.fasterxml.jackson.databind.jsontype.NamedType($T.class, $S))", v, k)
+ );
+ definitions(DATAFORMAT_DEFINITION_CLASS).forEach(
+ (k, v) -> mb.addStatement("context.registerSubtypes(new com.fasterxml.jackson.databind.jsontype.NamedType($T.class, $S))", v, k)
+ );
+
+ type.addMethod(mb.build());
+
+ return type.build();
+ }
+
+ public final TypeSpec generateReifiers() {
+ TypeSpec.Builder type = TypeSpec.classBuilder("YamlReifiers");
+ type.addModifiers(Modifier.PUBLIC, Modifier.FINAL);
+
+ MethodSpec.Builder mb = MethodSpec.methodBuilder("registerReifiers")
+ .addModifiers(Modifier.PUBLIC)
+ .addModifiers(Modifier.STATIC);
+
+ annotated(YAML_STEP_DEFINITION_ANNOTATION).forEach(i -> {
+ final AnnotationInstance annotation = i.classAnnotation(YAML_STEP_DEFINITION_ANNOTATION);
+ final AnnotationValue reifiers = annotation.value("reifiers");
+
+ String name = i.toString();
+ if (i.nestingType() == ClassInfo.NestingType.INNER) {
+ name = i.enclosingClass().toString() + "." + i.simpleName();
+ }
+
+ if (reifiers != null) {
+ for (String reifier: reifiers.asStringArray()) {
+ mb.addStatement("org.apache.camel.reifier.ProcessorReifier.registerReifier($L.class, $L::new);", name, reifier);
+ }
+ }
+ });
+
+ type.addMethod(mb.build());
+
+ return type.build();
+ }
+}
diff --git a/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateYamlSupportClasses.java b/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateYamlParserSupportClasses.java
similarity index 55%
rename from tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateYamlSupportClasses.java
rename to tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateYamlParserSupportClasses.java
index 2110644..d79c319 100644
--- a/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateYamlSupportClasses.java
+++ b/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateYamlParserSupportClasses.java
@@ -17,24 +17,12 @@
package org.apache.camel.k.tooling.maven;
-import java.io.File;
import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.net.URLClassLoader;
import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
import javax.lang.model.element.Modifier;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.core.Version;
-import com.fasterxml.jackson.databind.Module;
import com.squareup.javapoet.AnnotationSpec;
import com.squareup.javapoet.CodeBlock;
import com.squareup.javapoet.JavaFile;
@@ -44,38 +32,18 @@ import org.apache.camel.model.DataFormatDefinition;
import org.apache.camel.model.language.ExpressionDefinition;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.text.WordUtils;
-import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.apache.maven.project.MavenProject;
-import org.jboss.jandex.AnnotationInstance;
-import org.jboss.jandex.AnnotationValue;
-import org.jboss.jandex.ClassInfo;
-import org.jboss.jandex.CompositeIndex;
-import org.jboss.jandex.DotName;
-import org.jboss.jandex.IndexReader;
-import org.jboss.jandex.IndexView;
@Mojo(
- name = "generate-yaml-support-classes",
+ name = "generate-yaml-parser-support-classes",
inheritByDefault = false,
defaultPhase = LifecyclePhase.GENERATE_SOURCES,
requiresDependencyResolution = ResolutionScope.COMPILE,
- threadSafe = true,
- requiresProject = false)
-public class GenerateYamlSupportClasses extends AbstractMojo {
- public static final DotName EXPRESSION_DEFINITION_CLASS = DotName.createSimple("org.apache.camel.model.language.ExpressionDefinition");
- public static final DotName DATAFORMAT_DEFINITION_CLASS = DotName.createSimple("org.apache.camel.model.DataFormatDefinition");
- public static final DotName XMLROOTELEMENT_ANNOTATION_CLASS = DotName.createSimple("javax.xml.bind.annotation.XmlRootElement");
-
- @Parameter(readonly = true)
- private MavenProject project;
- @Parameter(defaultValue = "${project.build.directory}/generated-sources/camel")
- private String output;
-
+ threadSafe = true)
+public class GenerateYamlParserSupportClasses extends GenerateYamlSupport {
@Override
public void execute() throws MojoFailureException {
try {
@@ -87,10 +55,6 @@ public class GenerateYamlSupportClasses extends AbstractMojo {
.indent(" ")
.build()
.writeTo(Paths.get(output));
- JavaFile.builder("org.apache.camel.k.loader.yaml", generateJacksonModule())
- .indent(" ")
- .build()
- .writeTo(Paths.get(output));
} catch (IOException e) {
throw new MojoFailureException(e.getMessage());
}
@@ -196,101 +160,4 @@ public class GenerateYamlSupportClasses extends AbstractMojo {
return type.build();
}
-
- public final TypeSpec generateJacksonModule() {
- TypeSpec.Builder type = TypeSpec.classBuilder("YamlModule");
- type.addModifiers(Modifier.PUBLIC, Modifier.FINAL);
- type.superclass(Module.class);
- type.addMethod(
- MethodSpec.methodBuilder("getModuleName")
- .addModifiers(Modifier.PUBLIC)
- .addAnnotation(Override.class)
- .returns(String.class)
- .addCode(CodeBlock.builder().addStatement("return $S", "camel-yaml").build())
- .build()
- );
- type.addMethod(
- MethodSpec.methodBuilder("version")
- .addModifiers(Modifier.PUBLIC)
- .addAnnotation(Override.class)
- .returns(Version.class)
- .addCode(CodeBlock.builder().addStatement("return $L", "Version.unknownVersion()").build())
- .build()
- );
-
- MethodSpec.Builder mb = MethodSpec.methodBuilder("setupModule")
- .addModifiers(Modifier.PUBLIC)
- .addParameter(Module.SetupContext.class, "context");
-
- definitions(EXPRESSION_DEFINITION_CLASS).forEach(
- (k, v) -> mb.addStatement("context.registerSubtypes(new com.fasterxml.jackson.databind.jsontype.NamedType($T.class, $S))", v, k)
- );
- definitions(DATAFORMAT_DEFINITION_CLASS).forEach(
- (k, v) -> mb.addStatement("context.registerSubtypes(new com.fasterxml.jackson.databind.jsontype.NamedType($T.class, $S))", v, k)
- );
-
- type.addMethod(mb.build());
-
- return type.build();
- }
-
- private Map<String, Class<?>> definitions(DotName type) {
- ClassLoader cl = getClassLoader();
- Map<String, Class<?>> definitions = new HashMap<>();
- IndexView view = getCompositeIndexer(cl);
-
- for (ClassInfo ci: view.getAllKnownSubclasses(type)) {
- AnnotationInstance instance = ci.classAnnotation(XMLROOTELEMENT_ANNOTATION_CLASS);
- if (instance != null) {
- AnnotationValue name = instance.value("name");
- if (name != null) {
- try {
- definitions.put(name.asString(), cl.loadClass(ci.name().toString()));
- } catch (ClassNotFoundException e) {
- throw new RuntimeException(e);
- }
- }
- }
- }
-
- return Collections.unmodifiableMap(definitions);
- }
-
- private static IndexView getCompositeIndexer(ClassLoader classLoader) {
- try {
- Enumeration<URL> elements = classLoader.getResources("META-INF/jandex.idx");
- List<IndexView> allIndex = new ArrayList<>();
-
- for (Enumeration<URL> e = elements; e.hasMoreElements();) {
- try (InputStream is = e.nextElement().openStream()) {
- allIndex.add(new IndexReader(is).read());
- }
- }
-
- return CompositeIndex.create(allIndex);
-
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- private ClassLoader getClassLoader() {
- if (project == null) {
- return getClass().getClassLoader();
- }
-
- try {
- List<String> elements = new ArrayList<>();
- elements.addAll(project.getCompileClasspathElements());
- elements.addAll(project.getRuntimeClasspathElements());
-
- URL urls[] = new URL[elements.size()];
- for (int i = 0; i < elements.size(); ++i) {
- urls[i] = new File(elements.get(i)).toURI().toURL();
- }
- return new URLClassLoader(urls, this.getClass().getClassLoader());
- } catch (Exception e) {
- return this.getClass().getClassLoader();
- }
- }
}
diff --git a/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateYamlSupport.java b/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateYamlSupport.java
new file mode 100644
index 0000000..055c4dd
--- /dev/null
+++ b/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateYamlSupport.java
@@ -0,0 +1,138 @@
+/*
+ * 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.k.tooling.maven;
+
+
+import java.io.File;
+import java.io.InputStream;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Stream;
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.project.MavenProject;
+import org.jboss.jandex.AnnotationInstance;
+import org.jboss.jandex.AnnotationTarget;
+import org.jboss.jandex.AnnotationValue;
+import org.jboss.jandex.ClassInfo;
+import org.jboss.jandex.CompositeIndex;
+import org.jboss.jandex.DotName;
+import org.jboss.jandex.IndexReader;
+import org.jboss.jandex.IndexView;
+
+public abstract class GenerateYamlSupport extends AbstractMojo {
+ public static final DotName EXPRESSION_DEFINITION_CLASS = DotName.createSimple("org.apache.camel.model.language.ExpressionDefinition");
+ public static final DotName DATAFORMAT_DEFINITION_CLASS = DotName.createSimple("org.apache.camel.model.DataFormatDefinition");
+ public static final DotName XMLROOTELEMENT_ANNOTATION_CLASS = DotName.createSimple("javax.xml.bind.annotation.XmlRootElement");
+ public static final DotName YAML_STEP_DEFINITION_CLASS = DotName.createSimple("org.apache.camel.k.loader.yaml.model.Step$Definition");
+ public static final DotName YAML_STEP_PARSER_ANNOTATION = DotName.createSimple("org.apache.camel.k.annotation.yaml.YAMLStepParser");
+ public static final DotName YAML_STEP_DEFINITION_ANNOTATION = DotName.createSimple("org.apache.camel.k.annotation.yaml.YAMLNodeDefinition");
+
+ @Parameter(defaultValue = "${project}", readonly = true, required = true)
+ protected MavenProject project;
+ @Parameter(defaultValue = "${project.build.directory}/generated-sources/camel")
+ protected String output;
+
+ protected Map<String, Class<?>> definitions(DotName type) {
+ ClassLoader cl = getClassLoader();
+ Map<String, Class<?>> definitions = new HashMap<>();
+ IndexView view = getCompositeIndexer(cl);
+
+ for (ClassInfo ci: view.getAllKnownSubclasses(type)) {
+ AnnotationInstance instance = ci.classAnnotation(XMLROOTELEMENT_ANNOTATION_CLASS);
+ if (instance != null) {
+ AnnotationValue name = instance.value("name");
+ if (name != null) {
+ try {
+ definitions.put(name.asString(), cl.loadClass(ci.name().toString()));
+ } catch (ClassNotFoundException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+ }
+
+ return Collections.unmodifiableMap(definitions);
+ }
+
+ protected Stream<ClassInfo> implementors(DotName type) {
+ ClassLoader cl = getClassLoader();
+ IndexView view = getCompositeIndexer(cl);
+
+ return view.getAllKnownImplementors(type).stream();
+ }
+
+ protected Stream<ClassInfo> annotated(DotName type) {
+ ClassLoader cl = getClassLoader();
+ IndexView view = getCompositeIndexer(cl);
+
+
+ return view.getAnnotations(type).stream()
+ .map(AnnotationInstance::target)
+ .filter(t -> t.kind() == AnnotationTarget.Kind.CLASS)
+ .map(AnnotationTarget::asClass);
+ }
+
+ protected static IndexView getCompositeIndexer(ClassLoader classLoader) {
+ try {
+ Enumeration<URL> elements = classLoader.getResources("META-INF/jandex.idx");
+ List<IndexView> allIndex = new ArrayList<>();
+ Set<URL> locations = new HashSet<>();
+
+ for (Enumeration<URL> e = elements; e.hasMoreElements();) {
+ URL url = e.nextElement();
+ if (locations.add(url)) {
+ try (InputStream is = url.openStream()) {
+ allIndex.add(new IndexReader(is).read());
+ }
+ }
+ }
+
+ return CompositeIndex.create(allIndex);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ protected ClassLoader getClassLoader() {
+ if (project == null) {
+ return getClass().getClassLoader();
+ }
+
+ try {
+ List<String> elements = new ArrayList<>();
+ elements.addAll(project.getCompileClasspathElements());
+
+ URL urls[] = new URL[elements.size()];
+ for (int i = 0; i < elements.size(); ++i) {
+ urls[i] = new File(elements.get(i)).toURI().toURL();
+ }
+ return new URLClassLoader(urls, this.getClass().getClassLoader());
+ } catch (Exception e) {
+ return this.getClass().getClassLoader();
+ }
+ }
+}
diff --git a/tooling/camel-k-maven-plugin/src/test/java/org/apache/camel/k/tooling/maven/processors/GenerateYamlSupportClassesTest.java b/tooling/camel-k-maven-plugin/src/test/java/org/apache/camel/k/tooling/maven/processors/GenerateYamlSupportClassesTest.java
index 27784f1..52bfb26 100644
--- a/tooling/camel-k-maven-plugin/src/test/java/org/apache/camel/k/tooling/maven/processors/GenerateYamlSupportClassesTest.java
+++ b/tooling/camel-k-maven-plugin/src/test/java/org/apache/camel/k/tooling/maven/processors/GenerateYamlSupportClassesTest.java
@@ -18,7 +18,8 @@ package org.apache.camel.k.tooling.maven.processors;
import com.squareup.javapoet.JavaFile;
import com.squareup.javapoet.TypeSpec;
-import org.apache.camel.k.tooling.maven.GenerateYamlSupportClasses;
+import org.apache.camel.k.tooling.maven.GenerateYamlLoaderSupportClasses;
+import org.apache.camel.k.tooling.maven.GenerateYamlParserSupportClasses;
import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
@@ -26,7 +27,7 @@ import static org.assertj.core.api.Assertions.assertThat;
public class GenerateYamlSupportClassesTest {
@Test
public void testGenerateHasDataFormat() {
- final TypeSpec spec = new GenerateYamlSupportClasses().generateHasDataFormat();
+ final TypeSpec spec = new GenerateYamlParserSupportClasses().generateHasDataFormat();
final JavaFile file = JavaFile.builder("org.apache.camel.k.loader.yaml.parser", spec).build();
assertThat(file.packageName).isEqualTo("org.apache.camel.k.loader.yaml.parser");
@@ -36,7 +37,7 @@ public class GenerateYamlSupportClassesTest {
@Test
public void testGenerateHasExpression() {
- final TypeSpec spec = new GenerateYamlSupportClasses().generateHasExpression();
+ final TypeSpec spec = new GenerateYamlParserSupportClasses().generateHasExpression();
final JavaFile file = JavaFile.builder("org.apache.camel.k.loader.yaml.parser", spec).build();
assertThat(file.packageName).isEqualTo("org.apache.camel.k.loader.yaml.parser");
@@ -46,7 +47,7 @@ public class GenerateYamlSupportClassesTest {
@Test
public void testGenerateJacksonModule() {
- final TypeSpec spec = new GenerateYamlSupportClasses().generateJacksonModule();
+ final TypeSpec spec = new GenerateYamlLoaderSupportClasses().generateJacksonModule();
final JavaFile file = JavaFile.builder("org.apache.camel.k.loader.yaml", spec).build();
assertThat(file.packageName).isEqualTo("org.apache.camel.k.loader.yaml");