http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ca27b586/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareRequest.java
index e304ce8..b07aa35 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareRequest.java
@@ -268,7 +268,7 @@ public class GridNearTxPrepareRequest<K, V> extends 
GridDistributedTxPrepareRequ
                 state.increment();
 
             case 24:
-                if (!writer.writeCollection("lastBackups", lastBackups, 
UUID.class))
+                if (!writer.writeCollection("lastBackups", lastBackups, 
Type.UUID))
                     return false;
 
                 state.increment();
@@ -334,7 +334,7 @@ public class GridNearTxPrepareRequest<K, V> extends 
GridDistributedTxPrepareRequ
                 readState++;
 
             case 24:
-                lastBackups = reader.readCollection("lastBackups", UUID.class);
+                lastBackups = reader.readCollection("lastBackups", Type.UUID);
 
                 if (!reader.isLastRead())
                     return false;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ca27b586/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareResponse.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareResponse.java
index 6fb9259..94e179e 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareResponse.java
@@ -275,7 +275,7 @@ public class GridNearTxPrepareResponse<K, V> extends 
GridDistributedTxPrepareRes
                 state.increment();
 
             case 12:
-                if (!writer.writeCollection("invalidParts", invalidParts, 
int.class))
+                if (!writer.writeCollection("invalidParts", invalidParts, 
Type.INT))
                     return false;
 
                 state.increment();
@@ -287,13 +287,13 @@ public class GridNearTxPrepareResponse<K, V> extends 
GridDistributedTxPrepareRes
                 state.increment();
 
             case 14:
-                if (!writer.writeCollection("ownedValsBytes", ownedValsBytes, 
byte[].class))
+                if (!writer.writeCollection("ownedValsBytes", ownedValsBytes, 
Type.BYTE_ARR))
                     return false;
 
                 state.increment();
 
             case 15:
-                if (!writer.writeCollection("pending", pending, 
GridCacheVersion.class))
+                if (!writer.writeCollection("pending", pending, Type.MSG))
                     return false;
 
                 state.increment();
@@ -329,7 +329,7 @@ public class GridNearTxPrepareResponse<K, V> extends 
GridDistributedTxPrepareRes
                 readState++;
 
             case 12:
-                invalidParts = reader.readCollection("invalidParts", 
int.class);
+                invalidParts = reader.readCollection("invalidParts", Type.INT);
 
                 if (!reader.isLastRead())
                     return false;
@@ -345,7 +345,7 @@ public class GridNearTxPrepareResponse<K, V> extends 
GridDistributedTxPrepareRes
                 readState++;
 
             case 14:
-                ownedValsBytes = reader.readCollection("ownedValsBytes", 
byte[].class);
+                ownedValsBytes = reader.readCollection("ownedValsBytes", 
Type.BYTE_ARR);
 
                 if (!reader.isLastRead())
                     return false;
@@ -353,7 +353,7 @@ public class GridNearTxPrepareResponse<K, V> extends 
GridDistributedTxPrepareRes
                 readState++;
 
             case 15:
-                pending = reader.readCollection("pending", 
GridCacheVersion.class);
+                pending = reader.readCollection("pending", Type.MSG);
 
                 if (!reader.isLastRead())
                     return false;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ca27b586/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryResponse.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryResponse.java
index 7fb4b4f..9b99a1f 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryResponse.java
@@ -243,7 +243,7 @@ public class GridCacheQueryResponse<K, V> extends 
GridCacheMessage<K, V> impleme
 
         switch (state.index()) {
             case 3:
-                if (!writer.writeCollection("dataBytes", dataBytes, 
byte[].class))
+                if (!writer.writeCollection("dataBytes", dataBytes, 
Type.BYTE_ARR))
                     return false;
 
                 state.increment();
@@ -267,7 +267,7 @@ public class GridCacheQueryResponse<K, V> extends 
GridCacheMessage<K, V> impleme
                 state.increment();
 
             case 7:
-                if (!writer.writeCollection("metaDataBytes", metaDataBytes, 
byte[].class))
+                if (!writer.writeCollection("metaDataBytes", metaDataBytes, 
Type.BYTE_ARR))
                     return false;
 
                 state.increment();
@@ -293,7 +293,7 @@ public class GridCacheQueryResponse<K, V> extends 
GridCacheMessage<K, V> impleme
 
         switch (readState) {
             case 3:
-                dataBytes = reader.readCollection("dataBytes", byte[].class);
+                dataBytes = reader.readCollection("dataBytes", Type.BYTE_ARR);
 
                 if (!reader.isLastRead())
                     return false;
@@ -325,7 +325,7 @@ public class GridCacheQueryResponse<K, V> extends 
GridCacheMessage<K, V> impleme
                 readState++;
 
             case 7:
-                metaDataBytes = reader.readCollection("metaDataBytes", 
byte[].class);
+                metaDataBytes = reader.readCollection("metaDataBytes", 
Type.BYTE_ARR);
 
                 if (!reader.isLastRead())
                     return false;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ca27b586/modules/core/src/main/java/org/apache/ignite/internal/processors/clock/GridClockDeltaSnapshotMessage.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/clock/GridClockDeltaSnapshotMessage.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/clock/GridClockDeltaSnapshotMessage.java
index 7e23b8b..041ddc3 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/clock/GridClockDeltaSnapshotMessage.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/clock/GridClockDeltaSnapshotMessage.java
@@ -101,7 +101,7 @@ public class GridClockDeltaSnapshotMessage extends 
MessageAdapter {
 
         switch (state.index()) {
             case 0:
-                if (!writer.writeMap("deltas", deltas, UUID.class, long.class))
+                if (!writer.writeMap("deltas", deltas, Type.UUID, Type.LONG))
                     return false;
 
                 state.increment();
@@ -124,7 +124,7 @@ public class GridClockDeltaSnapshotMessage extends 
MessageAdapter {
 
         switch (readState) {
             case 0:
-                deltas = reader.readMap("deltas", UUID.class, long.class, 
false);
+                deltas = reader.readMap("deltas", Type.UUID, Type.LONG, false);
 
                 if (!reader.isLastRead())
                     return false;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ca27b586/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/GridDataLoadRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/GridDataLoadRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/GridDataLoadRequest.java
index 7629324..2b4609e 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/GridDataLoadRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/GridDataLoadRequest.java
@@ -273,7 +273,7 @@ public class GridDataLoadRequest extends MessageAdapter {
                 state.increment();
 
             case 6:
-                if (!writer.writeMap("ldrParticipants", ldrParticipants, 
UUID.class, IgniteUuid.class))
+                if (!writer.writeMap("ldrParticipants", ldrParticipants, 
Type.UUID, Type.IGNITE_UUID))
                     return false;
 
                 state.increment();
@@ -377,7 +377,7 @@ public class GridDataLoadRequest extends MessageAdapter {
                 readState++;
 
             case 6:
-                ldrParticipants = reader.readMap("ldrParticipants", 
UUID.class, IgniteUuid.class, false);
+                ldrParticipants = reader.readMap("ldrParticipants", Type.UUID, 
Type.IGNITE_UUID, false);
 
                 if (!reader.isLastRead())
                     return false;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ca27b586/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsBlocksMessage.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsBlocksMessage.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsBlocksMessage.java
index adb1ca3..3f62995 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsBlocksMessage.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsBlocksMessage.java
@@ -119,7 +119,7 @@ public class IgfsBlocksMessage extends 
IgfsCommunicationMessage {
 
         switch (state.index()) {
             case 0:
-                if (!writer.writeMap("blocks", blocks, IgfsBlockKey.class, 
byte[].class))
+                if (!writer.writeMap("blocks", blocks, Type.MSG, 
Type.BYTE_ARR))
                     return false;
 
                 state.increment();
@@ -151,7 +151,7 @@ public class IgfsBlocksMessage extends 
IgfsCommunicationMessage {
 
         switch (readState) {
             case 0:
-                blocks = reader.readMap("blocks", IgfsBlockKey.class, 
byte[].class, false);
+                blocks = reader.readMap("blocks", Type.MSG, Type.BYTE_ARR, 
false);
 
                 if (!reader.isLastRead())
                     return false;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ca27b586/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsFragmentizerRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsFragmentizerRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsFragmentizerRequest.java
index 62e1375..bd309b8 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsFragmentizerRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsFragmentizerRequest.java
@@ -119,7 +119,7 @@ public class IgfsFragmentizerRequest extends 
IgfsCommunicationMessage {
                 state.increment();
 
             case 1:
-                if (!writer.writeCollection("fragmentRanges", fragmentRanges, 
IgfsFileAffinityRange.class))
+                if (!writer.writeCollection("fragmentRanges", fragmentRanges, 
Type.MSG))
                     return false;
 
                 state.increment();
@@ -147,7 +147,7 @@ public class IgfsFragmentizerRequest extends 
IgfsCommunicationMessage {
                 readState++;
 
             case 1:
-                fragmentRanges = reader.readCollection("fragmentRanges", 
IgfsFileAffinityRange.class);
+                fragmentRanges = reader.readCollection("fragmentRanges", 
Type.MSG);
 
                 if (!reader.isLastRead())
                     return false;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ca27b586/modules/core/src/main/java/org/apache/ignite/internal/processors/streamer/GridStreamerExecutionRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/streamer/GridStreamerExecutionRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/streamer/GridStreamerExecutionRequest.java
index 7415523..c5cc326 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/streamer/GridStreamerExecutionRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/streamer/GridStreamerExecutionRequest.java
@@ -208,7 +208,7 @@ public class GridStreamerExecutionRequest extends 
MessageAdapter {
                 state.increment();
 
             case 4:
-                if (!writer.writeMap("ldrParticipants", ldrParticipants, 
UUID.class, IgniteUuid.class))
+                if (!writer.writeMap("ldrParticipants", ldrParticipants, 
Type.UUID, Type.IGNITE_UUID))
                     return false;
 
                 state.increment();
@@ -273,7 +273,7 @@ public class GridStreamerExecutionRequest extends 
MessageAdapter {
                 readState++;
 
             case 4:
-                ldrParticipants = reader.readMap("ldrParticipants", 
UUID.class, IgniteUuid.class, false);
+                ldrParticipants = reader.readMap("ldrParticipants", Type.UUID, 
Type.IGNITE_UUID, false);
 
                 if (!reader.isLastRead())
                     return false;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ca27b586/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageAdapter.java
index 9cb8945..48c65fd 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageAdapter.java
@@ -17,8 +17,11 @@
 
 package org.apache.ignite.plugin.extensions.communication;
 
+import org.apache.ignite.lang.*;
+
 import java.io.*;
 import java.nio.*;
+import java.util.*;
 
 /**
  * Base class for all communication messages.
@@ -88,46 +91,56 @@ public abstract class MessageAdapter implements 
Serializable, Cloneable {
      * TODO
      */
     public enum Type {
-        BYTE,
+        BYTE(Byte.class),
+
+        SHORT(Short.class),
+
+        INT(Integer.class),
+
+        LONG(Long.class),
 
-        SHORT,
+        FLOAT(Float.class),
 
-        INT,
+        DOUBLE(Double.class),
 
-        LONG,
+        CHAR(Character.class),
 
-        FLOAT,
+        BOOLEAN(Boolean.class),
 
-        DOUBLE,
+        BYTE_ARR(byte[].class),
 
-        CHAR,
+        SHORT_ARR(short[].class),
 
-        BOOLEAN,
+        INT_ARR(int[].class),
 
-        BYTE_ARR,
+        LONG_ARR(long[].class),
 
-        SHORT_ARR,
+        FLOAT_ARR(float[].class),
 
-        INT_ARR,
+        DOUBLE_ARR(double[].class),
 
-        LONG_ARR,
+        CHAR_ARR(char[].class),
 
-        FLOAT_ARR,
+        BOOLEAN_ARR(boolean[].class),
 
-        DOUBLE_ARR,
+        STRING(String.class),
 
-        CHAR_ARR,
+        BIT_SET(BitSet.class),
 
-        BOOLEAN_ARR,
+        UUID(UUID.class),
 
-        STRING,
+        IGNITE_UUID(IgniteUuid.class),
 
-        BIT_SET,
+        MSG(MessageAdapter.class);
 
-        UUID,
+        private final Class<?> cls;
 
-        IGNITE_UUID,
+        private Type(Class<?> cls) {
+            this.cls = cls;
+        }
 
-        MSG
+        public Class<?> clazz() {
+            return cls;
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ca27b586/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageReader.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageReader.java
 
b/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageReader.java
index 1e07ef3..415ea82 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageReader.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageReader.java
@@ -207,30 +207,31 @@ public interface MessageReader {
      * Reads array of objects.
      *
      * @param name Field name.
-     * @param itemCls Array component type.
+     * @param itemType Array component type.
      * @return Array of objects.
      */
-    public <T> T[] readObjectArray(String name, Class<T> itemCls);
+    public <T> T[] readObjectArray(String name, MessageAdapter.Type itemType);
 
     /**
      * Reads collection.
      *
      * @param name Field name.
-     * @param itemCls Collection item type.
+     * @param itemType Collection item type.
      * @return Collection.
      */
-    public <C extends Collection<T>, T> C readCollection(String name, Class<T> 
itemCls);
+    public <C extends Collection<?>> C readCollection(String name, 
MessageAdapter.Type itemType);
 
     /**
      * Reads map.
      *
      * @param name Field name.
-     * @param keyCls Map key type.
-     * @param valCls Map value type.
+     * @param keyType Map key type.
+     * @param valType Map value type.
      * @param linked Whether {@link LinkedHashMap} should be created.
      * @return Map.
      */
-    public <M extends Map<K, V>, K, V> M readMap(String name, Class<K> keyCls, 
Class<V> valCls, boolean linked);
+    public <M extends Map<?, ?>> M readMap(String name, MessageAdapter.Type 
keyType, MessageAdapter.Type valType,
+        boolean linked);
 
     /**
      * Tells whether last invocation of any of {@code readXXX(...)}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ca27b586/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageWriter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageWriter.java
 
b/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageWriter.java
index 278b8e1..e6117a8 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageWriter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageWriter.java
@@ -229,29 +229,30 @@ public interface MessageWriter {
      *
      * @param name Field name.
      * @param arr Array of objects.
-     * @param itemCls Array component type.
+     * @param itemType Array component type.
      * @return Whether array was fully written.
      */
-    public <T> boolean writeObjectArray(String name, T[] arr, Class<T> 
itemCls);
+    public <T> boolean writeObjectArray(String name, T[] arr, 
MessageAdapter.Type itemType);
 
     /**
      * Writes collection.
      *
      * @param name Field name.
      * @param col Collection.
-     * @param itemCls Collection item type.
+     * @param itemType Collection item type.
      * @return Whether value was fully written.
      */
-    public <T> boolean writeCollection(String name, Collection<T> col, 
Class<T> itemCls);
+    public <T> boolean writeCollection(String name, Collection<T> col, 
MessageAdapter.Type itemType);
 
     /**
      * Writes map.
      *
      * @param name Field name.
      * @param map Map.
-     * @param keyCls Map key type.
-     * @param valCls Map value type.
+     * @param keyType Map key type.
+     * @param valType Map value type.
      * @return Whether value was fully written.
      */
-    public <K, V> boolean writeMap(String name, Map<K, V> map, Class<K> 
keyCls, Class<V> valCls);
+    public <K, V> boolean writeMap(String name, Map<K, V> map, 
MessageAdapter.Type keyType,
+        MessageAdapter.Type valType);
 }

Reply via email to