This is an automated email from the ASF dual-hosted git repository. nferraro pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit e9f19728ff96df2adabd2ba96105e2beb310f4eb Author: nicolaferraro <ni.ferr...@gmail.com> AuthorDate: Fri May 14 14:03:23 2021 +0200 Change jackson dataformat tests to use core model --- ...est.java => JacksonAvroLookupResolverTest.java} | 19 +++++++++-------- .../JacksonAvroMarshalUnmarshalJsonNodeTest.java | 10 +++------ .../avro/JacksonAvroMarshalUnmarshalPojoTest.java | 10 +++------ ...java => JacksonProtobufLookupResolverTest.java} | 20 ++++++++++-------- ...acksonProtobufMarshalUnmarshalJsonNodeTest.java | 10 +++------ .../JacksonProtobufMarshalUnmarshalPojoTest.java | 10 +++------ .../org/apache/camel/builder/DataFormatClause.java | 24 +++++++++++++++++++++- 7 files changed, 58 insertions(+), 45 deletions(-) diff --git a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalPojoTest.java b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroLookupResolverTest.java similarity index 82% copy from components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalPojoTest.java copy to components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroLookupResolverTest.java index 53326bc..2b9aba0 100644 --- a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalPojoTest.java +++ b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroLookupResolverTest.java @@ -18,10 +18,11 @@ package org.apache.camel.component.jackson.avro; import com.fasterxml.jackson.dataformat.avro.AvroSchema; import org.apache.avro.Schema; +import org.apache.camel.RuntimeCamelException; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.jackson.SchemaResolver; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.spi.DataFormat; +import org.apache.camel.model.dataformat.AvroLibrary; import org.apache.camel.spi.Registry; import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Test; @@ -29,7 +30,7 @@ import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; -public class JacksonAvroMarshalUnmarshalPojoTest extends CamelTestSupport { +public class JacksonAvroLookupResolverTest extends CamelTestSupport { @Test public void testMarshalUnmarshalPojo() throws Exception { @@ -69,11 +70,12 @@ public class JacksonAvroMarshalUnmarshalPojoTest extends CamelTestSupport { Schema raw = new Schema.Parser().setValidate(true).parse(SCHEMA_JSON); AvroSchema schema = new AvroSchema(raw); SchemaResolver resolver = ex -> schema; - registry.bind("schema-resolver", SchemaResolver.class, resolver); + registry.bind("schema-resolver-1", SchemaResolver.class, resolver); - JacksonAvroDataFormat df = new JacksonAvroDataFormat(); - df.setUnmarshalType(Pojo.class); - registry.bind("custom-df", DataFormat.class, df); + SchemaResolver resolver2 = ex -> { + throw new RuntimeCamelException(); + }; + registry.bind("schema-resolver-2", SchemaResolver.class, resolver2); } @Override @@ -81,8 +83,9 @@ public class JacksonAvroMarshalUnmarshalPojoTest extends CamelTestSupport { return new RouteBuilder() { @Override public void configure() throws Exception { - from("direct:serialized").unmarshal().custom("custom-df").to("mock:pojo"); - from("direct:pojo").marshal().custom("custom-df").to("mock:serialized"); + from("direct:serialized").unmarshal().avro(AvroLibrary.Jackson, Pojo.class, "schema-resolver-1") + .to("mock:pojo"); + from("direct:pojo").marshal().avro(AvroLibrary.Jackson, Pojo.class, "schema-resolver-1").to("mock:serialized"); } }; } diff --git a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalJsonNodeTest.java b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalJsonNodeTest.java index e863a8e..e372a2b 100644 --- a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalJsonNodeTest.java +++ b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalJsonNodeTest.java @@ -25,7 +25,7 @@ import org.apache.avro.Schema; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.jackson.SchemaResolver; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.spi.DataFormat; +import org.apache.camel.model.dataformat.AvroLibrary; import org.apache.camel.spi.Registry; import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Test; @@ -129,10 +129,6 @@ public class JacksonAvroMarshalUnmarshalJsonNodeTest extends CamelTestSupport { return schema; }; registry.bind("schema-resolver", SchemaResolver.class, resolver); - - JacksonAvroDataFormat df = new JacksonAvroDataFormat(); - df.setUnmarshalType(JsonNode.class); - registry.bind("custom-df", DataFormat.class, df); } @Override @@ -140,8 +136,8 @@ public class JacksonAvroMarshalUnmarshalJsonNodeTest extends CamelTestSupport { return new RouteBuilder() { @Override public void configure() throws Exception { - from("direct:serialized").unmarshal().custom("custom-df").to("mock:pojo"); - from("direct:pojo").marshal().custom("custom-df").to("mock:serialized"); + from("direct:serialized").unmarshal().avro(AvroLibrary.Jackson, JsonNode.class).to("mock:pojo"); + from("direct:pojo").marshal().avro(AvroLibrary.Jackson).to("mock:serialized"); } }; } diff --git a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalPojoTest.java b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalPojoTest.java index 53326bc..a9b2891 100644 --- a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalPojoTest.java +++ b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalPojoTest.java @@ -21,7 +21,7 @@ import org.apache.avro.Schema; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.jackson.SchemaResolver; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.spi.DataFormat; +import org.apache.camel.model.dataformat.AvroLibrary; import org.apache.camel.spi.Registry; import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Test; @@ -70,10 +70,6 @@ public class JacksonAvroMarshalUnmarshalPojoTest extends CamelTestSupport { AvroSchema schema = new AvroSchema(raw); SchemaResolver resolver = ex -> schema; registry.bind("schema-resolver", SchemaResolver.class, resolver); - - JacksonAvroDataFormat df = new JacksonAvroDataFormat(); - df.setUnmarshalType(Pojo.class); - registry.bind("custom-df", DataFormat.class, df); } @Override @@ -81,8 +77,8 @@ public class JacksonAvroMarshalUnmarshalPojoTest extends CamelTestSupport { return new RouteBuilder() { @Override public void configure() throws Exception { - from("direct:serialized").unmarshal().custom("custom-df").to("mock:pojo"); - from("direct:pojo").marshal().custom("custom-df").to("mock:serialized"); + from("direct:serialized").unmarshal().avro(AvroLibrary.Jackson, Pojo.class).to("mock:pojo"); + from("direct:pojo").marshal().avro(AvroLibrary.Jackson).to("mock:serialized"); } }; } diff --git a/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufMarshalUnmarshalPojoTest.java b/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufLookupResolverTest.java similarity index 81% copy from components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufMarshalUnmarshalPojoTest.java copy to components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufLookupResolverTest.java index 5213989..9bf57af 100644 --- a/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufMarshalUnmarshalPojoTest.java +++ b/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufLookupResolverTest.java @@ -18,10 +18,11 @@ package org.apache.camel.component.jackson.protobuf; import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchema; import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchemaLoader; +import org.apache.camel.RuntimeCamelException; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.jackson.SchemaResolver; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.spi.DataFormat; +import org.apache.camel.model.dataformat.ProtobufLibrary; import org.apache.camel.spi.Registry; import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Test; @@ -29,7 +30,7 @@ import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; -public class JacksonProtobufMarshalUnmarshalPojoTest extends CamelTestSupport { +public class JacksonProtobufLookupResolverTest extends CamelTestSupport { @Test public void testMarshalUnmarshalPojo() throws Exception { @@ -65,11 +66,12 @@ public class JacksonProtobufMarshalUnmarshalPojoTest extends CamelTestSupport { + "}\n"; ProtobufSchema schema = ProtobufSchemaLoader.std.parse(protobuf_str); SchemaResolver resolver = ex -> schema; - registry.bind("schema-resolver", SchemaResolver.class, resolver); + registry.bind("schema-resolver-1", SchemaResolver.class, resolver); - JacksonProtobufDataFormat df = new JacksonProtobufDataFormat(); - df.setUnmarshalType(Pojo.class); - registry.bind("custom-df", DataFormat.class, df); + SchemaResolver resolver2 = ex -> { + throw new RuntimeCamelException(); + }; + registry.bind("schema-resolver-2", SchemaResolver.class, resolver2); } @Override @@ -77,8 +79,10 @@ public class JacksonProtobufMarshalUnmarshalPojoTest extends CamelTestSupport { return new RouteBuilder() { @Override public void configure() throws Exception { - from("direct:serialized").unmarshal().custom("custom-df").to("mock:pojo"); - from("direct:pojo").marshal().custom("custom-df").to("mock:serialized"); + from("direct:serialized").unmarshal().protobuf(ProtobufLibrary.Jackson, Pojo.class, "schema-resolver-1") + .to("mock:pojo"); + from("direct:pojo").marshal().protobuf(ProtobufLibrary.Jackson, Pojo.class, "schema-resolver-1") + .to("mock:serialized"); } }; } diff --git a/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufMarshalUnmarshalJsonNodeTest.java b/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufMarshalUnmarshalJsonNodeTest.java index b896f7a..6c7ab62 100644 --- a/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufMarshalUnmarshalJsonNodeTest.java +++ b/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufMarshalUnmarshalJsonNodeTest.java @@ -22,7 +22,7 @@ import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchemaLoader; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.jackson.SchemaResolver; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.spi.DataFormat; +import org.apache.camel.model.dataformat.ProtobufLibrary; import org.apache.camel.spi.Registry; import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Test; @@ -67,10 +67,6 @@ public class JacksonProtobufMarshalUnmarshalJsonNodeTest extends CamelTestSuppor ProtobufSchema schema = ProtobufSchemaLoader.std.parse(protobuf_str); SchemaResolver resolver = ex -> schema; registry.bind("schema-resolver", SchemaResolver.class, resolver); - - JacksonProtobufDataFormat df = new JacksonProtobufDataFormat(); - df.setUnmarshalType(JsonNode.class); - registry.bind("custom-df", DataFormat.class, df); } @Override @@ -78,8 +74,8 @@ public class JacksonProtobufMarshalUnmarshalJsonNodeTest extends CamelTestSuppor return new RouteBuilder() { @Override public void configure() throws Exception { - from("direct:serialized").unmarshal().custom("custom-df").to("mock:pojo"); - from("direct:pojo").marshal().custom("custom-df").to("mock:serialized"); + from("direct:serialized").unmarshal().protobuf(ProtobufLibrary.Jackson, JsonNode.class).to("mock:pojo"); + from("direct:pojo").marshal().protobuf(ProtobufLibrary.Jackson).to("mock:serialized"); } }; } diff --git a/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufMarshalUnmarshalPojoTest.java b/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufMarshalUnmarshalPojoTest.java index 5213989..40f387b 100644 --- a/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufMarshalUnmarshalPojoTest.java +++ b/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufMarshalUnmarshalPojoTest.java @@ -21,7 +21,7 @@ import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchemaLoader; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.jackson.SchemaResolver; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.spi.DataFormat; +import org.apache.camel.model.dataformat.ProtobufLibrary; import org.apache.camel.spi.Registry; import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Test; @@ -66,10 +66,6 @@ public class JacksonProtobufMarshalUnmarshalPojoTest extends CamelTestSupport { ProtobufSchema schema = ProtobufSchemaLoader.std.parse(protobuf_str); SchemaResolver resolver = ex -> schema; registry.bind("schema-resolver", SchemaResolver.class, resolver); - - JacksonProtobufDataFormat df = new JacksonProtobufDataFormat(); - df.setUnmarshalType(Pojo.class); - registry.bind("custom-df", DataFormat.class, df); } @Override @@ -77,8 +73,8 @@ public class JacksonProtobufMarshalUnmarshalPojoTest extends CamelTestSupport { return new RouteBuilder() { @Override public void configure() throws Exception { - from("direct:serialized").unmarshal().custom("custom-df").to("mock:pojo"); - from("direct:pojo").marshal().custom("custom-df").to("mock:serialized"); + from("direct:serialized").unmarshal().protobuf(ProtobufLibrary.Jackson, Pojo.class).to("mock:pojo"); + from("direct:pojo").marshal().protobuf(ProtobufLibrary.Jackson).to("mock:serialized"); } }; } diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/DataFormatClause.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/DataFormatClause.java index d8f5abb..4c174da 100644 --- a/core/camel-core-model/src/main/java/org/apache/camel/builder/DataFormatClause.java +++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/DataFormatClause.java @@ -150,6 +150,17 @@ public class DataFormatClause<T extends ProcessorDefinition<?>> { } /** + * Uses the Avro data format with given library, unmarshalType and schemaResolver + */ + public T avro(AvroLibrary library, Class<?> unmarshalType, String schemaResolver) { + AvroDataFormat avroDataFormat = new AvroDataFormat(); + avroDataFormat.setLibrary(library); + avroDataFormat.setUnmarshalType(unmarshalType); + avroDataFormat.setSchemaResolver(schemaResolver); + return dataFormat(avroDataFormat); + } + + /** * Uses the base64 data format */ public T base64() { @@ -766,10 +777,21 @@ public class DataFormatClause<T extends ProcessorDefinition<?>> { /** * Uses the Protobuf data format with given library and unmarshalType */ - public T protobufJackson(ProtobufLibrary library, Class<?> unmarshalType) { + public T protobuf(ProtobufLibrary library, Class<?> unmarshalType) { + ProtobufDataFormat protobufDataFormat = new ProtobufDataFormat(); + protobufDataFormat.setLibrary(library); + protobufDataFormat.setUnmarshalType(unmarshalType); + return dataFormat(protobufDataFormat); + } + + /** + * Uses the Protobuf data format with given library, unmarshalType and schemaResolver + */ + public T protobuf(ProtobufLibrary library, Class<?> unmarshalType, String schemaResolver) { ProtobufDataFormat protobufDataFormat = new ProtobufDataFormat(); protobufDataFormat.setLibrary(library); protobufDataFormat.setUnmarshalType(unmarshalType); + protobufDataFormat.setSchemaResolver(schemaResolver); return dataFormat(protobufDataFormat); }