Return-Path: X-Original-To: apmail-ignite-commits-archive@minotaur.apache.org Delivered-To: apmail-ignite-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 85E89183DA for ; Thu, 3 Sep 2015 21:43:11 +0000 (UTC) Received: (qmail 57196 invoked by uid 500); 3 Sep 2015 21:43:11 -0000 Delivered-To: apmail-ignite-commits-archive@ignite.apache.org Received: (qmail 57124 invoked by uid 500); 3 Sep 2015 21:43:11 -0000 Mailing-List: contact commits-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list commits@ignite.apache.org Received: (qmail 56611 invoked by uid 99); 3 Sep 2015 21:43:11 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 03 Sep 2015 21:43:11 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 1E9D2E7EB6; Thu, 3 Sep 2015 21:43:11 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: agoncharuk@apache.org To: commits@ignite.apache.org Date: Thu, 03 Sep 2015 21:43:29 -0000 Message-Id: <8a16b4a8c32b4780959ff9b7092f9269@git.apache.org> In-Reply-To: <5f91bfddd87641a3a0ef1a79a2ef2958@git.apache.org> References: <5f91bfddd87641a3a0ef1a79a2ef2958@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [20/39] ignite git commit: ignite-1273: added ability to modify arrays returned from PortableBuilder and fixed cyclic references processing for arrays and collections in PortableMarshaller http://git-wip-us.apache.org/repos/asf/ignite/blob/9057a4c0/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableBuilderAdditionalSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableBuilderAdditionalSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableBuilderAdditionalSelfTest.java index 488361c..61ec714 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableBuilderAdditionalSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableBuilderAdditionalSelfTest.java @@ -22,6 +22,7 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; import java.lang.reflect.Field; +import java.math.BigDecimal; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Arrays; @@ -38,6 +39,8 @@ import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgnitePortables; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; +import org.apache.ignite.internal.portable.builder.PortableBuilderEnum; +import org.apache.ignite.internal.portable.builder.PortableBuilderImpl; import org.apache.ignite.internal.portable.mutabletest.GridPortableMarshalerAwareTestClass; import org.apache.ignite.internal.processors.cache.portable.CacheObjectPortableProcessorImpl; import org.apache.ignite.internal.processors.cache.portable.IgnitePortablesImpl; @@ -237,10 +240,214 @@ public class GridPortableBuilderAdditionalSelfTest extends GridCommonAbstractTes /** * */ - public void testSimpleArrayModification() { + public void testDateArrayModification() { TestObjectAllTypes obj = new TestObjectAllTypes(); - obj.strArr = new String[]{"a", "a", "a"}; + obj.dateArr = new Date[] {new Date(11111), new Date(11111), new Date(11111)}; + + PortableBuilderImpl mutObj = wrap(obj); + + Date[] arr = mutObj.getField("dateArr"); + arr[0] = new Date(22222); + + TestObjectAllTypes res = mutObj.build().deserialize(); + + Assert.assertArrayEquals(new Date[] {new Date(22222), new Date(11111), new Date(11111)}, res.dateArr); + } + + /** + * + */ + public void testUUIDArrayModification() { + TestObjectAllTypes obj = new TestObjectAllTypes(); + + obj.uuidArr = new UUID[] {new UUID(1, 1), new UUID(1, 1), new UUID(1, 1)}; + + PortableBuilderImpl mutObj = wrap(obj); + + UUID[] arr = mutObj.getField("uuidArr"); + arr[0] = new UUID(2, 2); + + TestObjectAllTypes res = mutObj.build().deserialize(); + + Assert.assertArrayEquals(new UUID[] {new UUID(2, 2), new UUID(1, 1), new UUID(1, 1)}, res.uuidArr); + } + + /** + * + */ + public void testDecimalArrayModification() { + TestObjectAllTypes obj = new TestObjectAllTypes(); + + obj.bdArr = new BigDecimal[] {new BigDecimal(1000), new BigDecimal(1000), new BigDecimal(1000)}; + + PortableBuilderImpl mutObj = wrap(obj); + + BigDecimal[] arr = mutObj.getField("bdArr"); + arr[0] = new BigDecimal(2000); + + TestObjectAllTypes res = mutObj.build().deserialize(); + + Assert.assertArrayEquals(new BigDecimal[] {new BigDecimal(1000), new BigDecimal(1000), new BigDecimal(1000)}, + res.bdArr); + } + + /** + * + */ + public void testBooleanArrayModification() { + TestObjectAllTypes obj = new TestObjectAllTypes(); + + obj.zArr = new boolean[] {false, false, false}; + + PortableBuilderImpl mutObj = wrap(obj); + + boolean[] arr = mutObj.getField("zArr"); + arr[0] = true; + + TestObjectAllTypes res = mutObj.build().deserialize(); + + boolean[] expected = new boolean[] {true, false, false}; + + assertEquals(expected.length, res.zArr.length); + + for (int i = 0; i < expected.length; i++) + assertEquals(expected[i], res.zArr[i]); + } + + /** + * + */ + public void testCharArrayModification() { + TestObjectAllTypes obj = new TestObjectAllTypes(); + + obj.cArr = new char[] {'a', 'a', 'a'}; + + PortableBuilderImpl mutObj = wrap(obj); + + char[] arr = mutObj.getField("cArr"); + arr[0] = 'b'; + + TestObjectAllTypes res = mutObj.build().deserialize(); + + Assert.assertArrayEquals(new char[] {'b', 'a', 'a'}, res.cArr); + } + + /** + * + */ + public void testDoubleArrayModification() { + TestObjectAllTypes obj = new TestObjectAllTypes(); + + obj.dArr = new double[] {1.0, 1.0, 1.0}; + + PortableBuilderImpl mutObj = wrap(obj); + + double[] arr = mutObj.getField("dArr"); + arr[0] = 2.0; + + TestObjectAllTypes res = mutObj.build().deserialize(); + + Assert.assertArrayEquals(new double[] {2.0, 1.0, 1.0}, res.dArr, 0); + } + + /** + * + */ + public void testFloatArrayModification() { + TestObjectAllTypes obj = new TestObjectAllTypes(); + + obj.fArr = new float[] {1.0f, 1.0f, 1.0f}; + + PortableBuilderImpl mutObj = wrap(obj); + + float[] arr = mutObj.getField("fArr"); + arr[0] = 2.0f; + + TestObjectAllTypes res = mutObj.build().deserialize(); + + Assert.assertArrayEquals(new float[] {2.0f, 1.0f, 1.0f}, res.fArr, 0); + } + + /** + * + */ + public void testLongArrayModification() { + TestObjectAllTypes obj = new TestObjectAllTypes(); + + obj.lArr = new long[] {1, 1, 1}; + + PortableBuilderImpl mutObj = wrap(obj); + + long[] arr = mutObj.getField("lArr"); + arr[0] = 2; + + TestObjectAllTypes res = mutObj.build().deserialize(); + + Assert.assertArrayEquals(new long[] {2, 1, 1}, res.lArr); + } + + /** + * + */ + public void testIntArrayModification() { + TestObjectAllTypes obj = new TestObjectAllTypes(); + + obj.iArr = new int[] {1, 1, 1}; + + PortableBuilderImpl mutObj = wrap(obj); + + int[] arr = mutObj.getField("iArr"); + arr[0] = 2; + + TestObjectAllTypes res = mutObj.build().deserialize(); + + Assert.assertArrayEquals(new int[] {2, 1, 1}, res.iArr); + } + + /** + * + */ + public void testShortArrayModification() { + TestObjectAllTypes obj = new TestObjectAllTypes(); + + obj.sArr = new short[] {1, 1, 1}; + + PortableBuilderImpl mutObj = wrap(obj); + + short[] arr = mutObj.getField("sArr"); + arr[0] = 2; + + TestObjectAllTypes res = mutObj.build().deserialize(); + + Assert.assertArrayEquals(new short[] {2, 1, 1}, res.sArr); + } + + /** + * + */ + public void testByteArrayModification() { + TestObjectAllTypes obj = new TestObjectAllTypes(); + + obj.bArr = new byte[] {1, 1, 1}; + + PortableBuilderImpl mutObj = wrap(obj); + + byte[] arr = mutObj.getField("bArr"); + arr[0] = 2; + + TestObjectAllTypes res = mutObj.build().deserialize(); + + Assert.assertArrayEquals(new byte[] {2, 1, 1}, res.bArr); + } + + /** + * + */ + public void testStringArrayModification() { + TestObjectAllTypes obj = new TestObjectAllTypes(); + + obj.strArr = new String[] {"a", "a", "a"}; PortableBuilderImpl mutObj = wrap(obj); @@ -249,29 +456,27 @@ public class GridPortableBuilderAdditionalSelfTest extends GridCommonAbstractTes TestObjectAllTypes res = mutObj.build().deserialize(); - Assert.assertArrayEquals(obj.strArr, res.strArr); + Assert.assertArrayEquals(new String[] {"b", "a", "a"}, res.strArr); } /** * */ public void testModifyObjectArray() { - fail("https://issues.apache.org/jira/browse/IGNITE-1273"); - TestObjectContainer obj = new TestObjectContainer(); - obj.foo = new Object[]{"a"}; + obj.foo = new Object[] {"a"}; PortableBuilderImpl mutObj = wrap(obj); Object[] arr = mutObj.getField("foo"); - Assert.assertArrayEquals(new Object[]{"a"}, arr); + Assert.assertArrayEquals(new Object[] {"a"}, arr); arr[0] = "b"; TestObjectContainer res = mutObj.build().deserialize(); - Assert.assertArrayEquals(new Object[] {"a"}, (Object[])res.foo); + Assert.assertArrayEquals(new Object[] {"b"}, (Object[])res.foo); } /** @@ -280,7 +485,7 @@ public class GridPortableBuilderAdditionalSelfTest extends GridCommonAbstractTes public void testOverrideObjectArrayField() { PortableBuilderImpl mutObj = wrap(new TestObjectContainer()); - Object[] createdArr = {mutObj, "a", 1, new String[] {"s", "s"}, new byte[]{1, 2}, new UUID(3, 0)}; + Object[] createdArr = {mutObj, "a", 1, new String[] {"s", "s"}, new byte[] {1, 2}, new UUID(3, 0)}; mutObj.setField("foo", createdArr.clone()); @@ -296,7 +501,7 @@ public class GridPortableBuilderAdditionalSelfTest extends GridCommonAbstractTes */ public void testDeepArray() { TestObjectContainer obj = new TestObjectContainer(); - obj.foo = new Object[]{new Object[]{"a", obj}}; + obj.foo = new Object[] {new Object[] {"a", obj}}; PortableBuilderImpl mutObj = wrap(obj); @@ -633,7 +838,7 @@ public class GridPortableBuilderAdditionalSelfTest extends GridCommonAbstractTes public void testEnumArrayModification() { TestObjectAllTypes obj = new TestObjectAllTypes(); - obj.enumArr = new TestObjectEnum[]{TestObjectEnum.A, TestObjectEnum.B}; + obj.enumArr = new TestObjectEnum[] {TestObjectEnum.A, TestObjectEnum.B}; PortableBuilderImpl mutObj = wrap(obj); @@ -953,12 +1158,10 @@ public class GridPortableBuilderAdditionalSelfTest extends GridCommonAbstractTes * */ public void testCyclicArrays() { - fail("https://issues.apache.org/jira/browse/IGNITE-1273"); - TestObjectContainer obj = new TestObjectContainer(); Object[] arr1 = new Object[1]; - Object[] arr2 = new Object[]{arr1}; + Object[] arr2 = new Object[] {arr1}; arr1[0] = arr2; @@ -976,7 +1179,6 @@ public class GridPortableBuilderAdditionalSelfTest extends GridCommonAbstractTes */ @SuppressWarnings("TypeMayBeWeakened") public void testCyclicArrayList() { - fail("https://issues.apache.org/jira/browse/IGNITE-1273"); TestObjectContainer obj = new TestObjectContainer(); List arr1 = new ArrayList<>(); http://git-wip-us.apache.org/repos/asf/ignite/blob/9057a4c0/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableBuilderSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableBuilderSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableBuilderSelfTest.java index 3ba0a92..7f23c1f 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableBuilderSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableBuilderSelfTest.java @@ -28,6 +28,7 @@ import java.util.UUID; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgnitePortables; import org.apache.ignite.configuration.IgniteConfiguration; +import org.apache.ignite.internal.portable.builder.PortableBuilderImpl; import org.apache.ignite.internal.portable.mutabletest.GridPortableTestClasses.TestObjectAllTypes; import org.apache.ignite.internal.portable.mutabletest.GridPortableTestClasses.TestObjectContainer; import org.apache.ignite.internal.portable.mutabletest.GridPortableTestClasses.TestObjectInner; http://git-wip-us.apache.org/repos/asf/ignite/blob/9057a4c0/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMarshallerSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMarshallerSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMarshallerSelfTest.java index 11e316a..c8287a0 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMarshallerSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMarshallerSelfTest.java @@ -40,6 +40,7 @@ import java.util.concurrent.Callable; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentSkipListSet; import org.apache.ignite.IgniteCheckedException; +import org.apache.ignite.internal.portable.builder.PortableBuilderImpl; import org.apache.ignite.internal.util.GridUnsafe; import org.apache.ignite.internal.util.IgniteUtils; import org.apache.ignite.internal.util.lang.GridMapEntry; @@ -68,6 +69,7 @@ import sun.misc.Unsafe; import static org.apache.ignite.internal.portable.PortableThreadLocalMemoryAllocator.THREAD_LOCAL_ALLOC; import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertTrue; /** * Portable marshaller tests. @@ -1547,11 +1549,11 @@ public class GridPortableMarshallerSelfTest extends GridCommonAbstractTest { PortableObject copy = copy(po, F.asMap("bArr", new byte[]{1, 2, 3})); - assertArrayEquals(new byte[]{1, 2, 3}, copy.field("bArr")); + assertArrayEquals(new byte[] {1, 2, 3}, copy.field("bArr")); SimpleObject obj0 = copy.deserialize(); - assertArrayEquals(new byte[]{1, 2, 3}, obj0.bArr); + assertArrayEquals(new byte[] {1, 2, 3}, obj0.bArr); } /** @@ -1796,7 +1798,7 @@ public class GridPortableMarshallerSelfTest extends GridCommonAbstractTest { assertEquals("str555", obj0.str); assertEquals(newObj, obj0.inner); - assertArrayEquals(new byte[]{6, 7, 9}, obj0.bArr); + assertArrayEquals(new byte[] {6, 7, 9}, obj0.bArr); } /** @@ -1832,7 +1834,7 @@ public class GridPortableMarshallerSelfTest extends GridCommonAbstractTest { assertEquals("str555", copy.field("str")); assertEquals(newObj, copy.field("inner").deserialize()); assertEquals((short)2323, copy.field("s").shortValue()); - assertArrayEquals(new byte[]{6, 7, 9}, copy.field("bArr")); + assertArrayEquals(new byte[] {6, 7, 9}, copy.field("bArr")); assertEquals((byte)111, copy.field("b").byteValue()); SimpleObject obj0 = copy.deserialize(); @@ -1841,7 +1843,7 @@ public class GridPortableMarshallerSelfTest extends GridCommonAbstractTest { assertEquals("str555", obj0.str); assertEquals(newObj, obj0.inner); assertEquals((short)2323, obj0.s); - assertArrayEquals(new byte[]{6, 7, 9}, obj0.bArr); + assertArrayEquals(new byte[] {6, 7, 9}, obj0.bArr); assertEquals((byte)111, obj0.b); } @@ -2239,6 +2241,53 @@ public class GridPortableMarshallerSelfTest extends GridCommonAbstractTest { } /** + * @throws Exception If failed. + */ + public void testCyclicReferencesMarshalling() throws Exception { + PortableMarshaller marsh = new PortableMarshaller(); + + SimpleObject obj = simpleObject(); + + obj.bArr = obj.inner.bArr; + obj.cArr = obj.inner.cArr; + obj.boolArr = obj.inner.boolArr; + obj.sArr = obj.inner.sArr; + obj.strArr = obj.inner.strArr; + obj.iArr = obj.inner.iArr; + obj.lArr = obj.inner.lArr; + obj.fArr = obj.inner.fArr; + obj.dArr = obj.inner.dArr; + obj.dateArr = obj.inner.dateArr; + obj.uuidArr = obj.inner.uuidArr; + obj.objArr = obj.inner.objArr; + obj.bdArr = obj.inner.bdArr; + obj.map = obj.inner.map; + obj.col = obj.inner.col; + obj.mEntry = obj.inner.mEntry; + + SimpleObject res = (SimpleObject)marshalUnmarshal(obj, marsh); + + assertEquals(obj, res); + + assertTrue(res.bArr == res.inner.bArr); + assertTrue(res.cArr == res.inner.cArr); + assertTrue(res.boolArr == res.inner.boolArr); + assertTrue(res.sArr == res.inner.sArr); + assertTrue(res.strArr == res.inner.strArr); + assertTrue(res.iArr == res.inner.iArr); + assertTrue(res.lArr == res.inner.lArr); + assertTrue(res.fArr == res.inner.fArr); + assertTrue(res.dArr == res.inner.dArr); + assertTrue(res.dateArr == res.inner.dateArr); + assertTrue(res.uuidArr == res.inner.uuidArr); + assertTrue(res.objArr == res.inner.objArr); + assertTrue(res.bdArr == res.inner.bdArr); + assertTrue(res.map == res.inner.map); + assertTrue(res.col == res.inner.col); + assertTrue(res.mEntry == res.inner.mEntry); + } + + /** * */ private static class ObjectWithClassFields { @@ -2424,6 +2473,7 @@ public class GridPortableMarshallerSelfTest extends GridCommonAbstractTest { inner.map = new HashMap<>(); inner.enumVal = TestEnum.A; inner.enumArr = new TestEnum[] {TestEnum.A, TestEnum.B}; + inner.bdArr = new BigDecimal[] {new BigDecimal(1000), BigDecimal.ONE}; inner.col.add("str1"); inner.col.add("str2"); @@ -2433,6 +2483,8 @@ public class GridPortableMarshallerSelfTest extends GridCommonAbstractTest { inner.map.put(2, "str2"); inner.map.put(3, "str3"); + inner.mEntry = inner.map.entrySet().iterator().next(); + SimpleObject outer = new SimpleObject(); outer.b = 2; @@ -2464,6 +2516,8 @@ public class GridPortableMarshallerSelfTest extends GridCommonAbstractTest { outer.enumVal = TestEnum.B; outer.enumArr = new TestEnum[] {TestEnum.B, TestEnum.C}; outer.inner = inner; + outer.bdArr = new BigDecimal[] {new BigDecimal(5000), BigDecimal.TEN}; + outer.col.add("str4"); outer.col.add("str5"); @@ -2473,6 +2527,8 @@ public class GridPortableMarshallerSelfTest extends GridCommonAbstractTest { outer.map.put(5, "str5"); outer.map.put(6, "str6"); + outer.mEntry = outer.map.entrySet().iterator().next(); + return outer; } @@ -2757,6 +2813,9 @@ public class GridPortableMarshallerSelfTest extends GridCommonAbstractTest { private Object[] objArr; /** */ + private BigDecimal[] bdArr; + + /** */ private Collection col; /** */ @@ -2769,6 +2828,9 @@ public class GridPortableMarshallerSelfTest extends GridCommonAbstractTest { private TestEnum[] enumArr; /** */ + private Map.Entry mEntry; + + /** */ private SimpleObject inner; /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/9057a4c0/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMetaDataDisabledSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMetaDataDisabledSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMetaDataDisabledSelfTest.java index d329818..05df23b 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMetaDataDisabledSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMetaDataDisabledSelfTest.java @@ -20,6 +20,7 @@ import java.util.Arrays; import org.apache.ignite.IgnitePortables; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.marshaller.portable.PortableMarshaller; +import org.apache.ignite.portable.PortableBuilder; import org.apache.ignite.portable.PortableException; import org.apache.ignite.portable.PortableMarshalAware; import org.apache.ignite.portable.PortableReader; @@ -68,9 +69,17 @@ public class GridPortableMetaDataDisabledSelfTest extends GridCommonAbstractTest portables().toPortable(new TestObject1()); portables().toPortable(new TestObject2()); + portables().toPortable(new TestObject3()); assertEquals(0, portables().metadata(TestObject1.class).fields().size()); assertEquals(0, portables().metadata(TestObject2.class).fields().size()); + + PortableBuilder bldr = portables().builder("FakeType"); + + bldr.setField("field1", 0).setField("field2", "value").build(); + + assertNull(portables().metadata("FakeType")); + assertNull(portables().metadata(TestObject3.class)); } finally { stopGrid(); @@ -218,4 +227,12 @@ public class GridPortableMetaDataDisabledSelfTest extends GridCommonAbstractTest // No-op. } } + + /** + */ + @SuppressWarnings("UnusedDeclaration") + private static class TestObject3 { + /** */ + private int field; + } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/9057a4c0/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMetaDataSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMetaDataSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMetaDataSelfTest.java index f6d7627..9054297 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMetaDataSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMetaDataSelfTest.java @@ -147,6 +147,15 @@ public class GridPortableMetaDataSelfTest extends GridCommonAbstractTest { /** * @throws Exception If failed. */ + public void testNoConfiguration() throws Exception { + portables().toPortable(new TestObject3()); + + assertNotNull(portables().metadata(TestObject3.class)); + } + + /** + * @throws Exception If failed. + */ public void testReflection() throws Exception { PortableMetadata meta = portables().metadata(TestObject1.class); @@ -349,4 +358,12 @@ public class GridPortableMetaDataSelfTest extends GridCommonAbstractTest { // No-op. } } + + /** + */ + @SuppressWarnings("UnusedDeclaration") + private static class TestObject3 { + /** */ + private int intVal; + } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/9057a4c0/modules/core/src/test/java/org/apache/ignite/internal/portable/mutabletest/GridPortableTestClasses.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/mutabletest/GridPortableTestClasses.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/mutabletest/GridPortableTestClasses.java index ce97a8d..e49514b 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/portable/mutabletest/GridPortableTestClasses.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/portable/mutabletest/GridPortableTestClasses.java @@ -23,6 +23,7 @@ import java.io.IOException; import java.io.ObjectOutput; import java.io.ObjectOutputStream; import java.io.Serializable; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -182,7 +183,6 @@ public class GridPortableTestClasses { /** */ public Date date; - /** */ public byte[] bArr; @@ -208,12 +208,18 @@ public class GridPortableTestClasses { public boolean[] zArr; /** */ + public BigDecimal[] bdArr; + + /** */ public String[] strArr; /** */ public UUID[] uuidArr; /** */ + public Date[] dateArr; + + /** */ public TestObjectEnum anEnum; /** */ @@ -222,8 +228,6 @@ public class GridPortableTestClasses { /** */ public Map.Entry entry; - //public Date[] dateArr; // todo test date array. - /** * @return Array. */ @@ -270,21 +274,23 @@ public class GridPortableTestClasses { uuid = new UUID(1, 1); date = new Date(1000000); - bArr = new byte[]{1, 2, 3}; - sArr = new short[]{1, 2, 3}; - iArr = new int[]{1, 2, 3}; - lArr = new long[]{1, 2, 3}; - fArr = new float[]{1, 2, 3}; - dArr = new double[]{1, 2, 3}; - cArr = new char[]{1, 2, 3}; - zArr = new boolean[]{true, false}; + bArr = new byte[] {1, 2, 3}; + sArr = new short[] {1, 2, 3}; + iArr = new int[] {1, 2, 3}; + lArr = new long[] {1, 2, 3}; + fArr = new float[] {1, 2, 3}; + dArr = new double[] {1, 2, 3}; + cArr = new char[] {1, 2, 3}; + zArr = new boolean[] {true, false}; - strArr = new String[]{"abc", "ab", "a"}; - uuidArr = new UUID[]{new UUID(1, 1), new UUID(2, 2)}; + strArr = new String[] {"abc", "ab", "a"}; + uuidArr = new UUID[] {new UUID(1, 1), new UUID(2, 2)}; + bdArr = new BigDecimal[] {new BigDecimal(1000), BigDecimal.TEN}; + dateArr = new Date[] {new Date(1000000), new Date(200000)}; anEnum = TestObjectEnum.A; - enumArr = new TestObjectEnum[]{TestObjectEnum.B}; + enumArr = new TestObjectEnum[] {TestObjectEnum.B}; entry = new GridMapEntry<>(1, "a"); } @@ -388,7 +394,6 @@ public class GridPortableTestClasses { private Map> companyByStreet = new TreeMap<>(); /** - * * @param street Street. * @return Company. */ @@ -397,7 +402,6 @@ public class GridPortableTestClasses { } /** - * * @param company Company. */ public void addCompany(Company company) { @@ -413,7 +417,6 @@ public class GridPortableTestClasses { } /** - * * @return map */ public Map> getCompanyByStreet() { @@ -421,7 +424,6 @@ public class GridPortableTestClasses { } /** - * * @param companyByStreet map */ public void setCompanyByStreet(Map> companyByStreet) { http://git-wip-us.apache.org/repos/asf/ignite/blob/9057a4c0/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/portable/GridCacheClientNodePortableMetadataMultinodeTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/portable/GridCacheClientNodePortableMetadataMultinodeTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/portable/GridCacheClientNodePortableMetadataMultinodeTest.java index aa67574..1ba3d4d 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/portable/GridCacheClientNodePortableMetadataMultinodeTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/portable/GridCacheClientNodePortableMetadataMultinodeTest.java @@ -31,6 +31,7 @@ import org.apache.ignite.IgnitePortables; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.internal.IgniteInternalFuture; +import org.apache.ignite.internal.util.lang.GridAbsPredicate; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.marshaller.portable.PortableMarshaller; import org.apache.ignite.portable.PortableBuilder; @@ -233,6 +234,16 @@ public class GridCacheClientNodePortableMetadataMultinodeTest extends GridCommon portables = ignite(i).portables(); + final IgnitePortables p0 = portables; + + GridTestUtils.waitForCondition(new GridAbsPredicate() { + @Override public boolean apply() { + Collection metaCol = p0.metadata(); + + return metaCol.size() == 1000; + } + }, getTestTimeout()); + Collection metaCol = portables.metadata(); assertEquals(1000, metaCol.size());