You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2017/01/19 12:21:16 UTC
[4/4] camel git commit: CAMEL-10531 Introduce fluent builder for
Transformer
CAMEL-10531 Introduce fluent builder for Transformer
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/11c78407
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/11c78407
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/11c78407
Branch: refs/heads/master
Commit: 11c7840712de23c98c2754b684f42d94dc837612
Parents: 388b787
Author: Tomohisa Igarashi <tm...@gmail.com>
Authored: Wed Jan 18 08:06:41 2017 +0900
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Jan 19 13:20:55 2017 +0100
----------------------------------------------------------------------
camel-core/src/main/docs/transformer.adoc | 44 ++++-
.../org/apache/camel/builder/RouteBuilder.java | 23 +++
.../camel/builder/TransformerBuilder.java | 184 +++++++++++++++++++
.../camel/builder/TransformerBuilderTest.java | 117 ++++++++++++
.../transformer/TransformerContractTest.java | 8 +-
.../impl/transformer/TransformerRouteTest.java | 46 ++---
.../ManagedTransformerRegistryTest.java | 33 ++--
.../camel/example/transformer/cdi/MyRoutes.java | 10 +-
8 files changed, 402 insertions(+), 63 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/11c78407/camel-core/src/main/docs/transformer.adoc
----------------------------------------------------------------------
diff --git a/camel-core/src/main/docs/transformer.adoc b/camel-core/src/main/docs/transformer.adoc
index d8020db..aff0207 100644
--- a/camel-core/src/main/docs/transformer.adoc
+++ b/camel-core/src/main/docs/transformer.adoc
@@ -73,7 +73,21 @@ DataFormat Transformer Options
| ref | reference to the link:data-format.html[Data Format] ID
|=======================================================================
-Here is an example to specify bindy DataFormat type in XML DSL:
+Here is an example to specify bindy DataFormat type:
+
+Java DSL:
+[source,java]
+-------------------------------------------------------------------
+BindyDataFormat bindy = new BindyDataFormat();
+bindy.setType(BindyType.Csv);
+bindy.setClassType(com.example.Order.class);
+transformer()
+ .from(com.example.Order.class)
+ .to("csv:CSVOrder")
+ .withDataFormat(bindy);
+-------------------------------------------------------------------
+
+XML DSL:
[source,xml]
-------------------------------------------------------------------
<dataFormatTransformer from="java:com.example.Order" to="csv:CSVOrder">
@@ -93,7 +107,16 @@ Endpoint Transformer Options
| uri | link:endpoint.html[Endpoint] URI
|=======================================================================
-Here is an example to specify endpoint ref in XML DSL:
+Here is an example to specify endpoint URI in Java DSL:
+[source,java]
+-------------------------------------------------------------------
+transformer()
+ .from("xml")
+ .to("json")
+ .withUri("dozer:myDozer?mappingFile=myMapping.xml...");
+-------------------------------------------------------------------
+
+And here is an example to specify endpoint ref in XML DSL:
[source,xml]
-------------------------------------------------------------------
<endpointTransformer ref="myDozerEndpoint" from="xml" to="json"/>
@@ -112,7 +135,17 @@ Note that Transformer must be a subclass of `org.apache.camel.spi.Transformer`
| type | Fully qualified class name of the custom Transformer class
|=======================================================================
-Here is an example to specify custom Transformer class in XML DSL:
+Here is an example to specify custom Transformer class:
+Java DSL:
+[source,java]
+-------------------------------------------------------------------
+transformer()
+ .from("xml")
+ .to("json")
+ .withJava(com.example.MyCustomTransformer.class);
+-------------------------------------------------------------------
+
+XML DSL:
[source,xml]
-------------------------------------------------------------------
<customTransformer type="com.example.MyCustomTransformer" from="xml" to="json"/>
@@ -130,7 +163,10 @@ xslt component to transform from `xml:ABCOrder` to `xml:XYZOrder`, we can do as
Java DSL:
[source,java]
-------------------------------------------------------------------
-// TODO implement fluent builder for transformers
+transformer()
+ .from("xml:ABCOrder")
+ .to("xml:XYZOrder")
+ .withUri("xslt:transform.xsl");
-------------------------------------------------------------------
XML DSL:
http://git-wip-us.apache.org/repos/asf/camel/blob/11c78407/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
index bc5b61f..ba7b828 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
@@ -53,6 +53,7 @@ public abstract class RouteBuilder extends BuilderSupport implements RoutesBuild
private AtomicBoolean initialized = new AtomicBoolean(false);
private RestsDefinition restCollection = new RestsDefinition();
private Map<String, RestConfigurationDefinition> restConfigurations;
+ private List<TransformerBuilder> transformerBuilders = new ArrayList<TransformerBuilder>();
private RoutesDefinition routeCollection = new RoutesDefinition();
public RouteBuilder() {
@@ -132,6 +133,17 @@ public abstract class RouteBuilder extends BuilderSupport implements RoutesBuild
}
/**
+ * Create a new Transformer.
+ *
+ * @return the builder
+ */
+ public TransformerBuilder transformer() {
+ TransformerBuilder tdb = new TransformerBuilder();
+ transformerBuilders.add(tdb);
+ return tdb;
+ }
+
+ /**
* Creates a new route from the given URI input
*
* @param uri the from uri
@@ -328,6 +340,7 @@ public abstract class RouteBuilder extends BuilderSupport implements RoutesBuild
// but populate rests before routes, as we want to turn rests into routes
populateRests();
+ populateTransformers();
populateRoutes();
}
@@ -471,6 +484,16 @@ public abstract class RouteBuilder extends BuilderSupport implements RoutesBuild
}
}
+ protected void populateTransformers() {
+ ModelCamelContext camelContext = getContext();
+ if (camelContext == null) {
+ throw new IllegalArgumentException("CamelContext has not been injected!");
+ }
+ for (TransformerBuilder tdb : transformerBuilders) {
+ tdb.configure(camelContext);
+ }
+ }
+
public RestsDefinition getRestCollection() {
return restCollection;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/11c78407/camel-core/src/main/java/org/apache/camel/builder/TransformerBuilder.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/builder/TransformerBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/TransformerBuilder.java
new file mode 100644
index 0000000..4858fc9
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/builder/TransformerBuilder.java
@@ -0,0 +1,184 @@
+/**
+ * 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.builder;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.model.DataFormatDefinition;
+import org.apache.camel.model.transformer.CustomTransformerDefinition;
+import org.apache.camel.model.transformer.DataFormatTransformerDefinition;
+import org.apache.camel.model.transformer.EndpointTransformerDefinition;
+import org.apache.camel.model.transformer.TransformerDefinition;
+import org.apache.camel.spi.Transformer;
+
+/**
+ * A <a href="http://camel.apache.org/dsl.html">Java DSL</a> which is
+ * used to build a {@link org.apache.camel.spi.Transformer} and register into {@link org.apache.camel.CamelContext}.
+ */
+public class TransformerBuilder {
+
+ private String scheme;
+ private String from;
+ private String to;
+ private String uri;
+ private DataFormatDefinition dataFormat;
+ private Class<? extends Transformer> clazz;
+ private String beanRef;
+
+ /**
+ * Set a scheme name supported by the transformer.
+ *
+ * @param scheme scheme name
+ */
+ public TransformerBuilder scheme(String scheme) {
+ this.scheme = scheme;
+ return this;
+ }
+
+ /**
+ * Set the 'from' data type .
+ *
+ * @param from 'from' data type
+ */
+ public TransformerBuilder from(String from) {
+ this.from = from;
+ return this;
+ }
+
+ /**
+ * Set the 'from' data type using Java class.
+ *
+ * @param clazz 'from' Java class
+ */
+ public TransformerBuilder from(Class<?> from) {
+ this.from = "java:" + from.getName();
+ return this;
+ }
+
+ /**
+ * Set the 'to' data type .
+ *
+ * @param to 'to' data type
+ */
+ public TransformerBuilder to(String to) {
+ this.to = to;
+ return this;
+ }
+
+ /**
+ * Set the 'to' data type using Java class.
+ *
+ * @param clazz 'to' Java class
+ */
+ public TransformerBuilder to(Class<?> to) {
+ this.to = "java:" + to.getName();
+ return this;
+ }
+
+ /**
+ * Set the URI to be used for the endpoint {@code Transformer}.
+ * @see {@code EndpointTransformerDefinition}, {@code ProcessorTransformer}
+ *
+ * @param uri endpoint URI
+ */
+ public TransformerBuilder withUri(String uri) {
+ resetType();
+ this.uri = uri;
+ return this;
+ }
+
+ /**
+ * Set the {@code DataFormatDefinition} to be used for the {@code DataFormat} {@code Transformer}.
+ * @see {@code DataFormatTransformerDefinition}, {@code DataFormatTransformer}
+ *
+ * @param dfd {@code DataFormatDefinition}
+ */
+ public TransformerBuilder withDataFormat(DataFormatDefinition dfd) {
+ resetType();
+ this.dataFormat = dfd;
+ return this;
+ }
+
+ /**
+ * Set the Java {@code Class} represents a custom {@code Transformer} implementation class
+ * to be used for custom Transformer.
+ * @see {@code CustomTransformerDefinition}
+ *
+ * @param clazz {@code Class} object represents custom transformer implementation
+ */
+ public TransformerBuilder withJava(Class<? extends Transformer> clazz) {
+ resetType();
+ this.clazz = clazz;
+ return this;
+ }
+
+ /**
+ * Set the Java Bean name to be used for custom {@code Transformer}.
+ * @see {@code CustomTransformerDefinition}
+ *
+ * @param ref bean name for the custom {@code Transformer}
+ */
+ public TransformerBuilder withBean(String ref) {
+ resetType();
+ this.beanRef = ref;
+ return this;
+ }
+
+ private void resetType() {
+ this.uri = null;
+ this.dataFormat = null;
+ this.clazz = null;
+ this.beanRef = null;
+ }
+
+ /**
+ * Configure a Transformer according to the configurations built on this builder
+ * and register it into given {@code CamelContext}.
+ *
+ * @param camelContext {@code CamelContext}
+ */
+ public void configure(CamelContext camelContext) {
+ TransformerDefinition transformer;
+ if (uri != null) {
+ EndpointTransformerDefinition etd = new EndpointTransformerDefinition();
+ etd.setUri(uri);
+ transformer = etd;
+ } else if (dataFormat != null) {
+ DataFormatTransformerDefinition dtd = new DataFormatTransformerDefinition();
+ dtd.setDataFormatType(dataFormat);
+ transformer = dtd;
+ } else if (clazz != null) {
+ CustomTransformerDefinition ctd = new CustomTransformerDefinition();
+ ctd.setType(clazz.getName());
+ transformer = ctd;
+ } else if (beanRef != null) {
+ CustomTransformerDefinition ctd = new CustomTransformerDefinition();
+ ctd.setRef(beanRef);
+ transformer = ctd;
+ } else {
+ throw new IllegalArgumentException("No Transformer type was specified");
+ }
+
+ if (scheme != null) {
+ transformer.setScheme(scheme);
+ } else {
+ transformer.setFrom(from);
+ transformer.setTo(to);
+ }
+
+ camelContext.getTransformers().add(transformer);
+ }
+}
http://git-wip-us.apache.org/repos/asf/camel/blob/11c78407/camel-core/src/test/java/org/apache/camel/builder/TransformerBuilderTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/builder/TransformerBuilderTest.java b/camel-core/src/test/java/org/apache/camel/builder/TransformerBuilderTest.java
new file mode 100644
index 0000000..1a7c54f
--- /dev/null
+++ b/camel-core/src/test/java/org/apache/camel/builder/TransformerBuilderTest.java
@@ -0,0 +1,117 @@
+/**
+ * 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.builder;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.Channel;
+import org.apache.camel.DelegateProcessor;
+import org.apache.camel.Endpoint;
+import org.apache.camel.Exchange;
+import org.apache.camel.Message;
+import org.apache.camel.Processor;
+import org.apache.camel.Producer;
+import org.apache.camel.Route;
+import org.apache.camel.TestSupport;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.impl.EventDrivenConsumerRoute;
+import org.apache.camel.impl.transformer.DataFormatTransformer;
+import org.apache.camel.impl.transformer.ProcessorTransformer;
+import org.apache.camel.model.dataformat.StringDataFormat;
+import org.apache.camel.processor.ChoiceProcessor;
+import org.apache.camel.processor.DeadLetterChannel;
+import org.apache.camel.processor.EvaluateExpressionProcessor;
+import org.apache.camel.processor.FilterProcessor;
+import org.apache.camel.processor.MulticastProcessor;
+import org.apache.camel.processor.Pipeline;
+import org.apache.camel.processor.RecipientList;
+import org.apache.camel.processor.SendProcessor;
+import org.apache.camel.processor.Splitter;
+import org.apache.camel.processor.ThreadsProcessor;
+import org.apache.camel.processor.idempotent.IdempotentConsumer;
+import org.apache.camel.processor.idempotent.MemoryIdempotentRepository;
+import org.apache.camel.spi.DataType;
+import org.apache.camel.spi.Transformer;
+
+public class TransformerBuilderTest extends TestSupport {
+
+ public void testDataFormatTransformer() throws Exception {
+ CamelContext ctx = new DefaultCamelContext();
+ RouteBuilder builder = new RouteBuilder() {
+ @Override
+ public void configure() throws Exception {
+ transformer().from("xml:foo").to("json:bar").withDataFormat(new StringDataFormat());
+ }
+ };
+ ctx.addRoutes(builder);
+ Transformer transformer = ctx.resolveTransformer(new DataType("xml:foo"), new DataType("json:bar"));
+ assertNotNull(transformer);
+ assertEquals(DataFormatTransformer.class, transformer.getClass());
+ DataFormatTransformer dft = (DataFormatTransformer)transformer;
+ Field f = DataFormatTransformer.class.getDeclaredField("dataFormatType");
+ f.setAccessible(true);
+ Object dataFormatType = f.get(dft);
+ assertEquals(StringDataFormat.class, dataFormatType.getClass());
+ }
+
+ public void testEndpointTransformer() throws Exception {
+ CamelContext ctx = new DefaultCamelContext();
+ RouteBuilder builder = new RouteBuilder() {
+ @Override
+ public void configure() throws Exception {
+ transformer().from("json:foo").to("xml:bar").withUri("direct:transformer");
+ from("direct:transformer");
+ }
+ };
+ ctx.addRoutes(builder);
+ Transformer transformer = ctx.resolveTransformer(new DataType("json:foo"), new DataType("xml:bar"));
+ assertNotNull(transformer);
+ assertEquals(ProcessorTransformer.class, transformer.getClass());
+ ProcessorTransformer pt = (ProcessorTransformer)transformer;
+ Field f = ProcessorTransformer.class.getDeclaredField("processor");
+ f.setAccessible(true);
+ Object processor = f.get(pt);
+ assertEquals(SendProcessor.class, processor.getClass());
+ SendProcessor sp = (SendProcessor)processor;
+ assertEquals("direct://transformer", sp.getEndpoint().getEndpointUri());
+ }
+
+ public void testCustomTransformer() throws Exception {
+ CamelContext ctx = new DefaultCamelContext();
+ RouteBuilder builder = new RouteBuilder() {
+ @Override
+ public void configure() throws Exception {
+ transformer().scheme("other").withJava(MyTransformer.class);
+ }
+ };
+ ctx.addRoutes(builder);
+ Transformer transformer = ctx.resolveTransformer("other");
+ assertNotNull(transformer);
+ assertEquals(MyTransformer.class, transformer.getClass());
+ }
+
+ public static class MyTransformer extends Transformer {
+ @Override
+ public void transform(Message message, DataType from, DataType to) throws Exception {
+ message.getBody();
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/camel/blob/11c78407/camel-core/src/test/java/org/apache/camel/impl/transformer/TransformerContractTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/impl/transformer/TransformerContractTest.java b/camel-core/src/test/java/org/apache/camel/impl/transformer/TransformerContractTest.java
index 6a72d95..56cf91d 100644
--- a/camel-core/src/test/java/org/apache/camel/impl/transformer/TransformerContractTest.java
+++ b/camel-core/src/test/java/org/apache/camel/impl/transformer/TransformerContractTest.java
@@ -29,7 +29,6 @@ import org.apache.camel.TypeConverters;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.model.DataFormatDefinition;
-import org.apache.camel.model.transformer.DataFormatTransformerDefinition;
import org.apache.camel.spi.DataFormat;
import org.apache.camel.spi.RouteContext;
import org.junit.Test;
@@ -87,13 +86,12 @@ public class TransformerContractTest extends ContextTestSupport {
@Test
public void testScheme() throws Exception {
- DataFormatTransformerDefinition transformerDef = new DataFormatTransformerDefinition();
- transformerDef.setScheme("xml");
- transformerDef.setDataFormatType(new MyDataFormatDefinition());
- context.getTransformers().add(transformerDef);
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
+ transformer()
+ .scheme("xml")
+ .withDataFormat(new MyDataFormatDefinition());
from("direct:a")
.inputType("xml")
.outputType("xml")
http://git-wip-us.apache.org/repos/asf/camel/blob/11c78407/camel-core/src/test/java/org/apache/camel/impl/transformer/TransformerRouteTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/impl/transformer/TransformerRouteTest.java b/camel-core/src/test/java/org/apache/camel/impl/transformer/TransformerRouteTest.java
index 29bd215..ddb1daf 100644
--- a/camel-core/src/test/java/org/apache/camel/impl/transformer/TransformerRouteTest.java
+++ b/camel-core/src/test/java/org/apache/camel/impl/transformer/TransformerRouteTest.java
@@ -40,9 +40,6 @@ import org.apache.camel.impl.DefaultComponent;
import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.impl.DefaultExchange;
import org.apache.camel.model.DataFormatDefinition;
-import org.apache.camel.model.transformer.CustomTransformerDefinition;
-import org.apache.camel.model.transformer.DataFormatTransformerDefinition;
-import org.apache.camel.model.transformer.EndpointTransformerDefinition;
import org.apache.camel.spi.DataFormat;
import org.apache.camel.spi.DataType;
import org.apache.camel.spi.RouteContext;
@@ -181,41 +178,36 @@ public class TransformerRouteTest extends ContextTestSupport {
}
}).to("mock:xyzresult");
- DataFormatTransformerDefinition dfdef = new DataFormatTransformerDefinition();
- dfdef.setDataFormatType(new MyJsonDataFormatDefinition());
- dfdef.setScheme("json");
- context.getTransformers().add(dfdef);
+ transformer()
+ .scheme("json")
+ .withDataFormat(new MyJsonDataFormatDefinition());
from("direct:dataFormat")
.inputType("json:JsonXOrder")
.outputType("json:JsonXOrderResponse")
.inOut("direct:xyz");
context.addComponent("myxml", new MyXmlComponent());
- EndpointTransformerDefinition edef1 = new EndpointTransformerDefinition();
- edef1.setUri("myxml:endpoint");
- edef1.setFrom("xml:XmlXOrder");
- edef1.setTo(XOrder.class);
- EndpointTransformerDefinition edef2 = new EndpointTransformerDefinition();
- edef2.setUri("myxml:endpoint");
- edef2.setFrom(XOrderResponse.class);
- edef2.setTo("xml:XmlXOrderResponse");
- context.getTransformers().add(edef1);
- context.getTransformers().add(edef2);
+ transformer()
+ .from("xml:XmlXOrder")
+ .to(XOrder.class)
+ .withUri("myxml:endpoint");
+ transformer()
+ .from(XOrderResponse.class)
+ .to("xml:XmlXOrderResponse")
+ .withUri("myxml:endpoint");
from("direct:endpoint")
.inputType("xml:XmlXOrder")
.outputType("xml:XmlXOrderResponse")
.inOut("direct:xyz");
- CustomTransformerDefinition bdef1 = new CustomTransformerDefinition();
- bdef1.setType(OtherToXOrderTransformer.class.getName());
- bdef1.setFrom("other:OtherXOrder");
- bdef1.setTo(XOrder.class);
- CustomTransformerDefinition bdef2 = new CustomTransformerDefinition();
- bdef2.setType(XOrderResponseToOtherTransformer.class.getName());
- bdef2.setFrom(XOrderResponse.class);
- bdef2.setTo("other:OtherXOrderResponse");
- context.getTransformers().add(bdef1);
- context.getTransformers().add(bdef2);
+ transformer()
+ .from("other:OtherXOrder")
+ .to(XOrder.class)
+ .withJava(OtherToXOrderTransformer.class);
+ transformer()
+ .from(XOrderResponse.class)
+ .to("other:OtherXOrderResponse")
+ .withJava(XOrderResponseToOtherTransformer.class);
from("direct:custom")
.inputType("other:OtherXOrder")
.outputType("other:OtherXOrderResponse")
http://git-wip-us.apache.org/repos/asf/camel/blob/11c78407/camel-core/src/test/java/org/apache/camel/management/ManagedTransformerRegistryTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedTransformerRegistryTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedTransformerRegistryTest.java
index 37754df..d1b500f 100644
--- a/camel-core/src/test/java/org/apache/camel/management/ManagedTransformerRegistryTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedTransformerRegistryTest.java
@@ -28,9 +28,6 @@ import javax.management.openmbean.TabularData;
import org.apache.camel.Message;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.model.dataformat.StringDataFormat;
-import org.apache.camel.model.transformer.CustomTransformerDefinition;
-import org.apache.camel.model.transformer.DataFormatTransformerDefinition;
-import org.apache.camel.model.transformer.EndpointTransformerDefinition;
import org.apache.camel.spi.DataType;
import org.apache.camel.spi.Transformer;
import org.slf4j.Logger;
@@ -119,25 +116,19 @@ public class ManagedTransformerRegistryTest extends ManagementTestSupport {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- from("direct:start").to("mock:result");
+ transformer()
+ .from("xml:foo")
+ .to("json:bar")
+ .withUri("direct:transformer");
+ transformer()
+ .from(ManagedTransformerRegistryTest.class)
+ .to("xml:test")
+ .withDataFormat(new StringDataFormat());
+ transformer()
+ .scheme("custom")
+ .withJava(MyTransformer.class);
- EndpointTransformerDefinition etd = new EndpointTransformerDefinition();
- etd.setFrom("xml:foo");
- etd.setTo("json:bar");
- etd.setUri("direct:transformer");
- context.getTransformers().add(etd);
- context.resolveTransformer(new DataType("xml:foo"), new DataType("json:bar"));
- DataFormatTransformerDefinition dftd = new DataFormatTransformerDefinition();
- dftd.setFrom(ManagedTransformerRegistryTest.class);
- dftd.setTo("xml:test");
- dftd.setDataFormatType(new StringDataFormat());
- context.getTransformers().add(dftd);
- context.resolveTransformer(new DataType(ManagedTransformerRegistryTest.class), new DataType("xml:test"));
- CustomTransformerDefinition ctd = new CustomTransformerDefinition();
- ctd.setScheme("custom");
- ctd.setType(MyTransformer.class.getName());
- context.getTransformers().add(ctd);
- context.resolveTransformer("custom");
+ from("direct:start").to("mock:result");
}
};
}
http://git-wip-us.apache.org/repos/asf/camel/blob/11c78407/examples/camel-example-transformer-cdi/src/main/java/org/apache/camel/example/transformer/cdi/MyRoutes.java
----------------------------------------------------------------------
diff --git a/examples/camel-example-transformer-cdi/src/main/java/org/apache/camel/example/transformer/cdi/MyRoutes.java b/examples/camel-example-transformer-cdi/src/main/java/org/apache/camel/example/transformer/cdi/MyRoutes.java
index 9a9fbe0..c19d6ed 100644
--- a/examples/camel-example-transformer-cdi/src/main/java/org/apache/camel/example/transformer/cdi/MyRoutes.java
+++ b/examples/camel-example-transformer-cdi/src/main/java/org/apache/camel/example/transformer/cdi/MyRoutes.java
@@ -17,7 +17,6 @@
package org.apache.camel.example.transformer.cdi;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.model.transformer.EndpointTransformerDefinition;
/**
* Configures all our Camel routes, components, endpoints and beans
@@ -26,11 +25,10 @@ public class MyRoutes extends RouteBuilder {
@Override
public void configure() {
- EndpointTransformerDefinition eptd = new EndpointTransformerDefinition();
- eptd.setUri("xslt:transform.xsl");
- eptd.setFrom("xml:MyRequest");
- eptd.setTo("xml:MyResponse");
- getContext().getTransformers().add(eptd);
+ transformer()
+ .from("xml:MyRequest")
+ .to("xml:MyResponse")
+ .withUri("xslt:transform.xsl");
from("timer:foo?period=5000").id("timer-route")
.log("start -->")