This is an automated email from the ASF dual-hosted git repository.
jamesnetherton pushed a commit to branch camel-4.10.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.10.x by this push:
new 2cb85d2c0aa CAMEL-22036: Align camel-jackson-avro Avro version with
Camel
2cb85d2c0aa is described below
commit 2cb85d2c0aac5f6cf883b9a6ea0f5b90467f8742
Author: James Netherton <[email protected]>
AuthorDate: Wed Apr 30 08:43:55 2025 +0100
CAMEL-22036: Align camel-jackson-avro Avro version with Camel
---
components/camel-jackson-avro/pom.xml | 12 ++++++++++++
.../component/jackson/avro/transform/AvroSchemaResolver.java | 5 +++--
.../jackson/avro/JacksonAvroLookupResolverTest.java | 3 ++-
.../avro/JacksonAvroMarshalUnmarshalJsonNodeTest.java | 5 +++--
.../avro/JacksonAvroMarshalUnmarshalPojoListTest.java | 3 ++-
.../jackson/avro/JacksonAvroMarshalUnmarshalPojoTest.java | 3 ++-
.../avro/transform/AvroBinaryDataTypeTransformerTest.java | 11 ++++++++---
.../avro/transform/AvroPojoDataTypeTransformerTest.java | 6 +++++-
.../jackson/avro/transform/AvroSchemaResolverTest.java | 4 +++-
.../avro/transform/AvroStructDataTypeTransformerTest.java | 6 +++++-
10 files changed, 45 insertions(+), 13 deletions(-)
diff --git a/components/camel-jackson-avro/pom.xml
b/components/camel-jackson-avro/pom.xml
index 97ebba62041..72dffad197d 100644
--- a/components/camel-jackson-avro/pom.xml
+++ b/components/camel-jackson-avro/pom.xml
@@ -49,6 +49,18 @@
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-avro</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.avro</groupId>
+ <artifactId>avro</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <!-- Remove avro exclusion and this dependency override after
jackson-dataformat-avro aligns to avro 1.12.x -->
+ <dependency>
+ <groupId>org.apache.avro</groupId>
+ <artifactId>avro</artifactId>
+ <version>${avro-version}</version>
</dependency>
<!-- testing -->
diff --git
a/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroSchemaResolver.java
b/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroSchemaResolver.java
index d533e5bf307..2e7082f82ad 100644
---
a/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroSchemaResolver.java
+++
b/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroSchemaResolver.java
@@ -24,6 +24,7 @@ import java.util.concurrent.ConcurrentMap;
import com.fasterxml.jackson.core.FormatSchema;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.dataformat.avro.AvroSchema;
+import org.apache.avro.NameValidator;
import org.apache.avro.Schema;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
@@ -64,7 +65,7 @@ public class AvroSchemaResolver implements SchemaResolver,
Processor {
public void setSchema(String schema) {
if (ObjectHelper.isNotEmpty(schema)) {
- this.schema = new AvroSchema(new
Schema.Parser().setValidate(validate).parse(schema));
+ this.schema = new AvroSchema(new
Schema.Parser(NameValidator.UTF_VALIDATOR).parse(schema));
} else {
this.schema = null;
}
@@ -125,7 +126,7 @@ public class AvroSchemaResolver implements SchemaResolver,
Processor {
if (answer == null &&
exchange.getProperties().containsKey(SchemaHelper.SCHEMA)) {
String schemaJson = exchange.getProperty(SchemaHelper.SCHEMA,
String.class);
- Schema raw = new
Schema.Parser().setValidate(validate).parse(schemaJson);
+ Schema raw = new
Schema.Parser(NameValidator.UTF_VALIDATOR).parse(schemaJson);
answer = new AvroSchema(raw);
}
diff --git
a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroLookupResolverTest.java
b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroLookupResolverTest.java
index ba09dedbe07..5f4bfe2f009 100644
---
a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroLookupResolverTest.java
+++
b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroLookupResolverTest.java
@@ -17,6 +17,7 @@
package org.apache.camel.component.jackson.avro;
import com.fasterxml.jackson.dataformat.avro.AvroSchema;
+import org.apache.avro.NameValidator;
import org.apache.avro.Schema;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.builder.RouteBuilder;
@@ -65,7 +66,7 @@ public class JacksonAvroLookupResolverTest extends
CamelTestSupport {
+ "\"fields\": [\n"
+ " {\"name\": \"text\", \"type\": \"string\"}\n"
+ "]}";
- Schema raw = new Schema.Parser().setValidate(true).parse(schemaJson);
+ Schema raw = new
Schema.Parser(NameValidator.UTF_VALIDATOR).parse(schemaJson);
AvroSchema schema = new AvroSchema(raw);
SchemaResolver resolver = ex -> schema;
registry.bind("schema-resolver-1", SchemaResolver.class, resolver);
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 e3ba316097a..23f57a395de 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
@@ -21,6 +21,7 @@ import java.util.List;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.dataformat.avro.AvroSchema;
+import org.apache.avro.NameValidator;
import org.apache.avro.Schema;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.jackson.SchemaResolver;
@@ -112,10 +113,10 @@ public class JacksonAvroMarshalUnmarshalJsonNodeTest
extends CamelTestSupport {
" }\n" +
"}";
- Schema raw = new Schema.Parser().setValidate(true).parse(schemaJson);
+ Schema raw = new
Schema.Parser(NameValidator.UTF_VALIDATOR).parse(schemaJson);
AvroSchema schema = new AvroSchema(raw);
- Schema rawList = new
Schema.Parser().setValidate(true).parse(listSchemaJson);
+ Schema rawList = new
Schema.Parser(NameValidator.UTF_VALIDATOR).parse(listSchemaJson);
AvroSchema schemaList = new AvroSchema(rawList);
SchemaResolver resolver = ex -> {
diff --git
a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalPojoListTest.java
b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalPojoListTest.java
index 544005da201..6c332fe44b3 100644
---
a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalPojoListTest.java
+++
b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalPojoListTest.java
@@ -20,6 +20,7 @@ import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.dataformat.avro.AvroSchema;
+import org.apache.avro.NameValidator;
import org.apache.avro.Schema;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.jackson.SchemaResolver;
@@ -78,7 +79,7 @@ public class JacksonAvroMarshalUnmarshalPojoListTest extends
CamelTestSupport {
" ]\n" +
" }\n" +
"}";
- Schema raw = new Schema.Parser().setValidate(true).parse(schemaJson);
+ Schema raw = new
Schema.Parser(NameValidator.UTF_VALIDATOR).parse(schemaJson);
AvroSchema schema = new AvroSchema(raw);
SchemaResolver resolver = ex -> schema;
registry.bind("schema-resolver", SchemaResolver.class, resolver);
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 7c1d5b93ed9..a44cf8f647d 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
@@ -17,6 +17,7 @@
package org.apache.camel.component.jackson.avro;
import com.fasterxml.jackson.dataformat.avro.AvroSchema;
+import org.apache.avro.NameValidator;
import org.apache.avro.Schema;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.jackson.SchemaResolver;
@@ -64,7 +65,7 @@ public class JacksonAvroMarshalUnmarshalPojoTest extends
CamelTestSupport {
+ "\"fields\": [\n"
+ " {\"name\": \"text\", \"type\": \"string\"}\n"
+ "]}";
- Schema raw = new Schema.Parser().setValidate(true).parse(schemaJson);
+ Schema raw = new
Schema.Parser(NameValidator.UTF_VALIDATOR).parse(schemaJson);
AvroSchema schema = new AvroSchema(raw);
SchemaResolver resolver = ex -> schema;
registry.bind("schema-resolver", SchemaResolver.class, resolver);
diff --git
a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroBinaryDataTypeTransformerTest.java
b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroBinaryDataTypeTransformerTest.java
index c6a60b695d7..9b1ccd1d0be 100644
---
a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroBinaryDataTypeTransformerTest.java
+++
b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroBinaryDataTypeTransformerTest.java
@@ -21,6 +21,8 @@ import java.io.IOException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.dataformat.avro.AvroSchema;
+import org.apache.avro.NameValidator;
+import org.apache.avro.Schema;
import org.apache.camel.Exchange;
import org.apache.camel.component.jackson.SchemaHelper;
import org.apache.camel.component.jackson.transform.Json;
@@ -60,8 +62,9 @@ class AvroBinaryDataTypeTransformerTest {
void shouldHandlePojo() throws Exception {
Exchange exchange = new DefaultExchange(camelContext);
- AvroSchema avroSchema
- =
Avro.mapper().schemaFrom(AvroBinaryDataTypeTransformerTest.class.getResourceAsStream("Person.avsc"));
+ AvroSchema avroSchema = new AvroSchema(
+ new Schema.Parser(NameValidator.UTF_VALIDATOR)
+
.parse(AvroBinaryDataTypeTransformerTest.class.getResourceAsStream("Person.avsc")));
exchange.setProperty(SchemaHelper.CONTENT_SCHEMA, avroSchema);
exchange.getMessage().setBody(new Person("Mickey", 20));
transformer.transform(exchange.getMessage(), DataType.ANY,
DataType.ANY);
@@ -114,6 +117,8 @@ class AvroBinaryDataTypeTransformerTest {
}
private AvroSchema getSchema() throws IOException {
- return
Avro.mapper().schemaFrom(AvroBinaryDataTypeTransformerTest.class.getResourceAsStream("Person.avsc"));
+ return new AvroSchema(
+ new Schema.Parser(NameValidator.UTF_VALIDATOR)
+
.parse(AvroBinaryDataTypeTransformerTest.class.getResourceAsStream("Person.avsc")));
}
}
diff --git
a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroPojoDataTypeTransformerTest.java
b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroPojoDataTypeTransformerTest.java
index 1b7240ba1c1..b659d1432a6 100644
---
a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroPojoDataTypeTransformerTest.java
+++
b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroPojoDataTypeTransformerTest.java
@@ -21,6 +21,8 @@ import java.io.IOException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.dataformat.avro.AvroSchema;
+import org.apache.avro.NameValidator;
+import org.apache.avro.Schema;
import org.apache.camel.Exchange;
import org.apache.camel.component.jackson.SchemaHelper;
import org.apache.camel.component.jackson.transform.Json;
@@ -133,6 +135,8 @@ class AvroPojoDataTypeTransformerTest {
}
private AvroSchema getSchema() throws IOException {
- return
Avro.mapper().schemaFrom(AvroPojoDataTypeTransformerTest.class.getResourceAsStream("Person.avsc"));
+ return new AvroSchema(
+ new Schema.Parser(NameValidator.UTF_VALIDATOR)
+
.parse(AvroPojoDataTypeTransformerTest.class.getResourceAsStream("Person.avsc")));
}
}
diff --git
a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroSchemaResolverTest.java
b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroSchemaResolverTest.java
index ac91e256115..4ef630a3b13 100644
---
a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroSchemaResolverTest.java
+++
b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroSchemaResolverTest.java
@@ -18,6 +18,7 @@
package org.apache.camel.component.jackson.avro.transform;
import com.fasterxml.jackson.dataformat.avro.AvroSchema;
+import org.apache.avro.NameValidator;
import org.apache.avro.Schema;
import org.apache.camel.Exchange;
import org.apache.camel.component.jackson.SchemaHelper;
@@ -40,7 +41,8 @@ class AvroSchemaResolverTest {
exchange.setProperty(SchemaHelper.CONTENT_CLASS,
Person.class.getName());
- Schema raw = new
Schema.Parser().setValidate(true).parse(this.getClass().getResourceAsStream("Person.avsc"));
+ Schema raw
+ = new
Schema.Parser(NameValidator.UTF_VALIDATOR).parse(this.getClass().getResourceAsStream("Person.avsc"));
AvroSchema avroSchema = new AvroSchema(raw);
exchange.setProperty(SchemaHelper.CONTENT_SCHEMA, avroSchema);
exchange.getMessage().setBody(person);
diff --git
a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroStructDataTypeTransformerTest.java
b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroStructDataTypeTransformerTest.java
index 2917235f86d..1bf032f2501 100644
---
a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroStructDataTypeTransformerTest.java
+++
b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroStructDataTypeTransformerTest.java
@@ -22,6 +22,8 @@ import java.io.IOException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.fasterxml.jackson.dataformat.avro.AvroSchema;
+import org.apache.avro.NameValidator;
+import org.apache.avro.Schema;
import org.apache.camel.Exchange;
import org.apache.camel.component.jackson.SchemaHelper;
import org.apache.camel.component.jackson.transform.Json;
@@ -112,6 +114,8 @@ class AvroStructDataTypeTransformerTest {
}
private AvroSchema getSchema() throws IOException {
- return
Avro.mapper().schemaFrom(AvroStructDataTypeTransformerTest.class.getResourceAsStream("Person.avsc"));
+ return new AvroSchema(
+ new Schema.Parser(NameValidator.UTF_VALIDATOR)
+
.parse(AvroStructDataTypeTransformerTest.class.getResourceAsStream("Person.avsc")));
}
}