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]

Reply via email to