# IGNITE-61 - Test fix

Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/f3c503ed
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/f3c503ed
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/f3c503ed

Branch: refs/heads/ignite-138
Commit: f3c503ed5a5bb04514458d6b422bcb880dd9bbc0
Parents: 150e25b
Author: Valentin Kulichenko <vkuliche...@gridgain.com>
Authored: Mon Feb 9 19:12:52 2015 -0800
Committer: Valentin Kulichenko <vkuliche...@gridgain.com>
Committed: Mon Feb 9 19:12:52 2015 -0800

----------------------------------------------------------------------
 .../testframework/GridSpiTestContext.java       | 32 ++++++++++++++------
 1 file changed, 23 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f3c503ed/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
 
b/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
index 97cb488..80b9b96 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
@@ -61,6 +61,12 @@ public class GridSpiTestContext implements IgniteSpiContext {
     /** */
     private final ConcurrentMap<String, Map> cache = new ConcurrentHashMap<>();
 
+    /** */
+    private MessageFormatter formatter;
+
+    /** */
+    private MessageFactory factory;
+
     /** {@inheritDoc} */
     @Override public Collection<ClusterNode> remoteNodes() {
         return rmtNodes;
@@ -505,21 +511,29 @@ public class GridSpiTestContext implements 
IgniteSpiContext {
         return null;
     }
 
+    /** {@inheritDoc} */
     @Override public MessageFormatter messageFormatter() {
-        return new MessageFormatter() {
-            @Override public MessageWriter writer() {
-                return new DirectMessageWriter();
-            }
+        if (formatter == null) {
+            formatter = new MessageFormatter() {
+                @Override public MessageWriter writer() {
+                    return new DirectMessageWriter();
+                }
 
-            @Override public MessageReader reader() {
-                throw new UnsupportedOperationException();
-            }
-        };
+                @Override public MessageReader reader() {
+                    return new DirectMessageReader(messageFactory());
+                }
+            };
+        }
+
+        return formatter;
     }
 
     /** {@inheritDoc} */
     @Override public MessageFactory messageFactory() {
-        return new GridIoMessageFactory(messageFormatter(), null);
+        if (factory == null)
+            factory = new GridIoMessageFactory(messageFormatter(), null);
+
+        return factory;
     }
 
     /**

Reply via email to