This is an automated email from the ASF dual-hosted git repository.

mpochatkin pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new 014873b3947 IGNITE-27315 Marshaller java records test fixtures 
checkstyle (#7209)
014873b3947 is described below

commit 014873b3947cbd27edf53855fc57bcaba6dffcc6
Author: Vadim Kolodin <[email protected]>
AuthorDate: Thu Dec 11 11:48:43 2025 +0400

    IGNITE-27315 Marshaller java records test fixtures checkstyle (#7209)
---
 .../internal/client/sql/ClientAsyncResultSet.java    |  2 +-
 .../internal/client/table/ClientKeyValueView.java    |  6 +++---
 .../client/table/ClientRecordSerializer.java         |  6 +++---
 .../internal/client/table/ClientRecordView.java      |  2 +-
 modules/java-records-tests/build.gradle              |  1 +
 .../internal/schema/marshaller/ItTableViewTest.java  |  8 ++++----
 .../internal/schema/marshaller/MarshallerTest.java   | 11 ++++++-----
 .../internal/schema/marshaller/AssertMarshaller.java |  1 -
 .../ignite/internal/schema/marshaller/Records.java   | 20 ++++++++++++++------
 .../ignite/internal/marshaller/Marshaller.java       |  9 +++++----
 .../marshaller/reflection/KvMarshallerImpl.java      |  6 +++---
 .../marshaller/reflection/RecordMarshallerImpl.java  |  2 +-
 .../ignite/internal/table/KeyValueViewImpl.java      |  4 ++--
 .../apache/ignite/internal/table/RecordViewImpl.java |  2 +-
 14 files changed, 45 insertions(+), 35 deletions(-)

diff --git 
a/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientAsyncResultSet.java
 
b/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientAsyncResultSet.java
index 7d7d1b48fb0..070386d52e8 100644
--- 
a/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientAsyncResultSet.java
+++ 
b/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientAsyncResultSet.java
@@ -361,7 +361,7 @@ public class ClientAsyncResultSet<T> implements 
AsyncResultSet<T> {
                     var tupleReader = new BinaryTupleReader(rowSize, 
in.readBinaryUnsafe());
                     var reader = new ClientMarshallerReader(tupleReader, null, 
TuplePart.KEY_AND_VAL);
 
-                    res.add((T) marshaller.readObject(reader));
+                    res.add((T) marshaller.readObject(reader, null));
                 }
             } catch (MarshallerException e) {
                 assert mapper != null;
diff --git 
a/modules/client/src/main/java/org/apache/ignite/internal/client/table/ClientKeyValueView.java
 
b/modules/client/src/main/java/org/apache/ignite/internal/client/table/ClientKeyValueView.java
index 8897c05c5ca..75becae7133 100644
--- 
a/modules/client/src/main/java/org/apache/ignite/internal/client/table/ClientKeyValueView.java
+++ 
b/modules/client/src/main/java/org/apache/ignite/internal/client/table/ClientKeyValueView.java
@@ -715,7 +715,7 @@ public class ClientKeyValueView<K, V> extends 
AbstractClientView<Entry<K, V>> im
                 var tupleReader = new 
BinaryTupleReader(schema.columns().length, in.in().readBinaryUnsafe());
                 var keyReader = new ClientMarshallerReader(tupleReader, 
schema.keyColumns(), TuplePart.KEY_AND_VAL);
                 var valReader = new ClientMarshallerReader(tupleReader, 
schema.valColumns(), TuplePart.KEY_AND_VAL);
-                res.put((K) keyMarsh.readObject(keyReader), (V) 
valMarsh.readObject(valReader));
+                res.put((K) keyMarsh.readObject(keyReader, null), (V) 
valMarsh.readObject(valReader, null));
             }
         }
 
@@ -812,8 +812,8 @@ public class ClientKeyValueView<K, V> extends 
AbstractClientView<Entry<K, V>> im
         Marshaller valMarsh = schema.getMarshaller(valSer.mapper(), 
TuplePart.VAL, true);
 
         return (row) -> new IgniteBiTuple<>(
-                (K) keyMarsh.readObject(new TupleReader(new 
SqlRowProjection(row, meta, keyCols))),
-                (V) valMarsh.readObject(new TupleReader(new 
SqlRowProjection(row, meta, valCols)))
+                (K) keyMarsh.readObject(new TupleReader(new 
SqlRowProjection(row, meta, keyCols)), null),
+                (V) valMarsh.readObject(new TupleReader(new 
SqlRowProjection(row, meta, valCols)), null)
         );
     }
 
diff --git 
a/modules/client/src/main/java/org/apache/ignite/internal/client/table/ClientRecordSerializer.java
 
b/modules/client/src/main/java/org/apache/ignite/internal/client/table/ClientRecordSerializer.java
index 97d03e8c5a8..5883faac5e3 100644
--- 
a/modules/client/src/main/java/org/apache/ignite/internal/client/table/ClientRecordSerializer.java
+++ 
b/modules/client/src/main/java/org/apache/ignite/internal/client/table/ClientRecordSerializer.java
@@ -248,7 +248,7 @@ public class ClientRecordSerializer<R> {
                 ClientColumn[] columns = schema.columns(part);
                 var tupleReader = new BinaryTupleReader(columns.length, 
in.readBinaryUnsafe());
                 var reader = new ClientMarshallerReader(tupleReader, columns, 
part);
-                res.add((R) marshaller.readObject(reader));
+                res.add((R) marshaller.readObject(reader, null));
             }
         }
 
@@ -261,7 +261,7 @@ public class ClientRecordSerializer<R> {
         var tupleReader = new BinaryTupleReader(schema.columns().length, 
in.readBinaryUnsafe());
         ClientMarshallerReader reader = new 
ClientMarshallerReader(tupleReader, schema.columns(partToRead), dataPart);
 
-        return (R) marshaller.readObject(reader);
+        return (R) marshaller.readObject(reader, null);
     }
 
     R readValRec(R keyRec, ClientSchema schema, ClientMessageUnpacker in) {
@@ -274,7 +274,7 @@ public class ClientRecordSerializer<R> {
         var tupleReader = new BinaryTupleReader(schema.columns().length, 
in.readBinaryUnsafe());
         ClientMarshallerReader reader = new 
ClientMarshallerReader(tupleReader, schema.columns(), TuplePart.KEY_AND_VAL);
 
-        return (R) valMarshaller.readObject(reader);
+        return (R) valMarshaller.readObject(reader, null);
     }
 
     private static int columnCount(ClientSchema schema, TuplePart part) {
diff --git 
a/modules/client/src/main/java/org/apache/ignite/internal/client/table/ClientRecordView.java
 
b/modules/client/src/main/java/org/apache/ignite/internal/client/table/ClientRecordView.java
index 7fbfd9e1302..a4908e888c8 100644
--- 
a/modules/client/src/main/java/org/apache/ignite/internal/client/table/ClientRecordView.java
+++ 
b/modules/client/src/main/java/org/apache/ignite/internal/client/table/ClientRecordView.java
@@ -557,6 +557,6 @@ public class ClientRecordView<R> extends 
AbstractClientView<R> implements Record
         String[] cols = columnNames(schema.columns());
         Marshaller marsh = schema.getMarshaller(ser.mapper(), 
TuplePart.KEY_AND_VAL, true);
 
-        return (row) -> (R) marsh.readObject(new TupleReader(new 
SqlRowProjection(row, meta, cols)));
+        return (row) -> (R) marsh.readObject(new TupleReader(new 
SqlRowProjection(row, meta, cols)), null);
     }
 }
diff --git a/modules/java-records-tests/build.gradle 
b/modules/java-records-tests/build.gradle
index a495c902c01..103a491b342 100644
--- a/modules/java-records-tests/build.gradle
+++ b/modules/java-records-tests/build.gradle
@@ -48,5 +48,6 @@ dependencies {
     testFixturesImplementation testFixtures(project(':ignite-core'))
 
     testImplementation project(':ignite-api')
+    testImplementation testFixtures(project(':ignite-core'))
     testImplementation testFixtures(project(':java-records-tests'))
 }
diff --git 
a/modules/java-records-tests/src/integrationTest/java/org/apache/ignite/internal/schema/marshaller/ItTableViewTest.java
 
b/modules/java-records-tests/src/integrationTest/java/org/apache/ignite/internal/schema/marshaller/ItTableViewTest.java
index 55b0873af95..eef639b835b 100644
--- 
a/modules/java-records-tests/src/integrationTest/java/org/apache/ignite/internal/schema/marshaller/ItTableViewTest.java
+++ 
b/modules/java-records-tests/src/integrationTest/java/org/apache/ignite/internal/schema/marshaller/ItTableViewTest.java
@@ -137,14 +137,14 @@ class ItTableViewTest extends 
ClusterPerClassIntegrationTest {
     void componentsWrongTypesThrowsException(Table t) {
         String msgSubstring = "Column's type mismatch";
 
-        assertViewThrows(ClassCastException.class, msgSubstring, t, new 
ComponentsWrongTypes.Record((short) 1, 2));
-        assertViewThrows(ClassCastException.class, msgSubstring, t, new 
ComponentsWrongTypes.Class((short) 1, 2));
+        assertViewThrows(MarshallerException.class, msgSubstring, t, new 
ComponentsWrongTypes.Record((short) 1, 2));
+        assertViewThrows(MarshallerException.class, msgSubstring, t, new 
ComponentsWrongTypes.Class((short) 1, 2));
 
-        assertViewThrows(ClassCastException.class, msgSubstring, t,
+        assertViewThrows(MarshallerException.class, msgSubstring, t,
                 new ComponentsWrongTypes.RecordK((short) 1),
                 new ComponentsWrongTypes.RecordV(2)
         );
-        assertViewThrows(ClassCastException.class, msgSubstring, t,
+        assertViewThrows(MarshallerException.class, msgSubstring, t,
                 new ComponentsWrongTypes.ClassK((short) 1),
                 new ComponentsWrongTypes.ClassV(2)
         );
diff --git 
a/modules/java-records-tests/src/test/java/org/apache/ignite/internal/schema/marshaller/MarshallerTest.java
 
b/modules/java-records-tests/src/test/java/org/apache/ignite/internal/schema/marshaller/MarshallerTest.java
index b912c518cb1..cdcc5476286 100644
--- 
a/modules/java-records-tests/src/test/java/org/apache/ignite/internal/schema/marshaller/MarshallerTest.java
+++ 
b/modules/java-records-tests/src/test/java/org/apache/ignite/internal/schema/marshaller/MarshallerTest.java
@@ -28,13 +28,14 @@ import 
org.apache.ignite.internal.schema.marshaller.Records.ComponentsWide;
 import 
org.apache.ignite.internal.schema.marshaller.Records.ComponentsWrongTypes;
 import 
org.apache.ignite.internal.schema.marshaller.Records.NoDefaultConstructor;
 import 
org.apache.ignite.internal.schema.marshaller.Records.NotAnnotatedNotMapped;
+import org.apache.ignite.internal.testframework.BaseIgniteAbstractTest;
 import org.apache.ignite.lang.MarshallerException;
 import org.junit.jupiter.api.Test;
 
 /**
  * Ensures that records and classes behave the same way.
  */
-class MarshallerTest {
+class MarshallerTest extends BaseIgniteAbstractTest {
 
     @Test
     void marshalUnmarshalTest() {
@@ -83,15 +84,15 @@ class MarshallerTest {
         String msgSubstring = "Column's type mismatch";
 
         // recordView
-        assertMarshallerThrows(ClassCastException.class, msgSubstring, new 
ComponentsWrongTypes.Record((short) 1, 2));
-        assertMarshallerThrows(ClassCastException.class, msgSubstring, new 
ComponentsWrongTypes.Class((short) 1, 2));
+        assertMarshallerThrows(MarshallerException.class, msgSubstring, new 
ComponentsWrongTypes.Record((short) 1, 2));
+        assertMarshallerThrows(MarshallerException.class, msgSubstring, new 
ComponentsWrongTypes.Class((short) 1, 2));
 
         // kvView
-        assertMarshallerThrows(ClassCastException.class, msgSubstring,
+        assertMarshallerThrows(MarshallerException.class, msgSubstring,
                 new ComponentsWrongTypes.RecordK((short) 1),
                 new ComponentsWrongTypes.RecordV(2)
         );
-        assertMarshallerThrows(ClassCastException.class, msgSubstring,
+        assertMarshallerThrows(MarshallerException.class, msgSubstring,
                 new ComponentsWrongTypes.ClassK((short) 1),
                 new ComponentsWrongTypes.ClassV(2)
         );
diff --git 
a/modules/java-records-tests/src/testFixtures/java/org/apache/ignite/internal/schema/marshaller/AssertMarshaller.java
 
b/modules/java-records-tests/src/testFixtures/java/org/apache/ignite/internal/schema/marshaller/AssertMarshaller.java
index 4c004765725..cc29dc701c4 100644
--- 
a/modules/java-records-tests/src/testFixtures/java/org/apache/ignite/internal/schema/marshaller/AssertMarshaller.java
+++ 
b/modules/java-records-tests/src/testFixtures/java/org/apache/ignite/internal/schema/marshaller/AssertMarshaller.java
@@ -70,7 +70,6 @@ class AssertMarshaller {
         IgniteTestUtils.assertThrows(expectedType, () -> 
assertMarshaller(expectedKey, expectedVal), msgSubstring);
     }
 
-
     static <T> void assertView(Table table, T expected) {
         RecordView<T> view = (RecordView<T>) 
table.recordView(expected.getClass());
 
diff --git 
a/modules/java-records-tests/src/testFixtures/java/org/apache/ignite/internal/schema/marshaller/Records.java
 
b/modules/java-records-tests/src/testFixtures/java/org/apache/ignite/internal/schema/marshaller/Records.java
index b732342a3a3..3fa4838cd27 100644
--- 
a/modules/java-records-tests/src/testFixtures/java/org/apache/ignite/internal/schema/marshaller/Records.java
+++ 
b/modules/java-records-tests/src/testFixtures/java/org/apache/ignite/internal/schema/marshaller/Records.java
@@ -40,8 +40,11 @@ class Records {
             });
 
     static class ComponentsExact {
+
         record RecordK(@Column("key") Integer id) { }
+
         record RecordV(@Column("val") String val) { }
+
         record Record(@Column("key") Integer id, @Column("val") String val) { }
 
         record ExplicitCanonical(@Column("key") Integer id, @Column("val") 
String val) {
@@ -302,8 +305,8 @@ class Records {
                     return false;
                 }
                 var that = (Class) obj;
-                return Objects.equals(this.val, that.val) &&
-                        Objects.equals(this.id, that.id);
+                return Objects.equals(this.val, that.val)
+                        && Objects.equals(this.id, that.id);
             }
 
             @Override
@@ -314,8 +317,11 @@ class Records {
     }
 
     static class ComponentsWrongTypes {
+
         record RecordK(@Column("key") Short id) { }
+
         record RecordV(@Column("val") Integer val) { }
+
         record Record(@Column("key") Short id, @Column("val") Integer val) { }
 
         static final class Class {
@@ -340,8 +346,8 @@ class Records {
                     return false;
                 }
                 var that = (Class) obj;
-                return Objects.equals(this.id, that.id) &&
-                        Objects.equals(this.val, that.val);
+                return Objects.equals(this.id, that.id)
+                        && Objects.equals(this.val, that.val);
             }
 
             @Override
@@ -408,7 +414,9 @@ class Records {
     }
 
     static class ComponentsEmpty {
+
         record Record() { }
+
         static final class Class {}
     }
 
@@ -433,8 +441,8 @@ class Records {
                     return false;
                 }
                 var that = (Class) obj;
-                return Objects.equals(this.id, that.id) &&
-                        Objects.equals(this.value, that.value);
+                return Objects.equals(this.id, that.id)
+                        && Objects.equals(this.value, that.value);
             }
 
             @Override
diff --git 
a/modules/marshaller-common/src/main/java/org/apache/ignite/internal/marshaller/Marshaller.java
 
b/modules/marshaller-common/src/main/java/org/apache/ignite/internal/marshaller/Marshaller.java
index 827f4d1b87c..7961407831e 100644
--- 
a/modules/marshaller-common/src/main/java/org/apache/ignite/internal/marshaller/Marshaller.java
+++ 
b/modules/marshaller-common/src/main/java/org/apache/ignite/internal/marshaller/Marshaller.java
@@ -185,7 +185,7 @@ public abstract class Marshaller {
      * @return Object.
      * @throws MarshallerException If failed.
      */
-    public abstract Object readObject(MarshallerReader reader) throws 
MarshallerException;
+    public abstract Object readObject(MarshallerReader reader, Object target) 
throws MarshallerException;
 
     /**
      * Write an object to a row.
@@ -233,7 +233,7 @@ public abstract class Marshaller {
 
         /** {@inheritDoc} */
         @Override
-        public Object readObject(MarshallerReader reader) {
+        public Object readObject(MarshallerReader reader, Object target) {
             return fieldAccessor.read(reader);
         }
 
@@ -281,7 +281,8 @@ public abstract class Marshaller {
 
         /** {@inheritDoc} */
         @Override
-        public Object readObject(MarshallerReader reader) throws 
MarshallerException {
+        public Object readObject(MarshallerReader reader, Object target) 
throws MarshallerException {
+            // target is always null, but this exact API is used by migration 
tools
             return creator.createInstance(fieldAccessors, reader);
         }
 
@@ -307,7 +308,7 @@ public abstract class Marshaller {
         }
 
         @Override
-        public Object readObject(MarshallerReader reader) {
+        public Object readObject(MarshallerReader reader, Object target) {
             return null;
         }
 
diff --git 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/KvMarshallerImpl.java
 
b/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/KvMarshallerImpl.java
index 39654a33473..aed0eb7ca7b 100644
--- 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/KvMarshallerImpl.java
+++ 
b/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/KvMarshallerImpl.java
@@ -124,7 +124,7 @@ public class KvMarshallerImpl<K, V> implements 
KvMarshaller<K, V> {
     public K unmarshalKeyOnly(Row row) throws MarshallerException {
         assert row.elementCount() == keyPositions.length : "Number of key 
columns does not match";
 
-        Object o = keyMarsh.readObject(new RowReader(row));
+        Object o = keyMarsh.readObject(new RowReader(row), null);
 
         assert keyClass.isInstance(o);
 
@@ -134,7 +134,7 @@ public class KvMarshallerImpl<K, V> implements 
KvMarshaller<K, V> {
     /** {@inheritDoc} */
     @Override
     public K unmarshalKey(Row row) throws MarshallerException {
-        Object o = keyMarsh.readObject(new RowReader(row, keyPositions));
+        Object o = keyMarsh.readObject(new RowReader(row, keyPositions), null);
 
         assert keyClass.isInstance(o);
 
@@ -145,7 +145,7 @@ public class KvMarshallerImpl<K, V> implements 
KvMarshaller<K, V> {
     @Nullable
     @Override
     public V unmarshalValue(Row row) throws MarshallerException {
-        Object o = valMarsh.readObject(new RowReader(row, valPositions));
+        Object o = valMarsh.readObject(new RowReader(row, valPositions), null);
 
         assert o == null || valClass.isInstance(o);
 
diff --git 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/RecordMarshallerImpl.java
 
b/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/RecordMarshallerImpl.java
index 3b43dcb31f3..10cc20697fe 100644
--- 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/RecordMarshallerImpl.java
+++ 
b/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/RecordMarshallerImpl.java
@@ -112,7 +112,7 @@ public class RecordMarshallerImpl<R> implements 
RecordMarshaller<R> {
     public R unmarshal(Row row) throws MarshallerException {
         Marshaller marsh = row.keyOnly() ? keyMarsh : recMarsh;
         RowReader reader = row.keyOnly() ? new RowReader(row, keyPositions) : 
new RowReader(row);
-        final Object o = marsh.readObject(reader);
+        final Object o = marsh.readObject(reader, null);
 
         assert recClass.isInstance(o);
 
diff --git 
a/modules/table/src/main/java/org/apache/ignite/internal/table/KeyValueViewImpl.java
 
b/modules/table/src/main/java/org/apache/ignite/internal/table/KeyValueViewImpl.java
index 086de732beb..8648a08819c 100644
--- 
a/modules/table/src/main/java/org/apache/ignite/internal/table/KeyValueViewImpl.java
+++ 
b/modules/table/src/main/java/org/apache/ignite/internal/table/KeyValueViewImpl.java
@@ -870,8 +870,8 @@ public class KeyValueViewImpl<K, V> extends 
AbstractTableView<Entry<K, V>> imple
         Marshaller valMarsh = 
marshallers.getValuesMarshaller(marshallerSchema, valueMapper, false, true);
 
         return (row) -> new IgniteBiTuple<>(
-                (K) keyMarsh.readObject(new TupleReader(new 
SqlRowProjection(row, meta, columnNames(keyCols)))),
-                (V) valMarsh.readObject(new TupleReader(new 
SqlRowProjection(row, meta, columnNames(valCols))))
+                (K) keyMarsh.readObject(new TupleReader(new 
SqlRowProjection(row, meta, columnNames(keyCols))), null),
+                (V) valMarsh.readObject(new TupleReader(new 
SqlRowProjection(row, meta, columnNames(valCols))), null)
         );
     }
 }
diff --git 
a/modules/table/src/main/java/org/apache/ignite/internal/table/RecordViewImpl.java
 
b/modules/table/src/main/java/org/apache/ignite/internal/table/RecordViewImpl.java
index fd6e870e301..5045b9fa271 100644
--- 
a/modules/table/src/main/java/org/apache/ignite/internal/table/RecordViewImpl.java
+++ 
b/modules/table/src/main/java/org/apache/ignite/internal/table/RecordViewImpl.java
@@ -656,6 +656,6 @@ public class RecordViewImpl<R> extends AbstractTableView<R> 
implements RecordVie
         Marshaller marsh = marshallers.getRowMarshaller(marshallerSchema, 
mapper, false, true);
         List<Column> cols = schema.columns();
 
-        return (row) -> (R) marsh.readObject(new TupleReader(new 
SqlRowProjection(row, meta, columnNames(cols))));
+        return (row) -> (R) marsh.readObject(new TupleReader(new 
SqlRowProjection(row, meta, columnNames(cols))), null);
     }
 }

Reply via email to