This is an automated email from the ASF dual-hosted git repository.
fjtiradosarti pushed a commit to branch main
in repository
https://gitbox.apache.org/repos/asf/incubator-kie-kogito-runtimes.git
The following commit(s) were added to refs/heads/main by this push:
new 5ac6c8a604 [Fix #3436] Ignoring unknown properties (#3437)
5ac6c8a604 is described below
commit 5ac6c8a60455d32ef40889669857bcbeec56e1bb
Author: Francisco Javier Tirado Sarti
<[email protected]>
AuthorDate: Wed Mar 13 10:41:48 2024 +0100
[Fix #3436] Ignoring unknown properties (#3437)
* [Fix #3436] Ignoring unknown properties
* [Fix #3436] Adding unit test
---
addons/common/marshallers/avro/pom.xml | 26 +++++++++++++++++++++-
.../java/org/kie/kogito/event/avro/AvroIO.java | 1 +
.../marshallers/avro/src/test/avro/pojo.avsc | 18 +++++++++++++++
.../event/avro/AvroMarshallUnmarshallTest.java | 5 +++++
kogito-build/kogito-dependencies-bom/pom.xml | 8 ++++++-
5 files changed, 56 insertions(+), 2 deletions(-)
diff --git a/addons/common/marshallers/avro/pom.xml
b/addons/common/marshallers/avro/pom.xml
index 130f76a6d3..92bcb8017e 100644
--- a/addons/common/marshallers/avro/pom.xml
+++ b/addons/common/marshallers/avro/pom.xml
@@ -72,5 +72,29 @@
</dependency>
</dependencies>
-
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.avro</groupId>
+ <artifactId>avro-maven-plugin</artifactId>
+ <version>${version.org.apache.avro}</version>
+ <executions>
+ <execution>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>schema</goal>
+ </goals>
+ <configuration>
+
<sourceDirectory>${project.basedir}/src/test/avro/</sourceDirectory>
+ <fieldVisibility>PRIVATE</fieldVisibility>
+ <includes>
+ <include>**/*.avsc</include>
+ </includes>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
</project>
diff --git
a/addons/common/marshallers/avro/src/main/java/org/kie/kogito/event/avro/AvroIO.java
b/addons/common/marshallers/avro/src/main/java/org/kie/kogito/event/avro/AvroIO.java
index 9fd104c346..b7fc36d24b 100644
---
a/addons/common/marshallers/avro/src/main/java/org/kie/kogito/event/avro/AvroIO.java
+++
b/addons/common/marshallers/avro/src/main/java/org/kie/kogito/event/avro/AvroIO.java
@@ -167,6 +167,7 @@ public class AvroIO {
private static final AvroMapper getAvroMapper() {
AvroMapper mapper = new AvroMapper();
+ mapper.configure(JsonGenerator.Feature.IGNORE_UNKNOWN, true);
mapper.findAndRegisterModules().registerModule(new
SimpleModule().addSerializer(Utf8.class, new JsonSerializer<Utf8>() {
@Override
public void serialize(Utf8 value, JsonGenerator gen,
SerializerProvider serializers) throws IOException {
diff --git a/addons/common/marshallers/avro/src/test/avro/pojo.avsc
b/addons/common/marshallers/avro/src/test/avro/pojo.avsc
new file mode 100644
index 0000000000..faa12cee73
--- /dev/null
+++ b/addons/common/marshallers/avro/src/test/avro/pojo.avsc
@@ -0,0 +1,18 @@
+{
+ "namespace": "org.kie.kogito.event.avro",
+ "type": "record",
+ "name": "Person",
+ "fields": [
+ {
+ "name": "name",
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ {
+ "name": "age",
+ "type": "int"
+ }
+ ]
+}
\ No newline at end of file
diff --git
a/addons/common/marshallers/avro/src/test/java/org/kie/kogito/event/avro/AvroMarshallUnmarshallTest.java
b/addons/common/marshallers/avro/src/test/java/org/kie/kogito/event/avro/AvroMarshallUnmarshallTest.java
index a7ef1136c0..adc45fbfaf 100644
---
a/addons/common/marshallers/avro/src/test/java/org/kie/kogito/event/avro/AvroMarshallUnmarshallTest.java
+++
b/addons/common/marshallers/avro/src/test/java/org/kie/kogito/event/avro/AvroMarshallUnmarshallTest.java
@@ -61,4 +61,9 @@ class AvroMarshallUnmarshallTest {
void testJsonNodeCloudEventMarshaller() throws IOException {
testCloudEventMarshalling(getJsonNodeCloudEvent(), JsonNode.class, new
AvroCloudEventMarshaller(avroUtils), new
AvroCloudEventUnmarshallerFactory(avroUtils));
}
+
+ @Test
+ void testGeneratedPojoMarshaller() throws IOException {
+
testEventMarshalling(Person.newBuilder().setAge(0).setName("Pepe").build(), new
AvroEventMarshaller(avroUtils), new AvroEventUnmarshaller(avroUtils));
+ }
}
diff --git a/kogito-build/kogito-dependencies-bom/pom.xml
b/kogito-build/kogito-dependencies-bom/pom.xml
index 5d4953c8a6..686d59f3eb 100644
--- a/kogito-build/kogito-dependencies-bom/pom.xml
+++ b/kogito-build/kogito-dependencies-bom/pom.xml
@@ -98,7 +98,8 @@
<version.org.mozilla.rhino>1.7.13</version.org.mozilla.rhino>
<version.org.redis>2.0.4</version.org.redis>
<version.org.postgres>13.4-alpine3.14</version.org.postgres>
-
+ <!-- we align to version used by quarkus -->
+ <version.org.apache.avro>1.11.3</version.org.apache.avro>
<version.org.assertj>3.22.0</version.org.assertj>
<version.org.json-unit-assertj>2.9.0</version.org.json-unit-assertj>
<version.org.hamcrest>1.3</version.org.hamcrest> <!-- else old version
coming from Mockito wins and breaks tests -->
@@ -297,6 +298,11 @@
<artifactId>jackson-dataformat-avro</artifactId>
<version>${version.com.fasterxml.jackson}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.avro</groupId>
+ <artifactId>avro</artifactId>
+ <version>${version.org.apache.avro}</version>
+ </dependency>
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]