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

av pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new 4abbde26ed1 IGNITE-28188 Constant descriptors for messages code 
generation (#12875)
4abbde26ed1 is described below

commit 4abbde26ed1bbde56371003862bb3f4f67d3002d
Author: Anton Vinogradov <[email protected]>
AuthorDate: Wed Mar 11 15:09:14 2026 +0300

    IGNITE-28188 Constant descriptors for messages code generation (#12875)
---
 .../internal/MessageSerializerGenerator.java       |  35 +++--
 .../codegen/TestCollectionsMessageSerializer.java  | 151 ++++++++++++++-------
 .../codegen/TestMapMessageSerializer.java          | 151 ++++++++++++++-------
 .../resources/codegen/TestMessageSerializer.java   |  19 ++-
 4 files changed, 238 insertions(+), 118 deletions(-)

diff --git 
a/modules/codegen/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java
 
b/modules/codegen/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java
index 41d93c4e260..8acc83f01c0 100644
--- 
a/modules/codegen/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java
+++ 
b/modules/codegen/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java
@@ -401,7 +401,7 @@ public class MessageSerializerGenerator {
                 return;
             }
 
-            returnFalseIfWriteFailed(write, field, "writer.writeObjectArray", 
getExpr, messageCollectionItemTypes(type));
+            returnFalseIfWriteFailed(write, field, "writer.writeObjectArray", 
getExpr, messageCollectionItemTypes(field, type));
 
             return;
         }
@@ -426,7 +426,7 @@ public class MessageSerializerGenerator {
                 List<String> args = new ArrayList<>();
 
                 args.add(getExpr);
-                args.add(messageCollectionItemTypes(type));
+                args.add(messageCollectionItemTypes(field, type));
 
                 if (compress)
                     args.add("true"); // the value of the compress argument in 
the MessageWriter#writeMap method
@@ -454,7 +454,7 @@ public class MessageSerializerGenerator {
             }
 
             else if (assignableFrom(erasedType(type), 
type(Collection.class.getName())))
-                returnFalseIfWriteFailed(write, field, 
"writer.writeCollection", getExpr, messageCollectionItemTypes(type));
+                returnFalseIfWriteFailed(write, field, 
"writer.writeCollection", getExpr, messageCollectionItemTypes(field, type));
 
             else if (enumType(env, type)) {
                 Element element = env.getTypeUtils().asElement(type);
@@ -621,7 +621,7 @@ public class MessageSerializerGenerator {
             }
 
             if (componentType.getKind() == TypeKind.ARRAY) {
-                returnFalseIfReadFailed(field, "reader.readObjectArray", 
messageCollectionItemTypes(type));
+                returnFalseIfReadFailed(field, "reader.readObjectArray", 
messageCollectionItemTypes(field, type));
 
                 return;
             }
@@ -629,7 +629,7 @@ public class MessageSerializerGenerator {
             if (componentType.getKind() == TypeKind.DECLARED) {
                 Element componentElement = 
((DeclaredType)componentType).asElement();
 
-                returnFalseIfReadFailed(field, "reader.readObjectArray", 
messageCollectionItemTypes(type));
+                returnFalseIfReadFailed(field, "reader.readObjectArray", 
messageCollectionItemTypes(field, type));
 
                 if 
(!"java.lang".equals(env.getElementUtils().getPackageOf(componentElement).getQualifiedName().toString()))
 {
                     String importCls = 
((QualifiedNameable)componentElement).getQualifiedName().toString();
@@ -664,7 +664,7 @@ public class MessageSerializerGenerator {
 
                 List<String> args = new ArrayList<>();
 
-                args.add(messageCollectionItemTypes(type));
+                args.add(messageCollectionItemTypes(field, type));
 
                 if (compress)
                     args.add("true"); // the value of the compress argument in 
the MessageReader#readMap method
@@ -692,7 +692,7 @@ public class MessageSerializerGenerator {
             }
 
             else if (assignableFrom(erasedType(type), 
type(Collection.class.getName()))) {
-                returnFalseIfReadFailed(field, "reader.readCollection", 
messageCollectionItemTypes(type));
+                returnFalseIfReadFailed(field, "reader.readCollection", 
messageCollectionItemTypes(field, type));
             }
             else if (enumType(env, type)) {
                 String fieldPrefix = 
typeNameToFieldName(env.getTypeUtils().asElement(type).getSimpleName().toString());
@@ -715,7 +715,18 @@ public class MessageSerializerGenerator {
     }
 
     /** */
-    private String messageCollectionItemTypes(TypeMirror type) throws 
Exception {
+    private String messageCollectionItemTypes(VariableElement field, 
TypeMirror type) throws Exception {
+        String desc = messageCollectionItemTypeDescriptor(type);
+        String descName = field.getSimpleName() + "CollDesc";
+        String typeName = desc.substring(desc.indexOf(' ') + 1, 
desc.indexOf('('));
+
+        fields.add("private final static " + typeName + " " + descName + " = " 
+ desc + ";");
+
+        return descName;
+    }
+
+    /** */
+    private String messageCollectionItemTypeDescriptor(TypeMirror type) throws 
Exception {
         
imports.add("org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType");
 
         if (type.getKind() == TypeKind.ARRAY) {
@@ -744,7 +755,7 @@ public class MessageSerializerGenerator {
 
             
imports.add("org.apache.ignite.plugin.extensions.communication.MessageArrayType");
 
-            return "new MessageArrayType(" + 
messageCollectionItemTypes(componentType) + ", " + clazz + ")";
+            return "new MessageArrayType(" + 
messageCollectionItemTypeDescriptor(componentType) + ", " + clazz + ")";
         }
         else if (assignableFrom(erasedType(type), type(Map.class.getName()))) {
             
imports.add("org.apache.ignite.plugin.extensions.communication.MessageMapType");
@@ -754,8 +765,8 @@ public class MessageSerializerGenerator {
             assert typeArgs.size() == 2;
 
             return "new MessageMapType(" +
-                messageCollectionItemTypes(typeArgs.get(0)) + ", " +
-                messageCollectionItemTypes(typeArgs.get(1)) + ", " +
+                messageCollectionItemTypeDescriptor(typeArgs.get(0)) + ", " +
+                messageCollectionItemTypeDescriptor(typeArgs.get(1)) + ", " +
                 assignableFrom(erasedType(type), 
type(LinkedHashMap.class.getName())) + ")";
         }
         else if (assignableFrom(erasedType(type), 
type(Collection.class.getName()))) {
@@ -766,7 +777,7 @@ public class MessageSerializerGenerator {
             assert typeArgs.size() == 1;
 
             return "new MessageCollectionType(" +
-                messageCollectionItemTypes(typeArgs.get(0)) + ", " +
+                messageCollectionItemTypeDescriptor(typeArgs.get(0)) + ", " +
                 assignableFrom(erasedType(type), type(Set.class.getName())) + 
")";
         }
         else {
diff --git 
a/modules/core/src/test/resources/codegen/TestCollectionsMessageSerializer.java 
b/modules/core/src/test/resources/codegen/TestCollectionsMessageSerializer.java
index d27220d6b25..329f3343374 100644
--- 
a/modules/core/src/test/resources/codegen/TestCollectionsMessageSerializer.java
+++ 
b/modules/core/src/test/resources/codegen/TestCollectionsMessageSerializer.java
@@ -31,6 +31,57 @@ import 
org.apache.ignite.plugin.extensions.communication.MessageWriter;
  * @see org.apache.ignite.internal.MessageProcessor
  */
 public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestCollectionsMessage> {
+    /** */
+    private final static MessageCollectionType affTopVersionListCollDesc = new 
MessageCollectionType(new 
MessageItemType(MessageCollectionItemType.AFFINITY_TOPOLOGY_VERSION), false);
+    /** */
+    private final static MessageCollectionType bitSetListCollDesc = new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.BIT_SET), 
false);
+    /** */
+    private final static MessageCollectionType bitSetSetCollDesc = new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.BIT_SET), 
true);
+    /** */
+    private final static MessageCollectionType booleanArrayListCollDesc = new 
MessageCollectionType(new 
MessageItemType(MessageCollectionItemType.BOOLEAN_ARR), false);
+    /** */
+    private final static MessageCollectionType boxedBooleanListCollDesc = new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.BOOLEAN), 
false);
+    /** */
+    private final static MessageCollectionType boxedByteListCollDesc = new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.BYTE), 
false);
+    /** */
+    private final static MessageCollectionType boxedCharListCollDesc = new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.CHAR), 
false);
+    /** */
+    private final static MessageCollectionType boxedDoubleListCollDesc = new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.DOUBLE), 
false);
+    /** */
+    private final static MessageCollectionType boxedFloatListCollDesc = new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.FLOAT), 
false);
+    /** */
+    private final static MessageCollectionType boxedIntListCollDesc = new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.INT), 
false);
+    /** */
+    private final static MessageCollectionType boxedIntegerSetCollDesc = new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.INT), true);
+    /** */
+    private final static MessageCollectionType boxedLongListCollDesc = new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.LONG), 
false);
+    /** */
+    private final static MessageCollectionType boxedShortListCollDesc = new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.SHORT), 
false);
+    /** */
+    private final static MessageCollectionType byteArrayListCollDesc = new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.BYTE_ARR), 
false);
+    /** */
+    private final static MessageCollectionType charArrayListCollDesc = new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.CHAR_ARR), 
false);
+    /** */
+    private final static MessageCollectionType doubleArrayListCollDesc = new 
MessageCollectionType(new 
MessageItemType(MessageCollectionItemType.DOUBLE_ARR), false);
+    /** */
+    private final static MessageCollectionType floatArrayListCollDesc = new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.FLOAT_ARR), 
false);
+    /** */
+    private final static MessageCollectionType gridLongListListCollDesc = new 
MessageCollectionType(new 
MessageItemType(MessageCollectionItemType.GRID_LONG_LIST), false);
+    /** */
+    private final static MessageCollectionType igniteUuidListCollDesc = new 
MessageCollectionType(new 
MessageItemType(MessageCollectionItemType.IGNITE_UUID), false);
+    /** */
+    private final static MessageCollectionType intArrayListCollDesc = new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.INT_ARR), 
false);
+    /** */
+    private final static MessageCollectionType longArrayListCollDesc = new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.LONG_ARR), 
false);
+    /** */
+    private final static MessageCollectionType messageListCollDesc = new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.MSG), 
false);
+    /** */
+    private final static MessageCollectionType shortArrayListCollDesc = new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.SHORT_ARR), 
false);
+    /** */
+    private final static MessageCollectionType stringListCollDesc = new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.STRING), 
false);
+    /** */
+    private final static MessageCollectionType uuidListCollDesc = new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.UUID), 
false);
+
     /** */
     @Override public boolean writeTo(TestCollectionsMessage msg, MessageWriter 
writer) {
         if (!writer.isHeaderWritten()) {
@@ -42,151 +93,151 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
 
         switch (writer.state()) {
             case 0:
-                if (!writer.writeCollection(msg.booleanArrayList, new 
MessageCollectionType(new 
MessageItemType(MessageCollectionItemType.BOOLEAN_ARR), false)))
+                if (!writer.writeCollection(msg.booleanArrayList, 
booleanArrayListCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 1:
-                if (!writer.writeCollection(msg.byteArrayList, new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.BYTE_ARR), 
false)))
+                if (!writer.writeCollection(msg.byteArrayList, 
byteArrayListCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 2:
-                if (!writer.writeCollection(msg.shortArrayList, new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.SHORT_ARR), 
false)))
+                if (!writer.writeCollection(msg.shortArrayList, 
shortArrayListCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 3:
-                if (!writer.writeCollection(msg.intArrayList, new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.INT_ARR), 
false)))
+                if (!writer.writeCollection(msg.intArrayList, 
intArrayListCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 4:
-                if (!writer.writeCollection(msg.longArrayList, new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.LONG_ARR), 
false)))
+                if (!writer.writeCollection(msg.longArrayList, 
longArrayListCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 5:
-                if (!writer.writeCollection(msg.charArrayList, new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.CHAR_ARR), 
false)))
+                if (!writer.writeCollection(msg.charArrayList, 
charArrayListCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 6:
-                if (!writer.writeCollection(msg.floatArrayList, new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.FLOAT_ARR), 
false)))
+                if (!writer.writeCollection(msg.floatArrayList, 
floatArrayListCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 7:
-                if (!writer.writeCollection(msg.doubleArrayList, new 
MessageCollectionType(new 
MessageItemType(MessageCollectionItemType.DOUBLE_ARR), false)))
+                if (!writer.writeCollection(msg.doubleArrayList, 
doubleArrayListCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 8:
-                if (!writer.writeCollection(msg.stringList, new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.STRING), 
false)))
+                if (!writer.writeCollection(msg.stringList, 
stringListCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 9:
-                if (!writer.writeCollection(msg.uuidList, new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.UUID), 
false)))
+                if (!writer.writeCollection(msg.uuidList, uuidListCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 10:
-                if (!writer.writeCollection(msg.bitSetList, new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.BIT_SET), 
false)))
+                if (!writer.writeCollection(msg.bitSetList, 
bitSetListCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 11:
-                if (!writer.writeCollection(msg.igniteUuidList, new 
MessageCollectionType(new 
MessageItemType(MessageCollectionItemType.IGNITE_UUID), false)))
+                if (!writer.writeCollection(msg.igniteUuidList, 
igniteUuidListCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 12:
-                if (!writer.writeCollection(msg.affTopVersionList, new 
MessageCollectionType(new 
MessageItemType(MessageCollectionItemType.AFFINITY_TOPOLOGY_VERSION), false)))
+                if (!writer.writeCollection(msg.affTopVersionList, 
affTopVersionListCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 13:
-                if (!writer.writeCollection(msg.boxedBooleanList, new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.BOOLEAN), 
false)))
+                if (!writer.writeCollection(msg.boxedBooleanList, 
boxedBooleanListCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 14:
-                if (!writer.writeCollection(msg.boxedByteList, new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.BYTE), 
false)))
+                if (!writer.writeCollection(msg.boxedByteList, 
boxedByteListCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 15:
-                if (!writer.writeCollection(msg.boxedShortList, new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.SHORT), 
false)))
+                if (!writer.writeCollection(msg.boxedShortList, 
boxedShortListCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 16:
-                if (!writer.writeCollection(msg.boxedIntList, new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.INT), 
false)))
+                if (!writer.writeCollection(msg.boxedIntList, 
boxedIntListCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 17:
-                if (!writer.writeCollection(msg.boxedLongList, new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.LONG), 
false)))
+                if (!writer.writeCollection(msg.boxedLongList, 
boxedLongListCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 18:
-                if (!writer.writeCollection(msg.boxedCharList, new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.CHAR), 
false)))
+                if (!writer.writeCollection(msg.boxedCharList, 
boxedCharListCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 19:
-                if (!writer.writeCollection(msg.boxedFloatList, new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.FLOAT), 
false)))
+                if (!writer.writeCollection(msg.boxedFloatList, 
boxedFloatListCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 20:
-                if (!writer.writeCollection(msg.boxedDoubleList, new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.DOUBLE), 
false)))
+                if (!writer.writeCollection(msg.boxedDoubleList, 
boxedDoubleListCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 21:
-                if (!writer.writeCollection(msg.messageList, new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.MSG), 
false)))
+                if (!writer.writeCollection(msg.messageList, 
messageListCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 22:
-                if (!writer.writeCollection(msg.gridLongListList, new 
MessageCollectionType(new 
MessageItemType(MessageCollectionItemType.GRID_LONG_LIST), false)))
+                if (!writer.writeCollection(msg.gridLongListList, 
gridLongListListCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 23:
-                if (!writer.writeCollection(msg.boxedIntegerSet, new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.INT), 
true)))
+                if (!writer.writeCollection(msg.boxedIntegerSet, 
boxedIntegerSetCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 24:
-                if (!writer.writeCollection(msg.bitSetSet, new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.BIT_SET), 
true)))
+                if (!writer.writeCollection(msg.bitSetSet, bitSetSetCollDesc))
                     return false;
 
                 writer.incrementState();
@@ -199,7 +250,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
     @Override public boolean readFrom(TestCollectionsMessage msg, 
MessageReader reader) {
         switch (reader.state()) {
             case 0:
-                msg.booleanArrayList = reader.readCollection(new 
MessageCollectionType(new 
MessageItemType(MessageCollectionItemType.BOOLEAN_ARR), false));
+                msg.booleanArrayList = 
reader.readCollection(booleanArrayListCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -207,7 +258,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 1:
-                msg.byteArrayList = reader.readCollection(new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.BYTE_ARR), 
false));
+                msg.byteArrayList = 
reader.readCollection(byteArrayListCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -215,7 +266,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 2:
-                msg.shortArrayList = reader.readCollection(new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.SHORT_ARR), 
false));
+                msg.shortArrayList = 
reader.readCollection(shortArrayListCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -223,7 +274,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 3:
-                msg.intArrayList = reader.readCollection(new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.INT_ARR), 
false));
+                msg.intArrayList = reader.readCollection(intArrayListCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -231,7 +282,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 4:
-                msg.longArrayList = reader.readCollection(new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.LONG_ARR), 
false));
+                msg.longArrayList = 
reader.readCollection(longArrayListCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -239,7 +290,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 5:
-                msg.charArrayList = reader.readCollection(new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.CHAR_ARR), 
false));
+                msg.charArrayList = 
reader.readCollection(charArrayListCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -247,7 +298,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 6:
-                msg.floatArrayList = reader.readCollection(new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.FLOAT_ARR), 
false));
+                msg.floatArrayList = 
reader.readCollection(floatArrayListCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -255,7 +306,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 7:
-                msg.doubleArrayList = reader.readCollection(new 
MessageCollectionType(new 
MessageItemType(MessageCollectionItemType.DOUBLE_ARR), false));
+                msg.doubleArrayList = 
reader.readCollection(doubleArrayListCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -263,7 +314,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 8:
-                msg.stringList = reader.readCollection(new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.STRING), 
false));
+                msg.stringList = reader.readCollection(stringListCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -271,7 +322,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 9:
-                msg.uuidList = reader.readCollection(new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.UUID), 
false));
+                msg.uuidList = reader.readCollection(uuidListCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -279,7 +330,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 10:
-                msg.bitSetList = reader.readCollection(new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.BIT_SET), 
false));
+                msg.bitSetList = reader.readCollection(bitSetListCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -287,7 +338,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 11:
-                msg.igniteUuidList = reader.readCollection(new 
MessageCollectionType(new 
MessageItemType(MessageCollectionItemType.IGNITE_UUID), false));
+                msg.igniteUuidList = 
reader.readCollection(igniteUuidListCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -295,7 +346,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 12:
-                msg.affTopVersionList = reader.readCollection(new 
MessageCollectionType(new 
MessageItemType(MessageCollectionItemType.AFFINITY_TOPOLOGY_VERSION), false));
+                msg.affTopVersionList = 
reader.readCollection(affTopVersionListCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -303,7 +354,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 13:
-                msg.boxedBooleanList = reader.readCollection(new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.BOOLEAN), 
false));
+                msg.boxedBooleanList = 
reader.readCollection(boxedBooleanListCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -311,7 +362,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 14:
-                msg.boxedByteList = reader.readCollection(new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.BYTE), 
false));
+                msg.boxedByteList = 
reader.readCollection(boxedByteListCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -319,7 +370,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 15:
-                msg.boxedShortList = reader.readCollection(new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.SHORT), 
false));
+                msg.boxedShortList = 
reader.readCollection(boxedShortListCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -327,7 +378,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 16:
-                msg.boxedIntList = reader.readCollection(new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.INT), 
false));
+                msg.boxedIntList = reader.readCollection(boxedIntListCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -335,7 +386,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 17:
-                msg.boxedLongList = reader.readCollection(new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.LONG), 
false));
+                msg.boxedLongList = 
reader.readCollection(boxedLongListCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -343,7 +394,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 18:
-                msg.boxedCharList = reader.readCollection(new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.CHAR), 
false));
+                msg.boxedCharList = 
reader.readCollection(boxedCharListCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -351,7 +402,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 19:
-                msg.boxedFloatList = reader.readCollection(new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.FLOAT), 
false));
+                msg.boxedFloatList = 
reader.readCollection(boxedFloatListCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -359,7 +410,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 20:
-                msg.boxedDoubleList = reader.readCollection(new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.DOUBLE), 
false));
+                msg.boxedDoubleList = 
reader.readCollection(boxedDoubleListCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -367,7 +418,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 21:
-                msg.messageList = reader.readCollection(new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.MSG), 
false));
+                msg.messageList = reader.readCollection(messageListCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -375,7 +426,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 22:
-                msg.gridLongListList = reader.readCollection(new 
MessageCollectionType(new 
MessageItemType(MessageCollectionItemType.GRID_LONG_LIST), false));
+                msg.gridLongListList = 
reader.readCollection(gridLongListListCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -383,7 +434,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 23:
-                msg.boxedIntegerSet = reader.readCollection(new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.INT), 
true));
+                msg.boxedIntegerSet = 
reader.readCollection(boxedIntegerSetCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -391,7 +442,7 @@ public class TestCollectionsMessageSerializer implements 
MessageSerializer<TestC
                 reader.incrementState();
 
             case 24:
-                msg.bitSetSet = reader.readCollection(new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.BIT_SET), 
true));
+                msg.bitSetSet = reader.readCollection(bitSetSetCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
diff --git 
a/modules/core/src/test/resources/codegen/TestMapMessageSerializer.java 
b/modules/core/src/test/resources/codegen/TestMapMessageSerializer.java
index afa07ce5787..b2e66053653 100644
--- a/modules/core/src/test/resources/codegen/TestMapMessageSerializer.java
+++ b/modules/core/src/test/resources/codegen/TestMapMessageSerializer.java
@@ -32,6 +32,57 @@ import 
org.apache.ignite.plugin.extensions.communication.MessageWriter;
  * @see org.apache.ignite.internal.MessageProcessor
  */
 public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessage> {
+    /** */
+    private final static MessageMapType affTopVersionIgniteUuidMapCollDesc = 
new MessageMapType(new 
MessageItemType(MessageCollectionItemType.AFFINITY_TOPOLOGY_VERSION), new 
MessageItemType(MessageCollectionItemType.IGNITE_UUID), false);
+    /** */
+    private final static MessageMapType bitSetUuidMapCollDesc = new 
MessageMapType(new MessageItemType(MessageCollectionItemType.BIT_SET), new 
MessageItemType(MessageCollectionItemType.UUID), false);
+    /** */
+    private final static MessageMapType booleanArrayBoxedLongMapCollDesc = new 
MessageMapType(new MessageItemType(MessageCollectionItemType.BOOLEAN_ARR), new 
MessageItemType(MessageCollectionItemType.LONG), false);
+    /** */
+    private final static MessageMapType boxedBooleanAffTopVersionMapCollDesc = 
new MessageMapType(new MessageItemType(MessageCollectionItemType.BOOLEAN), new 
MessageItemType(MessageCollectionItemType.AFFINITY_TOPOLOGY_VERSION), false);
+    /** */
+    private final static MessageMapType boxedByteBoxedBooleanMapCollDesc = new 
MessageMapType(new MessageItemType(MessageCollectionItemType.BYTE), new 
MessageItemType(MessageCollectionItemType.BOOLEAN), false);
+    /** */
+    private final static MessageMapType boxedCharBoxedLongMapCollDesc = new 
MessageMapType(new MessageItemType(MessageCollectionItemType.CHAR), new 
MessageItemType(MessageCollectionItemType.LONG), false);
+    /** */
+    private final static MessageMapType boxedDoubleBoxedFloatMapCollDesc = new 
MessageMapType(new MessageItemType(MessageCollectionItemType.DOUBLE), new 
MessageItemType(MessageCollectionItemType.FLOAT), false);
+    /** */
+    private final static MessageMapType boxedFloatBoxedCharMapCollDesc = new 
MessageMapType(new MessageItemType(MessageCollectionItemType.FLOAT), new 
MessageItemType(MessageCollectionItemType.CHAR), false);
+    /** */
+    private final static MessageMapType boxedIntBoxedShortMapCollDesc = new 
MessageMapType(new MessageItemType(MessageCollectionItemType.INT), new 
MessageItemType(MessageCollectionItemType.SHORT), false);
+    /** */
+    private final static MessageMapType boxedLongBoxedIntMapCollDesc = new 
MessageMapType(new MessageItemType(MessageCollectionItemType.LONG), new 
MessageItemType(MessageCollectionItemType.INT), false);
+    /** */
+    private final static MessageMapType boxedShortBoxedByteMapCollDesc = new 
MessageMapType(new MessageItemType(MessageCollectionItemType.SHORT), new 
MessageItemType(MessageCollectionItemType.BYTE), false);
+    /** */
+    private final static MessageMapType byteArrayBooleanArrayMapCollDesc = new 
MessageMapType(new MessageItemType(MessageCollectionItemType.BYTE_ARR), new 
MessageItemType(MessageCollectionItemType.BOOLEAN_ARR), false);
+    /** */
+    private final static MessageMapType charArrayLongArrayMapCollDesc = new 
MessageMapType(new MessageItemType(MessageCollectionItemType.CHAR_ARR), new 
MessageItemType(MessageCollectionItemType.LONG_ARR), false);
+    /** */
+    private final static MessageMapType doubleArrayFloatArrayMapCollDesc = new 
MessageMapType(new MessageItemType(MessageCollectionItemType.DOUBLE_ARR), new 
MessageItemType(MessageCollectionItemType.FLOAT_ARR), false);
+    /** */
+    private final static MessageMapType floatArrayCharArrayMapCollDesc = new 
MessageMapType(new MessageItemType(MessageCollectionItemType.FLOAT_ARR), new 
MessageItemType(MessageCollectionItemType.CHAR_ARR), false);
+    /** */
+    private final static MessageMapType gridLongListIntegerMapCollDesc = new 
MessageMapType(new MessageItemType(MessageCollectionItemType.GRID_LONG_LIST), 
new MessageItemType(MessageCollectionItemType.INT), false);
+    /** */
+    private final static MessageMapType gridlistDoubleMapUuidMapCollDesc = new 
MessageMapType(new MessageItemType(MessageCollectionItemType.GRID_LONG_LIST), 
new MessageMapType(new MessageItemType(MessageCollectionItemType.UUID), new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.DOUBLE), 
false), false), false);
+    /** */
+    private final static MessageMapType igniteUuidBitSetMapCollDesc = new 
MessageMapType(new MessageItemType(MessageCollectionItemType.IGNITE_UUID), new 
MessageItemType(MessageCollectionItemType.BIT_SET), false);
+    /** */
+    private final static MessageMapType intArrayShortArrayMapCollDesc = new 
MessageMapType(new MessageItemType(MessageCollectionItemType.INT_ARR), new 
MessageItemType(MessageCollectionItemType.SHORT_ARR), false);
+    /** */
+    private final static MessageMapType integerGridLongListMapCollDesc = new 
MessageMapType(new MessageItemType(MessageCollectionItemType.INT), new 
MessageItemType(MessageCollectionItemType.GRID_LONG_LIST), false);
+    /** */
+    private final static MessageMapType longArrayIntArrayMapCollDesc = new 
MessageMapType(new MessageItemType(MessageCollectionItemType.LONG_ARR), new 
MessageItemType(MessageCollectionItemType.INT_ARR), false);
+    /** */
+    private final static MessageMapType messageBoxedDoubleMapCollDesc = new 
MessageMapType(new MessageItemType(MessageCollectionItemType.MSG), new 
MessageItemType(MessageCollectionItemType.DOUBLE), false);
+    /** */
+    private final static MessageMapType shortArrayByteArrayMapCollDesc = new 
MessageMapType(new MessageItemType(MessageCollectionItemType.SHORT_ARR), new 
MessageItemType(MessageCollectionItemType.BYTE_ARR), false);
+    /** */
+    private final static MessageMapType stringDoubleArrayMapCollDesc = new 
MessageMapType(new MessageItemType(MessageCollectionItemType.STRING), new 
MessageItemType(MessageCollectionItemType.DOUBLE_ARR), false);
+    /** */
+    private final static MessageMapType uuidStringMapCollDesc = new 
MessageMapType(new MessageItemType(MessageCollectionItemType.UUID), new 
MessageItemType(MessageCollectionItemType.STRING), false);
+
     /** */
     @Override public boolean writeTo(TestMapMessage msg, MessageWriter writer) 
{
         if (!writer.isHeaderWritten()) {
@@ -43,151 +94,151 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
 
         switch (writer.state()) {
             case 0:
-                if (!writer.writeMap(msg.booleanArrayBoxedLongMap, new 
MessageMapType(new MessageItemType(MessageCollectionItemType.BOOLEAN_ARR), new 
MessageItemType(MessageCollectionItemType.LONG), false)))
+                if (!writer.writeMap(msg.booleanArrayBoxedLongMap, 
booleanArrayBoxedLongMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 1:
-                if (!writer.writeMap(msg.byteArrayBooleanArrayMap, new 
MessageMapType(new MessageItemType(MessageCollectionItemType.BYTE_ARR), new 
MessageItemType(MessageCollectionItemType.BOOLEAN_ARR), false)))
+                if (!writer.writeMap(msg.byteArrayBooleanArrayMap, 
byteArrayBooleanArrayMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 2:
-                if (!writer.writeMap(msg.shortArrayByteArrayMap, new 
MessageMapType(new MessageItemType(MessageCollectionItemType.SHORT_ARR), new 
MessageItemType(MessageCollectionItemType.BYTE_ARR), false)))
+                if (!writer.writeMap(msg.shortArrayByteArrayMap, 
shortArrayByteArrayMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 3:
-                if (!writer.writeMap(msg.intArrayShortArrayMap, new 
MessageMapType(new MessageItemType(MessageCollectionItemType.INT_ARR), new 
MessageItemType(MessageCollectionItemType.SHORT_ARR), false)))
+                if (!writer.writeMap(msg.intArrayShortArrayMap, 
intArrayShortArrayMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 4:
-                if (!writer.writeMap(msg.longArrayIntArrayMap, new 
MessageMapType(new MessageItemType(MessageCollectionItemType.LONG_ARR), new 
MessageItemType(MessageCollectionItemType.INT_ARR), false)))
+                if (!writer.writeMap(msg.longArrayIntArrayMap, 
longArrayIntArrayMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 5:
-                if (!writer.writeMap(msg.charArrayLongArrayMap, new 
MessageMapType(new MessageItemType(MessageCollectionItemType.CHAR_ARR), new 
MessageItemType(MessageCollectionItemType.LONG_ARR), false)))
+                if (!writer.writeMap(msg.charArrayLongArrayMap, 
charArrayLongArrayMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 6:
-                if (!writer.writeMap(msg.floatArrayCharArrayMap, new 
MessageMapType(new MessageItemType(MessageCollectionItemType.FLOAT_ARR), new 
MessageItemType(MessageCollectionItemType.CHAR_ARR), false)))
+                if (!writer.writeMap(msg.floatArrayCharArrayMap, 
floatArrayCharArrayMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 7:
-                if (!writer.writeMap(msg.doubleArrayFloatArrayMap, new 
MessageMapType(new MessageItemType(MessageCollectionItemType.DOUBLE_ARR), new 
MessageItemType(MessageCollectionItemType.FLOAT_ARR), false)))
+                if (!writer.writeMap(msg.doubleArrayFloatArrayMap, 
doubleArrayFloatArrayMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 8:
-                if (!writer.writeMap(msg.stringDoubleArrayMap, new 
MessageMapType(new MessageItemType(MessageCollectionItemType.STRING), new 
MessageItemType(MessageCollectionItemType.DOUBLE_ARR), false)))
+                if (!writer.writeMap(msg.stringDoubleArrayMap, 
stringDoubleArrayMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 9:
-                if (!writer.writeMap(msg.uuidStringMap, new MessageMapType(new 
MessageItemType(MessageCollectionItemType.UUID), new 
MessageItemType(MessageCollectionItemType.STRING), false)))
+                if (!writer.writeMap(msg.uuidStringMap, uuidStringMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 10:
-                if (!writer.writeMap(msg.bitSetUuidMap, new MessageMapType(new 
MessageItemType(MessageCollectionItemType.BIT_SET), new 
MessageItemType(MessageCollectionItemType.UUID), false)))
+                if (!writer.writeMap(msg.bitSetUuidMap, bitSetUuidMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 11:
-                if (!writer.writeMap(msg.igniteUuidBitSetMap, new 
MessageMapType(new MessageItemType(MessageCollectionItemType.IGNITE_UUID), new 
MessageItemType(MessageCollectionItemType.BIT_SET), false)))
+                if (!writer.writeMap(msg.igniteUuidBitSetMap, 
igniteUuidBitSetMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 12:
-                if (!writer.writeMap(msg.affTopVersionIgniteUuidMap, new 
MessageMapType(new 
MessageItemType(MessageCollectionItemType.AFFINITY_TOPOLOGY_VERSION), new 
MessageItemType(MessageCollectionItemType.IGNITE_UUID), false)))
+                if (!writer.writeMap(msg.affTopVersionIgniteUuidMap, 
affTopVersionIgniteUuidMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 13:
-                if (!writer.writeMap(msg.boxedBooleanAffTopVersionMap, new 
MessageMapType(new MessageItemType(MessageCollectionItemType.BOOLEAN), new 
MessageItemType(MessageCollectionItemType.AFFINITY_TOPOLOGY_VERSION), false)))
+                if (!writer.writeMap(msg.boxedBooleanAffTopVersionMap, 
boxedBooleanAffTopVersionMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 14:
-                if (!writer.writeMap(msg.boxedByteBoxedBooleanMap, new 
MessageMapType(new MessageItemType(MessageCollectionItemType.BYTE), new 
MessageItemType(MessageCollectionItemType.BOOLEAN), false)))
+                if (!writer.writeMap(msg.boxedByteBoxedBooleanMap, 
boxedByteBoxedBooleanMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 15:
-                if (!writer.writeMap(msg.boxedShortBoxedByteMap, new 
MessageMapType(new MessageItemType(MessageCollectionItemType.SHORT), new 
MessageItemType(MessageCollectionItemType.BYTE), false)))
+                if (!writer.writeMap(msg.boxedShortBoxedByteMap, 
boxedShortBoxedByteMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 16:
-                if (!writer.writeMap(msg.boxedIntBoxedShortMap, new 
MessageMapType(new MessageItemType(MessageCollectionItemType.INT), new 
MessageItemType(MessageCollectionItemType.SHORT), false)))
+                if (!writer.writeMap(msg.boxedIntBoxedShortMap, 
boxedIntBoxedShortMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 17:
-                if (!writer.writeMap(msg.boxedLongBoxedIntMap, new 
MessageMapType(new MessageItemType(MessageCollectionItemType.LONG), new 
MessageItemType(MessageCollectionItemType.INT), false)))
+                if (!writer.writeMap(msg.boxedLongBoxedIntMap, 
boxedLongBoxedIntMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 18:
-                if (!writer.writeMap(msg.boxedCharBoxedLongMap, new 
MessageMapType(new MessageItemType(MessageCollectionItemType.CHAR), new 
MessageItemType(MessageCollectionItemType.LONG), false)))
+                if (!writer.writeMap(msg.boxedCharBoxedLongMap, 
boxedCharBoxedLongMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 19:
-                if (!writer.writeMap(msg.boxedFloatBoxedCharMap, new 
MessageMapType(new MessageItemType(MessageCollectionItemType.FLOAT), new 
MessageItemType(MessageCollectionItemType.CHAR), false)))
+                if (!writer.writeMap(msg.boxedFloatBoxedCharMap, 
boxedFloatBoxedCharMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 20:
-                if (!writer.writeMap(msg.boxedDoubleBoxedFloatMap, new 
MessageMapType(new MessageItemType(MessageCollectionItemType.DOUBLE), new 
MessageItemType(MessageCollectionItemType.FLOAT), false)))
+                if (!writer.writeMap(msg.boxedDoubleBoxedFloatMap, 
boxedDoubleBoxedFloatMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 21:
-                if (!writer.writeMap(msg.messageBoxedDoubleMap, new 
MessageMapType(new MessageItemType(MessageCollectionItemType.MSG), new 
MessageItemType(MessageCollectionItemType.DOUBLE), false)))
+                if (!writer.writeMap(msg.messageBoxedDoubleMap, 
messageBoxedDoubleMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 22:
-                if (!writer.writeMap(msg.integerGridLongListMap, new 
MessageMapType(new MessageItemType(MessageCollectionItemType.INT), new 
MessageItemType(MessageCollectionItemType.GRID_LONG_LIST), false)))
+                if (!writer.writeMap(msg.integerGridLongListMap, 
integerGridLongListMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 23:
-                if (!writer.writeMap(msg.gridLongListIntegerMap, new 
MessageMapType(new MessageItemType(MessageCollectionItemType.GRID_LONG_LIST), 
new MessageItemType(MessageCollectionItemType.INT), false)))
+                if (!writer.writeMap(msg.gridLongListIntegerMap, 
gridLongListIntegerMapCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 24:
-                if (!writer.writeMap(msg.gridlistDoubleMapUuidMap, new 
MessageMapType(new MessageItemType(MessageCollectionItemType.GRID_LONG_LIST), 
new MessageMapType(new MessageItemType(MessageCollectionItemType.UUID), new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.DOUBLE), 
false), false), false)))
+                if (!writer.writeMap(msg.gridlistDoubleMapUuidMap, 
gridlistDoubleMapUuidMapCollDesc))
                     return false;
 
                 writer.incrementState();
@@ -200,7 +251,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
     @Override public boolean readFrom(TestMapMessage msg, MessageReader 
reader) {
         switch (reader.state()) {
             case 0:
-                msg.booleanArrayBoxedLongMap = reader.readMap(new 
MessageMapType(new MessageItemType(MessageCollectionItemType.BOOLEAN_ARR), new 
MessageItemType(MessageCollectionItemType.LONG), false));
+                msg.booleanArrayBoxedLongMap = 
reader.readMap(booleanArrayBoxedLongMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -208,7 +259,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 1:
-                msg.byteArrayBooleanArrayMap = reader.readMap(new 
MessageMapType(new MessageItemType(MessageCollectionItemType.BYTE_ARR), new 
MessageItemType(MessageCollectionItemType.BOOLEAN_ARR), false));
+                msg.byteArrayBooleanArrayMap = 
reader.readMap(byteArrayBooleanArrayMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -216,7 +267,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 2:
-                msg.shortArrayByteArrayMap = reader.readMap(new 
MessageMapType(new MessageItemType(MessageCollectionItemType.SHORT_ARR), new 
MessageItemType(MessageCollectionItemType.BYTE_ARR), false));
+                msg.shortArrayByteArrayMap = 
reader.readMap(shortArrayByteArrayMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -224,7 +275,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 3:
-                msg.intArrayShortArrayMap = reader.readMap(new 
MessageMapType(new MessageItemType(MessageCollectionItemType.INT_ARR), new 
MessageItemType(MessageCollectionItemType.SHORT_ARR), false));
+                msg.intArrayShortArrayMap = 
reader.readMap(intArrayShortArrayMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -232,7 +283,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 4:
-                msg.longArrayIntArrayMap = reader.readMap(new 
MessageMapType(new MessageItemType(MessageCollectionItemType.LONG_ARR), new 
MessageItemType(MessageCollectionItemType.INT_ARR), false));
+                msg.longArrayIntArrayMap = 
reader.readMap(longArrayIntArrayMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -240,7 +291,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 5:
-                msg.charArrayLongArrayMap = reader.readMap(new 
MessageMapType(new MessageItemType(MessageCollectionItemType.CHAR_ARR), new 
MessageItemType(MessageCollectionItemType.LONG_ARR), false));
+                msg.charArrayLongArrayMap = 
reader.readMap(charArrayLongArrayMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -248,7 +299,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 6:
-                msg.floatArrayCharArrayMap = reader.readMap(new 
MessageMapType(new MessageItemType(MessageCollectionItemType.FLOAT_ARR), new 
MessageItemType(MessageCollectionItemType.CHAR_ARR), false));
+                msg.floatArrayCharArrayMap = 
reader.readMap(floatArrayCharArrayMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -256,7 +307,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 7:
-                msg.doubleArrayFloatArrayMap = reader.readMap(new 
MessageMapType(new MessageItemType(MessageCollectionItemType.DOUBLE_ARR), new 
MessageItemType(MessageCollectionItemType.FLOAT_ARR), false));
+                msg.doubleArrayFloatArrayMap = 
reader.readMap(doubleArrayFloatArrayMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -264,7 +315,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 8:
-                msg.stringDoubleArrayMap = reader.readMap(new 
MessageMapType(new MessageItemType(MessageCollectionItemType.STRING), new 
MessageItemType(MessageCollectionItemType.DOUBLE_ARR), false));
+                msg.stringDoubleArrayMap = 
reader.readMap(stringDoubleArrayMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -272,7 +323,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 9:
-                msg.uuidStringMap = reader.readMap(new MessageMapType(new 
MessageItemType(MessageCollectionItemType.UUID), new 
MessageItemType(MessageCollectionItemType.STRING), false));
+                msg.uuidStringMap = reader.readMap(uuidStringMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -280,7 +331,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 10:
-                msg.bitSetUuidMap = reader.readMap(new MessageMapType(new 
MessageItemType(MessageCollectionItemType.BIT_SET), new 
MessageItemType(MessageCollectionItemType.UUID), false));
+                msg.bitSetUuidMap = reader.readMap(bitSetUuidMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -288,7 +339,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 11:
-                msg.igniteUuidBitSetMap = reader.readMap(new 
MessageMapType(new MessageItemType(MessageCollectionItemType.IGNITE_UUID), new 
MessageItemType(MessageCollectionItemType.BIT_SET), false));
+                msg.igniteUuidBitSetMap = 
reader.readMap(igniteUuidBitSetMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -296,7 +347,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 12:
-                msg.affTopVersionIgniteUuidMap = reader.readMap(new 
MessageMapType(new 
MessageItemType(MessageCollectionItemType.AFFINITY_TOPOLOGY_VERSION), new 
MessageItemType(MessageCollectionItemType.IGNITE_UUID), false));
+                msg.affTopVersionIgniteUuidMap = 
reader.readMap(affTopVersionIgniteUuidMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -304,7 +355,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 13:
-                msg.boxedBooleanAffTopVersionMap = reader.readMap(new 
MessageMapType(new MessageItemType(MessageCollectionItemType.BOOLEAN), new 
MessageItemType(MessageCollectionItemType.AFFINITY_TOPOLOGY_VERSION), false));
+                msg.boxedBooleanAffTopVersionMap = 
reader.readMap(boxedBooleanAffTopVersionMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -312,7 +363,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 14:
-                msg.boxedByteBoxedBooleanMap = reader.readMap(new 
MessageMapType(new MessageItemType(MessageCollectionItemType.BYTE), new 
MessageItemType(MessageCollectionItemType.BOOLEAN), false));
+                msg.boxedByteBoxedBooleanMap = 
reader.readMap(boxedByteBoxedBooleanMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -320,7 +371,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 15:
-                msg.boxedShortBoxedByteMap = reader.readMap(new 
MessageMapType(new MessageItemType(MessageCollectionItemType.SHORT), new 
MessageItemType(MessageCollectionItemType.BYTE), false));
+                msg.boxedShortBoxedByteMap = 
reader.readMap(boxedShortBoxedByteMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -328,7 +379,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 16:
-                msg.boxedIntBoxedShortMap = reader.readMap(new 
MessageMapType(new MessageItemType(MessageCollectionItemType.INT), new 
MessageItemType(MessageCollectionItemType.SHORT), false));
+                msg.boxedIntBoxedShortMap = 
reader.readMap(boxedIntBoxedShortMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -336,7 +387,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 17:
-                msg.boxedLongBoxedIntMap = reader.readMap(new 
MessageMapType(new MessageItemType(MessageCollectionItemType.LONG), new 
MessageItemType(MessageCollectionItemType.INT), false));
+                msg.boxedLongBoxedIntMap = 
reader.readMap(boxedLongBoxedIntMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -344,7 +395,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 18:
-                msg.boxedCharBoxedLongMap = reader.readMap(new 
MessageMapType(new MessageItemType(MessageCollectionItemType.CHAR), new 
MessageItemType(MessageCollectionItemType.LONG), false));
+                msg.boxedCharBoxedLongMap = 
reader.readMap(boxedCharBoxedLongMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -352,7 +403,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 19:
-                msg.boxedFloatBoxedCharMap = reader.readMap(new 
MessageMapType(new MessageItemType(MessageCollectionItemType.FLOAT), new 
MessageItemType(MessageCollectionItemType.CHAR), false));
+                msg.boxedFloatBoxedCharMap = 
reader.readMap(boxedFloatBoxedCharMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -360,7 +411,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 20:
-                msg.boxedDoubleBoxedFloatMap = reader.readMap(new 
MessageMapType(new MessageItemType(MessageCollectionItemType.DOUBLE), new 
MessageItemType(MessageCollectionItemType.FLOAT), false));
+                msg.boxedDoubleBoxedFloatMap = 
reader.readMap(boxedDoubleBoxedFloatMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -368,7 +419,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 21:
-                msg.messageBoxedDoubleMap = reader.readMap(new 
MessageMapType(new MessageItemType(MessageCollectionItemType.MSG), new 
MessageItemType(MessageCollectionItemType.DOUBLE), false));
+                msg.messageBoxedDoubleMap = 
reader.readMap(messageBoxedDoubleMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -376,7 +427,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 22:
-                msg.integerGridLongListMap = reader.readMap(new 
MessageMapType(new MessageItemType(MessageCollectionItemType.INT), new 
MessageItemType(MessageCollectionItemType.GRID_LONG_LIST), false));
+                msg.integerGridLongListMap = 
reader.readMap(integerGridLongListMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -384,7 +435,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 23:
-                msg.gridLongListIntegerMap = reader.readMap(new 
MessageMapType(new MessageItemType(MessageCollectionItemType.GRID_LONG_LIST), 
new MessageItemType(MessageCollectionItemType.INT), false));
+                msg.gridLongListIntegerMap = 
reader.readMap(gridLongListIntegerMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -392,7 +443,7 @@ public class TestMapMessageSerializer implements 
MessageSerializer<TestMapMessag
                 reader.incrementState();
 
             case 24:
-                msg.gridlistDoubleMapUuidMap = reader.readMap(new 
MessageMapType(new MessageItemType(MessageCollectionItemType.GRID_LONG_LIST), 
new MessageMapType(new MessageItemType(MessageCollectionItemType.UUID), new 
MessageCollectionType(new MessageItemType(MessageCollectionItemType.DOUBLE), 
false), false), false));
+                msg.gridlistDoubleMapUuidMap = 
reader.readMap(gridlistDoubleMapUuidMapCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
diff --git a/modules/core/src/test/resources/codegen/TestMessageSerializer.java 
b/modules/core/src/test/resources/codegen/TestMessageSerializer.java
index 5ca314b8ef3..130b838a6da 100644
--- a/modules/core/src/test/resources/codegen/TestMessageSerializer.java
+++ b/modules/core/src/test/resources/codegen/TestMessageSerializer.java
@@ -32,6 +32,13 @@ import 
org.apache.ignite.plugin.extensions.communication.MessageWriter;
  * @see org.apache.ignite.internal.MessageProcessor
  */
 public class TestMessageSerializer implements MessageSerializer<TestMessage> {
+    /** */
+    private final static MessageArrayType intMatrixCollDesc = new 
MessageArrayType(new MessageItemType(MessageCollectionItemType.INT_ARR), 
int[].class);
+    /** */
+    private final static MessageArrayType strArrCollDesc = new 
MessageArrayType(new MessageItemType(MessageCollectionItemType.STRING), 
String.class);
+    /** */
+    private final static MessageArrayType verArrCollDesc = new 
MessageArrayType(new MessageItemType(MessageCollectionItemType.MSG), 
GridCacheVersion.class);
+
     /** */
     @Override public boolean writeTo(TestMessage msg, MessageWriter writer) {
         if (!writer.isHeaderWritten()) {
@@ -61,13 +68,13 @@ public class TestMessageSerializer implements 
MessageSerializer<TestMessage> {
                 writer.incrementState();
 
             case 3:
-                if (!writer.writeObjectArray(msg.strArr, new 
MessageArrayType(new MessageItemType(MessageCollectionItemType.STRING), 
String.class)))
+                if (!writer.writeObjectArray(msg.strArr, strArrCollDesc))
                     return false;
 
                 writer.incrementState();
 
             case 4:
-                if (!writer.writeObjectArray(msg.intMatrix, new 
MessageArrayType(new MessageItemType(MessageCollectionItemType.INT_ARR), 
int[].class)))
+                if (!writer.writeObjectArray(msg.intMatrix, intMatrixCollDesc))
                     return false;
 
                 writer.incrementState();
@@ -79,7 +86,7 @@ public class TestMessageSerializer implements 
MessageSerializer<TestMessage> {
                 writer.incrementState();
 
             case 6:
-                if (!writer.writeObjectArray(msg.verArr, new 
MessageArrayType(new MessageItemType(MessageCollectionItemType.MSG), 
GridCacheVersion.class)))
+                if (!writer.writeObjectArray(msg.verArr, verArrCollDesc))
                     return false;
 
                 writer.incrementState();
@@ -164,7 +171,7 @@ public class TestMessageSerializer implements 
MessageSerializer<TestMessage> {
                 reader.incrementState();
 
             case 3:
-                msg.strArr = reader.readObjectArray(new MessageArrayType(new 
MessageItemType(MessageCollectionItemType.STRING), String.class));
+                msg.strArr = reader.readObjectArray(strArrCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -172,7 +179,7 @@ public class TestMessageSerializer implements 
MessageSerializer<TestMessage> {
                 reader.incrementState();
 
             case 4:
-                msg.intMatrix = reader.readObjectArray(new 
MessageArrayType(new MessageItemType(MessageCollectionItemType.INT_ARR), 
int[].class));
+                msg.intMatrix = reader.readObjectArray(intMatrixCollDesc);
 
                 if (!reader.isLastRead())
                     return false;
@@ -188,7 +195,7 @@ public class TestMessageSerializer implements 
MessageSerializer<TestMessage> {
                 reader.incrementState();
 
             case 6:
-                msg.verArr = reader.readObjectArray(new MessageArrayType(new 
MessageItemType(MessageCollectionItemType.MSG), GridCacheVersion.class));
+                msg.verArr = reader.readObjectArray(verArrCollDesc);
 
                 if (!reader.isLastRead())
                     return false;

Reply via email to