You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2015/11/24 15:48:58 UTC
[2/4] ignite git commit: IGNITE-1956: Tests start passing.
IGNITE-1956: Tests start passing.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/642218dc
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/642218dc
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/642218dc
Branch: refs/heads/ignite-1956
Commit: 642218dccbd5aff7a2cb1a4489d80cb2cf3bc113
Parents: ed3bd2b
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Nov 24 16:50:39 2015 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Nov 24 16:50:39 2015 +0300
----------------------------------------------------------------------
.../communication/GridIoMessageFactory.java | 8 ++-
.../internal/portable/BinaryEnumObjectImpl.java | 76 +++++++++++++++++---
.../internal/portable/BinaryEnumsSelfTest.java | 10 +--
3 files changed, 81 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/642218dc/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
index 02bd5ec..c9b8e27 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
@@ -31,6 +31,7 @@ import org.apache.ignite.internal.managers.deployment.GridDeploymentInfoBean;
import org.apache.ignite.internal.managers.deployment.GridDeploymentRequest;
import org.apache.ignite.internal.managers.deployment.GridDeploymentResponse;
import org.apache.ignite.internal.managers.eventstorage.GridEventStorageMessage;
+import org.apache.ignite.internal.portable.BinaryEnumObjectImpl;
import org.apache.ignite.internal.portable.BinaryObjectImpl;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
import org.apache.ignite.internal.processors.cache.CacheEntryInfoCollection;
@@ -714,7 +715,12 @@ public class GridIoMessageFactory implements MessageFactory {
break;
- // [-3..118] - this
+ case 119:
+ msg = new BinaryEnumObjectImpl();
+
+ break;
+
+ // [-3..119] - this
// [120..123] - DR
// [-4..-22] - SQL
default:
http://git-wip-us.apache.org/repos/asf/ignite/blob/642218dc/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryEnumObjectImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryEnumObjectImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryEnumObjectImpl.java
index 66b080a..fe2dea7 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryEnumObjectImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryEnumObjectImpl.java
@@ -21,6 +21,7 @@ import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.binary.BinaryObject;
import org.apache.ignite.binary.BinaryObjectException;
import org.apache.ignite.binary.BinaryType;
+import org.apache.ignite.internal.GridDirectTransient;
import org.apache.ignite.internal.processors.cache.CacheObject;
import org.apache.ignite.internal.processors.cache.CacheObjectContext;
import org.apache.ignite.internal.processors.cache.portable.CacheObjectBinaryProcessorImpl;
@@ -40,6 +41,7 @@ import java.nio.ByteBuffer;
*/
public class BinaryEnumObjectImpl implements BinaryObject, Externalizable, CacheObject {
/** Context. */
+ @GridDirectTransient
private PortableContext ctx;
/** Type ID. */
@@ -224,25 +226,83 @@ public class BinaryEnumObjectImpl implements BinaryObject, Externalizable, Cache
/** {@inheritDoc} */
@Override public byte directType() {
- // TODO
- return 0;
+ return 119;
}
/** {@inheritDoc} */
@Override public byte fieldsCount() {
- // TODO
- return 0;
+ return 3;
}
/** {@inheritDoc} */
@Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
- // TODO
- return false;
+ writer.setBuffer(buf);
+
+ if (!writer.isHeaderWritten()) {
+ if (!writer.writeHeader(directType(), fieldsCount()))
+ return false;
+
+ writer.onHeaderWritten();
+ }
+
+ switch (writer.state()) {
+ case 0:
+ if (!writer.writeString("clsName", clsName))
+ return false;
+
+ writer.incrementState();
+
+ case 1:
+ if (!writer.writeInt("ord", ord))
+ return false;
+
+ writer.incrementState();
+
+ case 2:
+ if (!writer.writeInt("typeId", typeId))
+ return false;
+
+ writer.incrementState();
+
+ }
+
+ return true;
}
/** {@inheritDoc} */
@Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
- // TODO
- return false;
+ reader.setBuffer(buf);
+
+ if (!reader.beforeMessageRead())
+ return false;
+
+ switch (reader.state()) {
+ case 0:
+ clsName = reader.readString("clsName");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 1:
+ ord = reader.readInt("ord");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 2:
+ typeId = reader.readInt("typeId");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ }
+
+ return reader.afterMessageRead(BinaryEnumObjectImpl.class);
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/642218dc/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryEnumsSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryEnumsSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryEnumsSelfTest.java
index 3abf436..9b2cb84 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryEnumsSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryEnumsSelfTest.java
@@ -120,10 +120,6 @@ public class BinaryEnumsSelfTest extends GridCommonAbstractTest {
public void testSimpleRegistered() throws Exception{
startUp(true);
- cache1.put(0, new EnumHolder(EnumType.ONE));
-
- Object res = cache1.get(0);
-
cache1.put(1, EnumType.ONE);
assertEquals(EnumType.ONE, cache1.get(1));
@@ -134,6 +130,12 @@ public class BinaryEnumsSelfTest extends GridCommonAbstractTest {
assertTrue(obj.type().isEnum());
assertEquals(node1.binary().typeId(EnumType.class.getName()), obj.typeId());
assertEquals(EnumType.ONE.ordinal(), obj.enumOrdinal());
+
+ obj = cacheBinary2.get(1);
+
+ assertTrue(obj.type().isEnum());
+ assertEquals(node1.binary().typeId(EnumType.class.getName()), obj.typeId());
+ assertEquals(EnumType.ONE.ordinal(), obj.enumOrdinal());
}
/**