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 13:01:14 UTC
[7/7] ignite git commit: IGNITE-1956: Ignite portable tests pass.
IGNITE-1956: Ignite portable tests pass.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/0eef2053
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/0eef2053
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/0eef2053
Branch: refs/heads/ignite-1956
Commit: 0eef2053c1dc72859091b2d822a08fb8770bf240
Parents: 9517d89
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Nov 24 15:01:50 2015 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Nov 24 15:01:50 2015 +0300
----------------------------------------------------------------------
.../ignite/internal/portable/PortableUtils.java | 9 ++---
.../portable/BinaryMarshallerSelfTest.java | 37 +++++++++++++-------
2 files changed, 30 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/0eef2053/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableUtils.java
index 958c5da..0d79741 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableUtils.java
@@ -1431,10 +1431,9 @@ public class PortableUtils {
*
* @param in Input stream.
* @param ctx Portable context.
- * @param type Plain type.
* @return Enum array.
*/
- private static Object[] doReadPortableEnumArray(PortableInputStream in, PortableContext ctx, EnumType type) {
+ private static Object[] doReadPortableEnumArray(PortableInputStream in, PortableContext ctx) {
int len = in.readInt();
Object[] arr = (Object[]) Array.newInstance(BinaryObject.class, len);
@@ -1445,7 +1444,7 @@ public class PortableUtils {
if (flag == NULL)
arr[i] = null;
else
- arr[i] = doReadPortableEnum(in, ctx, type);
+ arr[i] = doReadPortableEnum(in, ctx, doReadEnumType(in));
}
return arr;
@@ -1695,7 +1694,9 @@ public class PortableUtils {
return doReadPortableEnum(in, ctx, doReadEnumType(in));
case ENUM_ARR:
- return doReadPortableEnumArray(in, ctx, doReadEnumType(in));
+ doReadEnumType(in); // Simply skip this part as we do not need it.
+
+ return doReadPortableEnumArray(in, ctx);
case CLASS:
return doReadClass(in, ctx, ldr);
http://git-wip-us.apache.org/repos/asf/ignite/blob/0eef2053/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryMarshallerSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryMarshallerSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryMarshallerSelfTest.java
index 19c40b3..b7fbced 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryMarshallerSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryMarshallerSelfTest.java
@@ -488,8 +488,8 @@ public class BinaryMarshallerSelfTest extends GridCommonAbstractTest {
assertArrayEquals(obj.objArr, (Object[])po.field("objArr"));
assertEquals(obj.col, po.field("col"));
assertEquals(obj.map, po.field("map"));
- assertEquals(new Integer(obj.enumVal.ordinal()), new Integer(((Enum<?>)po.field("enumVal")).ordinal()));
- assertArrayEquals(ordinals(obj.enumArr), ordinals((Enum<?>[])po.field("enumArr")));
+ assertEquals(new Integer(obj.enumVal.ordinal()), new Integer(((BinaryObject)po.field("enumVal")).enumOrdinal()));
+ assertArrayEquals(ordinals(obj.enumArr), ordinals((BinaryObject[])po.field("enumArr")));
assertNull(po.field("unknown"));
BinaryObject innerPo = po.field("inner");
@@ -524,8 +524,8 @@ public class BinaryMarshallerSelfTest extends GridCommonAbstractTest {
assertEquals(obj.inner.col, innerPo.field("col"));
assertEquals(obj.inner.map, innerPo.field("map"));
assertEquals(new Integer(obj.inner.enumVal.ordinal()),
- new Integer(((Enum<?>)innerPo.field("enumVal")).ordinal()));
- assertArrayEquals(ordinals(obj.inner.enumArr), ordinals((Enum<?>[])innerPo.field("enumArr")));
+ new Integer(((BinaryObject)innerPo.field("enumVal")).enumOrdinal()));
+ assertArrayEquals(ordinals(obj.inner.enumArr), ordinals((BinaryObject[])innerPo.field("enumArr")));
assertNull(innerPo.field("inner"));
assertNull(innerPo.field("unknown"));
}
@@ -573,8 +573,8 @@ public class BinaryMarshallerSelfTest extends GridCommonAbstractTest {
assertArrayEquals(obj.objArr, (Object[])po.field("_objArr"));
assertEquals(obj.col, po.field("_col"));
assertEquals(obj.map, po.field("_map"));
- assertEquals(new Integer(obj.enumVal.ordinal()), new Integer(((Enum<?>)po.field("_enumVal")).ordinal()));
- assertArrayEquals(ordinals(obj.enumArr), ordinals((Enum<?>[])po.field("_enumArr")));
+ assertEquals(new Integer(obj.enumVal.ordinal()), new Integer(((BinaryObject)po.field("_enumVal")).enumOrdinal()));
+ assertArrayEquals(ordinals(obj.enumArr), ordinals((BinaryObject[])po.field("_enumArr")));
assertNull(po.field("unknown"));
BinaryObject simplePo = po.field("_simple");
@@ -609,8 +609,8 @@ public class BinaryMarshallerSelfTest extends GridCommonAbstractTest {
assertEquals(obj.simple.col, simplePo.field("col"));
assertEquals(obj.simple.map, simplePo.field("map"));
assertEquals(new Integer(obj.simple.enumVal.ordinal()),
- new Integer(((Enum<?>)simplePo.field("enumVal")).ordinal()));
- assertArrayEquals(ordinals(obj.simple.enumArr), ordinals((Enum<?>[])simplePo.field("enumArr")));
+ new Integer(((BinaryObject)simplePo.field("enumVal")).enumOrdinal()));
+ assertArrayEquals(ordinals(obj.simple.enumArr), ordinals((BinaryObject[])simplePo.field("enumArr")));
assertNull(simplePo.field("simple"));
assertNull(simplePo.field("portable"));
assertNull(simplePo.field("unknown"));
@@ -646,8 +646,8 @@ public class BinaryMarshallerSelfTest extends GridCommonAbstractTest {
assertEquals(obj.portable.col, portablePo.field("_col"));
assertEquals(obj.portable.map, portablePo.field("_map"));
assertEquals(new Integer(obj.portable.enumVal.ordinal()),
- new Integer(((Enum<?>)portablePo.field("_enumVal")).ordinal()));
- assertArrayEquals(ordinals(obj.portable.enumArr), ordinals((Enum<?>[])portablePo.field("_enumArr")));
+ new Integer(((BinaryObject)portablePo.field("_enumVal")).enumOrdinal()));
+ assertArrayEquals(ordinals(obj.portable.enumArr), ordinals((BinaryObject[])portablePo.field("_enumArr")));
assertNull(portablePo.field("_simple"));
assertNull(portablePo.field("_portable"));
assertNull(portablePo.field("unknown"));
@@ -685,8 +685,8 @@ public class BinaryMarshallerSelfTest extends GridCommonAbstractTest {
assertArrayEquals(obj.objArr, (Object[])po.field("objArr"));
assertEquals(obj.col, po.field("col"));
assertEquals(obj.map, po.field("map"));
- assertEquals(new Integer(obj.enumVal.ordinal()), new Integer(((Enum<?>)po.field("enumVal")).ordinal()));
- assertArrayEquals(ordinals(obj.enumArr), ordinals((Enum<?>[])po.field("enumArr")));
+ assertEquals(new Integer(obj.enumVal.ordinal()), new Integer(((BinaryObject)po.field("enumVal")).enumOrdinal()));
+ assertArrayEquals(ordinals(obj.enumArr), ordinals((BinaryObject[])po.field("enumArr")));
assertNull(po.field("unknown"));
assertEquals(obj, po.deserialize());
@@ -2204,6 +2204,19 @@ public class BinaryMarshallerSelfTest extends GridCommonAbstractTest {
}
/**
+ * @param enumArr Enum array.
+ * @return Ordinals.
+ */
+ private <T extends Enum<?>> Integer[] ordinals(BinaryObject[] enumArr) {
+ Integer[] ords = new Integer[enumArr.length];
+
+ for (int i = 0; i < enumArr.length; i++)
+ ords[i] = enumArr[i].enumOrdinal();
+
+ return ords;
+ }
+
+ /**
* @param po Portable object.
* @param off Offset.
* @return Value.