This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit 4f70839b985464fce64ffb8532e436920d86cc80 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Thu Oct 14 10:01:42 2021 +0200 CAMEL-17075: Deprecate DataSonnetBuilder to not use it, and prepare for deletion. --- .../datasonnet/CamelDatasonnetJavaDslTest.java | 15 ++++++-------- .../org/apache/camel/builder/BuilderSupport.java | 24 ++++++++++++++++------ .../apache/camel/builder/DatasonnetBuilder.java | 1 + .../ROOT/pages/camel-3x-upgrade-guide-3_13.adoc | 19 +++++++++++++++++ 4 files changed, 44 insertions(+), 15 deletions(-) diff --git a/components/camel-datasonnet/src/test/java/org/apache/camel/language/datasonnet/CamelDatasonnetJavaDslTest.java b/components/camel-datasonnet/src/test/java/org/apache/camel/language/datasonnet/CamelDatasonnetJavaDslTest.java index 7dd4571..00d9b48 100644 --- a/components/camel-datasonnet/src/test/java/org/apache/camel/language/datasonnet/CamelDatasonnetJavaDslTest.java +++ b/components/camel-datasonnet/src/test/java/org/apache/camel/language/datasonnet/CamelDatasonnetJavaDslTest.java @@ -66,23 +66,20 @@ public class CamelDatasonnetJavaDslTest extends CamelTestSupport { .setProperty("count", simple("1", Integer.class)) .setProperty("isActive", simple("true", Boolean.class)) .setProperty("1. Full Name", constant("DataSonnet")) - .transform(datasonnet("resource:classpath:simpleMapping.ds", String.class) - .bodyMediaType(MediaTypes.APPLICATION_JSON_VALUE) - .outputMediaType(MediaTypes.APPLICATION_JSON_VALUE)) + .transform(datasonnet("resource:classpath:simpleMapping.ds", String.class, + MediaTypes.APPLICATION_JSON_VALUE, MediaTypes.APPLICATION_JSON_VALUE)) .to("mock:direct:end"); from("direct:transformXML") .routeId("transformXML") - .transform(datasonnet("resource:classpath:readXMLExtTest.ds", String.class) - .bodyMediaType(MediaTypes.APPLICATION_XML_VALUE) - .outputMediaType(MediaTypes.APPLICATION_JSON_VALUE)) + .transform(datasonnet("resource:classpath:readXMLExtTest.ds", String.class, + MediaTypes.APPLICATION_XML_VALUE, MediaTypes.APPLICATION_JSON_VALUE)) .to("mock:direct:end"); from("direct:transformCSV") .routeId("transformCSV") - .transform(datasonnet("resource:classpath:readCSVTest.ds", String.class) - .bodyMediaType(MediaTypes.APPLICATION_CSV_VALUE) - .outputMediaType(MediaTypes.APPLICATION_JSON_VALUE)) + .transform(datasonnet("resource:classpath:readCSVTest.ds", String.class, + MediaTypes.APPLICATION_CSV_VALUE, MediaTypes.APPLICATION_JSON_VALUE)) .to("mock:direct:end"); } diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/BuilderSupport.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/BuilderSupport.java index 31eb93b..d6cae2e 100644 --- a/core/camel-core-model/src/main/java/org/apache/camel/builder/BuilderSupport.java +++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/BuilderSupport.java @@ -26,6 +26,7 @@ import org.apache.camel.Endpoint; import org.apache.camel.Expression; import org.apache.camel.NoSuchEndpointException; import org.apache.camel.RuntimeCamelException; +import org.apache.camel.model.language.DatasonnetExpression; import org.apache.camel.model.language.ExchangePropertyExpression; import org.apache.camel.model.language.HeaderExpression; import org.apache.camel.model.language.SimpleExpression; @@ -162,17 +163,28 @@ public abstract class BuilderSupport implements CamelContextAware { } /** - * Returns a Datasonnet expression value builder + * Returns a datasonnet expression value builder */ - public DatasonnetBuilder datasonnet(String value) { - return DatasonnetBuilder.datasonnet(value); + public ValueBuilder datasonnet(String value) { + return datasonnet(value, null); } /** - * Returns a Datasonnet expression value builder + * Returns a datasonnet expression value builder */ - public DatasonnetBuilder datasonnet(String value, Class<?> resultType) { - return DatasonnetBuilder.datasonnet(value, resultType); + public ValueBuilder datasonnet(String value, Class<?> resultType) { + return datasonnet(value, resultType, null, null); + } + + /** + * Returns a datasonnet expression value builder + */ + public ValueBuilder datasonnet(String value, Class<?> resultType, String bodyMediaType, String outputMediaType) { + DatasonnetExpression exp = new DatasonnetExpression(value); + exp.setResultType(resultType); + exp.setBodyMediaType(bodyMediaType); + exp.setOutputMediaType(outputMediaType); + return new ValueBuilder(exp); } /** diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/DatasonnetBuilder.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/DatasonnetBuilder.java index cb711fa..4a98fb5 100644 --- a/core/camel-core-model/src/main/java/org/apache/camel/builder/DatasonnetBuilder.java +++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/DatasonnetBuilder.java @@ -29,6 +29,7 @@ import org.apache.camel.spi.Language; * This builder is available in the Java DSL from the {@link RouteBuilder} which means that using datasonnet language * for {@link Expression}s or {@link Predicate}s is very easy with the help of this builder. */ +@Deprecated public class DatasonnetBuilder implements Predicate, Expression, ExpressionResultTypeAware { private String text; diff --git a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_13.adoc b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_13.adoc index 8908124..0dc47fd 100644 --- a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_13.adoc +++ b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_13.adoc @@ -31,6 +31,25 @@ to simple("1", Integer.class) ---- +=== camel-datasonnet and DataSonnetBuilder + +The `org.apache.camel.builder.DataSonnetBuilder` has been removed. + +End users that use camel-datasonnet in Java DSL should migrate from: + +[source,java] +---- +datasonnet("resource:classpath:simpleMapping.ds", String.class) + .bodyMediaType(MediaTypes.APPLICATION_JSON_VALUE) + .outputMediaType(MediaTypes.APPLICATION_JSON_VALUE) +---- + +to + +[source,java] +---- +---- + === Using custom Debugger Previously when setting a custom org.apache.camel.spi.Debugger, then Camel would automatically