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 6E6CF180D6 for ; Mon, 14 Dec 2015 14:10:17 +0000 (UTC) Received: (qmail 29541 invoked by uid 500); 14 Dec 2015 14:10:17 -0000 Delivered-To: apmail-ignite-commits-archive@ignite.apache.org Received: (qmail 29437 invoked by uid 500); 14 Dec 2015 14:10:17 -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 28897 invoked by uid 99); 14 Dec 2015 14:10:17 -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; Mon, 14 Dec 2015 14:10:16 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id D1C84E08B3; Mon, 14 Dec 2015 14:10:16 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sboikov@apache.org To: commits@ignite.apache.org Date: Mon, 14 Dec 2015 14:10:30 -0000 Message-Id: <3ad48a12a093486592ee40941053db14@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [15/55] [abbrv] ignite git commit: ignite-2065: rename "portable" classes to "binary" (in tests) http://git-wip-us.apache.org/repos/asf/ignite/blob/469bf6d6/modules/core/src/test/java/org/apache/ignite/internal/binary/GridBinaryWildcardsSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/binary/GridBinaryWildcardsSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/binary/GridBinaryWildcardsSelfTest.java new file mode 100644 index 0000000..9cf1242 --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/binary/GridBinaryWildcardsSelfTest.java @@ -0,0 +1,464 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.internal.binary; + +import java.util.Collection; +import org.apache.ignite.IgniteCheckedException; +import org.apache.ignite.binary.BinaryIdMapper; +import org.apache.ignite.binary.BinarySerializer; +import org.apache.ignite.binary.BinaryTypeConfiguration; +import org.apache.ignite.configuration.BinaryConfiguration; +import org.apache.ignite.configuration.IgniteConfiguration; +import org.apache.ignite.internal.util.IgniteUtils; +import org.apache.ignite.internal.util.typedef.internal.U; +import org.apache.ignite.marshaller.MarshallerContextTestImpl; +import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; + +import java.util.Arrays; +import java.util.Map; + +/** + * Wildcards test. + */ +public class GridBinaryWildcardsSelfTest extends GridCommonAbstractTest { + /** + * @throws Exception If failed. + */ + public void testClassNames() throws Exception { + BinaryMarshaller marsh = portableMarshaller(Arrays.asList( + new BinaryTypeConfiguration("org.apache.ignite.internal.binary.test.*"), + new BinaryTypeConfiguration("unknown.*") + )); + + BinaryContext ctx = portableContext(marsh); + + Map typeIds = U.field(ctx, "userTypes"); + + assertEquals(3, typeIds.size()); + + assertTrue(typeIds.containsKey("gridportabletestclass1".hashCode())); + assertTrue(typeIds.containsKey("gridportabletestclass2".hashCode())); + assertTrue(typeIds.containsKey("innerclass".hashCode())); + } + + /** + * @throws Exception If failed. + */ + public void testClassNamesWithMapper() throws Exception { + BinaryMarshaller marsh = portableMarshaller(new BinaryIdMapper() { + @SuppressWarnings("IfMayBeConditional") + @Override public int typeId(String clsName) { + if (clsName.endsWith("1")) + return 300; + else if (clsName.endsWith("2")) + return 400; + else if (clsName.endsWith("InnerClass")) + return 500; + else + return -500; + } + + @Override public int fieldId(int typeId, String fieldName) { + return 0; + } + }, Arrays.asList( + new BinaryTypeConfiguration("org.apache.ignite.internal.binary.test.*"), + new BinaryTypeConfiguration("unknown.*") + )); + + BinaryContext ctx = portableContext(marsh); + + Map typeMappers = U.field(ctx, "typeMappers"); + + assertEquals(3, typeMappers.size()); + + assertEquals(300, typeMappers.get("GridPortableTestClass1").typeId("GridPortableTestClass1")); + assertEquals(400, typeMappers.get("GridPortableTestClass2").typeId("GridPortableTestClass2")); + assertEquals(500, typeMappers.get("InnerClass").typeId("InnerClass")); + } + + /** + * @throws Exception If failed. + */ + public void testTypeConfigurations() throws Exception { + BinaryMarshaller marsh = portableMarshaller(Arrays.asList( + new BinaryTypeConfiguration("org.apache.ignite.internal.binary.test.*"), + new BinaryTypeConfiguration("unknown.*") + )); + + BinaryContext ctx = portableContext(marsh); + + Map typeIds = U.field(ctx, "userTypes"); + + assertEquals(3, typeIds.size()); + + assertTrue(typeIds.containsKey("gridportabletestclass1".hashCode())); + assertTrue(typeIds.containsKey("gridportabletestclass2".hashCode())); + assertTrue(typeIds.containsKey("innerclass".hashCode())); + } + + /** + * @throws Exception If failed. + */ + public void testTypeConfigurationsWithGlobalMapper() throws Exception { + BinaryMarshaller marsh = portableMarshaller(new BinaryIdMapper() { + @SuppressWarnings("IfMayBeConditional") + @Override public int typeId(String clsName) { + if (clsName.endsWith("1")) + return 300; + else if (clsName.endsWith("2")) + return 400; + else if (clsName.endsWith("InnerClass")) + return 500; + else + return -500; + } + + @Override public int fieldId(int typeId, String fieldName) { + return 0; + } + }, Arrays.asList( + new BinaryTypeConfiguration("org.apache.ignite.internal.binary.test.*"), + new BinaryTypeConfiguration("unknown.*") + )); + + BinaryContext ctx = portableContext(marsh); + + Map typeMappers = U.field(ctx, "typeMappers"); + + assertEquals(3, typeMappers.size()); + + assertEquals(300, typeMappers.get("GridPortableTestClass1").typeId("GridPortableTestClass1")); + assertEquals(400, typeMappers.get("GridPortableTestClass2").typeId("GridPortableTestClass2")); + assertEquals(500, typeMappers.get("InnerClass").typeId("InnerClass")); + } + + /** + * @throws Exception If failed. + */ + public void testTypeConfigurationsWithNonGlobalMapper() throws Exception { + BinaryMarshaller marsh = portableMarshaller(new BinaryIdMapper() { + @SuppressWarnings("IfMayBeConditional") + @Override public int typeId(String clsName) { + if (clsName.endsWith("1")) + return 300; + else if (clsName.endsWith("2")) + return 400; + else if (clsName.endsWith("InnerClass")) + return 500; + else + return -500; + } + + @Override public int fieldId(int typeId, String fieldName) { + return 0; + } + }, Arrays.asList( + new BinaryTypeConfiguration("org.apache.ignite.internal.binary.test.*"), + new BinaryTypeConfiguration("unknown.*") + )); + + BinaryContext ctx = portableContext(marsh); + + Map typeMappers = U.field(ctx, "typeMappers"); + + assertEquals(3, typeMappers.size()); + + assertEquals(300, typeMappers.get("GridPortableTestClass1").typeId("GridPortableTestClass1")); + assertEquals(400, typeMappers.get("GridPortableTestClass2").typeId("GridPortableTestClass2")); + assertEquals(500, typeMappers.get("InnerClass").typeId("InnerClass")); + } + + /** + * @throws Exception If failed. + */ + public void testOverride() throws Exception { + BinaryTypeConfiguration typeCfg = new BinaryTypeConfiguration(); + + typeCfg.setTypeName("GridPortableTestClass2"); + typeCfg.setIdMapper(new BinaryIdMapper() { + @Override public int typeId(String clsName) { + return 100; + } + + @Override public int fieldId(int typeId, String fieldName) { + return 0; + } + }); + + BinaryMarshaller marsh = portableMarshaller(Arrays.asList( + new BinaryTypeConfiguration("org.apache.ignite.internal.binary.test.*"), + typeCfg)); + + BinaryContext ctx = portableContext(marsh); + + Map typeIds = U.field(ctx, "userTypes"); + + assertEquals(3, typeIds.size()); + + assertTrue(typeIds.containsKey("gridportabletestclass1".hashCode())); + assertTrue(typeIds.containsKey("innerclass".hashCode())); + assertFalse(typeIds.containsKey("gridportabletestclass2".hashCode())); + + Map typeMappers = U.field(ctx, "typeMappers"); + + assertEquals(100, typeMappers.get("GridPortableTestClass2").typeId("GridPortableTestClass2")); + } + + /** + * @throws Exception If failed. + */ + public void testClassNamesJar() throws Exception { + BinaryMarshaller marsh = portableMarshaller(Arrays.asList( + new BinaryTypeConfiguration("org.apache.ignite.binary.testjar.*"), + new BinaryTypeConfiguration("unknown.*") + )); + + BinaryContext ctx = portableContext(marsh); + + Map typeIds = U.field(ctx, "userTypes"); + + assertEquals(3, typeIds.size()); + + assertTrue(typeIds.containsKey("gridportabletestclass1".hashCode())); + assertTrue(typeIds.containsKey("gridportabletestclass2".hashCode())); + } + + /** + * @throws Exception If failed. + */ + public void testClassNamesWithMapperJar() throws Exception { + BinaryMarshaller marsh = portableMarshaller(new BinaryIdMapper() { + @SuppressWarnings("IfMayBeConditional") + @Override public int typeId(String clsName) { + if (clsName.endsWith("1")) + return 300; + else if (clsName.endsWith("2")) + return 400; + else + return -500; + } + + @Override public int fieldId(int typeId, String fieldName) { + return 0; + } + }, Arrays.asList( + new BinaryTypeConfiguration("org.apache.ignite.binary.testjar.*"), + new BinaryTypeConfiguration("unknown.*") + )); + + BinaryContext ctx = portableContext(marsh); + + Map typeMappers = U.field(ctx, "typeMappers"); + + assertEquals(3, typeMappers.size()); + + assertEquals(300, typeMappers.get("GridPortableTestClass1").typeId("GridPortableTestClass1")); + assertEquals(400, typeMappers.get("GridPortableTestClass2").typeId("GridPortableTestClass2")); + } + + /** + * @throws Exception If failed. + */ + public void testTypeConfigurationsJar() throws Exception { + BinaryMarshaller marsh = portableMarshaller(Arrays.asList( + new BinaryTypeConfiguration("org.apache.ignite.binary.testjar.*"), + new BinaryTypeConfiguration("unknown.*") + )); + + BinaryContext ctx = portableContext(marsh); + + Map typeIds = U.field(ctx, "userTypes"); + + assertEquals(3, typeIds.size()); + + assertTrue(typeIds.containsKey("gridportabletestclass1".hashCode())); + assertTrue(typeIds.containsKey("gridportabletestclass2".hashCode())); + } + + /** + * @throws Exception If failed. + */ + public void testTypeConfigurationsWithGlobalMapperJar() throws Exception { + BinaryMarshaller marsh = portableMarshaller(new BinaryIdMapper() { + @SuppressWarnings("IfMayBeConditional") + @Override public int typeId(String clsName) { + if (clsName.endsWith("1")) + return 300; + else if (clsName.endsWith("2")) + return 400; + else + return -500; + } + + @Override public int fieldId(int typeId, String fieldName) { + return 0; + } + }, Arrays.asList( + new BinaryTypeConfiguration("org.apache.ignite.binary.testjar.*"), + new BinaryTypeConfiguration("unknown.*") + )); + + BinaryContext ctx = portableContext(marsh); + + Map typeMappers = U.field(ctx, "typeMappers"); + + assertEquals(3, typeMappers.size()); + + assertEquals(300, typeMappers.get("GridPortableTestClass1").typeId("GridPortableTestClass1")); + assertEquals(400, typeMappers.get("GridPortableTestClass2").typeId("GridPortableTestClass2")); + } + + /** + * @throws Exception If failed. + */ + public void testTypeConfigurationsWithNonGlobalMapperJar() throws Exception { + BinaryMarshaller marsh = portableMarshaller(new BinaryIdMapper() { + @SuppressWarnings("IfMayBeConditional") + @Override public int typeId(String clsName) { + if (clsName.endsWith("1")) + return 300; + else if (clsName.endsWith("2")) + return 400; + else + return -500; + } + + @Override public int fieldId(int typeId, String fieldName) { + return 0; + } + }, Arrays.asList( + new BinaryTypeConfiguration("org.apache.ignite.binary.testjar.*"), + new BinaryTypeConfiguration("unknown.*") + )); + + BinaryContext ctx = portableContext(marsh); + + Map typeMappers = U.field(ctx, "typeMappers"); + + assertEquals(3, typeMappers.size()); + + assertEquals(300, typeMappers.get("GridPortableTestClass1").typeId("GridPortableTestClass1")); + assertEquals(400, typeMappers.get("GridPortableTestClass2").typeId("GridPortableTestClass2")); + } + + /** + * @throws Exception If failed. + */ + public void testOverrideJar() throws Exception { + BinaryTypeConfiguration typeCfg = new BinaryTypeConfiguration( + "org.apache.ignite.binary.testjar.GridPortableTestClass2"); + + typeCfg.setIdMapper(new BinaryIdMapper() { + @Override public int typeId(String clsName) { + return 100; + } + + @Override public int fieldId(int typeId, String fieldName) { + return 0; + } + }); + + BinaryMarshaller marsh = portableMarshaller(Arrays.asList( + new BinaryTypeConfiguration("org.apache.ignite.binary.testjar.*"), + typeCfg)); + + BinaryContext ctx = portableContext(marsh); + + Map typeIds = U.field(ctx, "userTypes"); + + assertEquals(3, typeIds.size()); + + assertTrue(typeIds.containsKey("gridportabletestclass1".hashCode())); + + Map typeMappers = U.field(ctx, "typeMappers"); + + assertEquals(3, typeMappers.size()); + + assertEquals(100, typeMappers.get("GridPortableTestClass2").typeId("GridPortableTestClass2")); + } + + /** + * @param marsh Marshaller. + * @return Portable context. + */ + protected BinaryContext portableContext(BinaryMarshaller marsh) { + GridBinaryMarshaller impl = U.field(marsh, "impl"); + + return impl.context(); + } + + /** + * + */ + protected BinaryMarshaller portableMarshaller() + throws IgniteCheckedException { + return portableMarshaller(null, null, null); + } + + /** + * + */ + protected BinaryMarshaller portableMarshaller(Collection cfgs) + throws IgniteCheckedException { + return portableMarshaller(null, null, cfgs); + } + + /** + * + */ + protected BinaryMarshaller portableMarshaller(BinaryIdMapper mapper, Collection cfgs) + throws IgniteCheckedException { + return portableMarshaller(mapper, null, cfgs); + } + + /** + * + */ + protected BinaryMarshaller portableMarshaller(BinarySerializer serializer, Collection cfgs) + throws IgniteCheckedException { + return portableMarshaller(null, serializer, cfgs); + } + + protected BinaryMarshaller portableMarshaller( + BinaryIdMapper mapper, + BinarySerializer serializer, + Collection cfgs + ) throws IgniteCheckedException { + IgniteConfiguration iCfg = new IgniteConfiguration(); + + BinaryConfiguration bCfg = new BinaryConfiguration(); + + bCfg.setIdMapper(mapper); + bCfg.setSerializer(serializer); + + bCfg.setTypeConfigurations(cfgs); + + iCfg.setBinaryConfiguration(bCfg); + + BinaryContext ctx = new BinaryContext(BinaryNoopMetadataHandler.instance(), iCfg); + + BinaryMarshaller marsh = new BinaryMarshaller(); + + marsh.setContext(new MarshallerContextTestImpl(null)); + + IgniteUtils.invoke(BinaryMarshaller.class, marsh, "setPortableContext", ctx, iCfg); + + return marsh; + } +} http://git-wip-us.apache.org/repos/asf/ignite/blob/469bf6d6/modules/core/src/test/java/org/apache/ignite/internal/binary/GridPortableMetaDataSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/binary/GridPortableMetaDataSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/binary/GridPortableMetaDataSelfTest.java deleted file mode 100644 index 5d74e12..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/binary/GridPortableMetaDataSelfTest.java +++ /dev/null @@ -1,371 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.internal.binary; - -import java.math.BigDecimal; -import java.util.Arrays; -import java.util.Collection; -import java.util.Date; -import java.util.HashMap; -import org.apache.ignite.IgniteBinary; -import org.apache.ignite.configuration.BinaryConfiguration; -import org.apache.ignite.configuration.CacheConfiguration; -import org.apache.ignite.configuration.IgniteConfiguration; -import org.apache.ignite.binary.BinaryObjectException; -import org.apache.ignite.binary.Binarylizable; -import org.apache.ignite.binary.BinaryType; -import org.apache.ignite.binary.BinaryObject; -import org.apache.ignite.binary.BinaryRawWriter; -import org.apache.ignite.binary.BinaryReader; -import org.apache.ignite.binary.BinaryWriter; -import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; - -/** - * Portable meta data test. - */ -public class GridPortableMetaDataSelfTest extends GridCommonAbstractTest { - /** */ - private static int idx; - - /** {@inheritDoc} */ - @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception { - IgniteConfiguration cfg = super.getConfiguration(gridName); - - BinaryConfiguration bCfg = new BinaryConfiguration(); - - bCfg.setClassNames(Arrays.asList(TestObject1.class.getName(), TestObject2.class.getName())); - - cfg.setBinaryConfiguration(bCfg); - - cfg.setMarshaller(new BinaryMarshaller()); - - CacheConfiguration ccfg = new CacheConfiguration(); - - cfg.setCacheConfiguration(ccfg); - - return cfg; - } - - /** {@inheritDoc} */ - @Override protected void beforeTest() throws Exception { - idx = 0; - - startGrid(); - } - - /** {@inheritDoc} */ - @Override protected void afterTest() throws Exception { - stopGrid(); - } - - /** - * @return Portables API. - */ - protected IgniteBinary portables() { - return grid().binary(); - } - - /** - * @throws Exception If failed. - */ - public void testGetAll() throws Exception { - portables().toBinary(new TestObject2()); - - Collection metas = portables().types(); - - assertEquals(2, metas.size()); - - for (BinaryType meta : metas) { - Collection fields; - - switch (meta.typeName()) { - case "TestObject1": - fields = meta.fieldNames(); - - assertEquals(7, fields.size()); - - assertTrue(fields.contains("intVal")); - assertTrue(fields.contains("strVal")); - assertTrue(fields.contains("arrVal")); - assertTrue(fields.contains("obj1Val")); - assertTrue(fields.contains("obj2Val")); - assertTrue(fields.contains("decVal")); - assertTrue(fields.contains("decArrVal")); - - assertEquals("int", meta.fieldTypeName("intVal")); - assertEquals("String", meta.fieldTypeName("strVal")); - assertEquals("byte[]", meta.fieldTypeName("arrVal")); - assertEquals("Object", meta.fieldTypeName("obj1Val")); - assertEquals("Object", meta.fieldTypeName("obj2Val")); - assertEquals("decimal", meta.fieldTypeName("decVal")); - assertEquals("decimal[]", meta.fieldTypeName("decArrVal")); - - break; - - case "TestObject2": - fields = meta.fieldNames(); - - assertEquals(7, fields.size()); - - assertTrue(fields.contains("boolVal")); - assertTrue(fields.contains("dateVal")); - assertTrue(fields.contains("uuidArrVal")); - assertTrue(fields.contains("objVal")); - assertTrue(fields.contains("mapVal")); - assertTrue(fields.contains("decVal")); - assertTrue(fields.contains("decArrVal")); - - assertEquals("boolean", meta.fieldTypeName("boolVal")); - assertEquals("Date", meta.fieldTypeName("dateVal")); - assertEquals("UUID[]", meta.fieldTypeName("uuidArrVal")); - assertEquals("Object", meta.fieldTypeName("objVal")); - assertEquals("Map", meta.fieldTypeName("mapVal")); - assertEquals("decimal", meta.fieldTypeName("decVal")); - assertEquals("decimal[]", meta.fieldTypeName("decArrVal")); - - break; - - default: - assert false : meta.typeName(); - } - } - } - - /** - * @throws Exception If failed. - */ - public void testNoConfiguration() throws Exception { - portables().toBinary(new TestObject3()); - - assertNotNull(portables().type(TestObject3.class)); - } - - /** - * @throws Exception If failed. - */ - public void testReflection() throws Exception { - BinaryType meta = portables().type(TestObject1.class); - - assertNotNull(meta); - - assertEquals("TestObject1", meta.typeName()); - - Collection fields = meta.fieldNames(); - - assertEquals(7, fields.size()); - - assertTrue(fields.contains("intVal")); - assertTrue(fields.contains("strVal")); - assertTrue(fields.contains("arrVal")); - assertTrue(fields.contains("obj1Val")); - assertTrue(fields.contains("obj2Val")); - assertTrue(fields.contains("decVal")); - assertTrue(fields.contains("decArrVal")); - - assertEquals("int", meta.fieldTypeName("intVal")); - assertEquals("String", meta.fieldTypeName("strVal")); - assertEquals("byte[]", meta.fieldTypeName("arrVal")); - assertEquals("Object", meta.fieldTypeName("obj1Val")); - assertEquals("Object", meta.fieldTypeName("obj2Val")); - assertEquals("decimal", meta.fieldTypeName("decVal")); - assertEquals("decimal[]", meta.fieldTypeName("decArrVal")); - } - - /** - * @throws Exception If failed. - */ - public void testPortableMarshalAware() throws Exception { - portables().toBinary(new TestObject2()); - - BinaryType meta = portables().type(TestObject2.class); - - assertNotNull(meta); - - assertEquals("TestObject2", meta.typeName()); - - Collection fields = meta.fieldNames(); - - assertEquals(7, fields.size()); - - assertTrue(fields.contains("boolVal")); - assertTrue(fields.contains("dateVal")); - assertTrue(fields.contains("uuidArrVal")); - assertTrue(fields.contains("objVal")); - assertTrue(fields.contains("mapVal")); - assertTrue(fields.contains("decVal")); - assertTrue(fields.contains("decArrVal")); - - assertEquals("boolean", meta.fieldTypeName("boolVal")); - assertEquals("Date", meta.fieldTypeName("dateVal")); - assertEquals("UUID[]", meta.fieldTypeName("uuidArrVal")); - assertEquals("Object", meta.fieldTypeName("objVal")); - assertEquals("Map", meta.fieldTypeName("mapVal")); - assertEquals("decimal", meta.fieldTypeName("decVal")); - assertEquals("decimal[]", meta.fieldTypeName("decArrVal")); - } - - /** - * @throws Exception If failed. - */ - public void testMerge() throws Exception { - portables().toBinary(new TestObject2()); - - idx = 1; - - portables().toBinary(new TestObject2()); - - BinaryType meta = portables().type(TestObject2.class); - - assertNotNull(meta); - - assertEquals("TestObject2", meta.typeName()); - - Collection fields = meta.fieldNames(); - - assertEquals(9, fields.size()); - - assertTrue(fields.contains("boolVal")); - assertTrue(fields.contains("dateVal")); - assertTrue(fields.contains("uuidArrVal")); - assertTrue(fields.contains("objVal")); - assertTrue(fields.contains("mapVal")); - assertTrue(fields.contains("charVal")); - assertTrue(fields.contains("colVal")); - assertTrue(fields.contains("decVal")); - assertTrue(fields.contains("decArrVal")); - - assertEquals("boolean", meta.fieldTypeName("boolVal")); - assertEquals("Date", meta.fieldTypeName("dateVal")); - assertEquals("UUID[]", meta.fieldTypeName("uuidArrVal")); - assertEquals("Object", meta.fieldTypeName("objVal")); - assertEquals("Map", meta.fieldTypeName("mapVal")); - assertEquals("char", meta.fieldTypeName("charVal")); - assertEquals("Collection", meta.fieldTypeName("colVal")); - assertEquals("decimal", meta.fieldTypeName("decVal")); - assertEquals("decimal[]", meta.fieldTypeName("decArrVal")); - } - - /** - * @throws Exception If failed. - */ - public void testSerializedObject() throws Exception { - TestObject1 obj = new TestObject1(); - - obj.intVal = 10; - obj.strVal = "str"; - obj.arrVal = new byte[] {2, 4, 6}; - obj.obj1Val = null; - obj.obj2Val = new TestObject2(); - obj.decVal = BigDecimal.ZERO; - obj.decArrVal = new BigDecimal[] { BigDecimal.ONE }; - - BinaryObject po = portables().toBinary(obj); - - info(po.toString()); - - BinaryType meta = po.type(); - - assertNotNull(meta); - - assertEquals("TestObject1", meta.typeName()); - - Collection fields = meta.fieldNames(); - - assertEquals(7, fields.size()); - - assertTrue(fields.contains("intVal")); - assertTrue(fields.contains("strVal")); - assertTrue(fields.contains("arrVal")); - assertTrue(fields.contains("obj1Val")); - assertTrue(fields.contains("obj2Val")); - assertTrue(fields.contains("decVal")); - assertTrue(fields.contains("decArrVal")); - - assertEquals("int", meta.fieldTypeName("intVal")); - assertEquals("String", meta.fieldTypeName("strVal")); - assertEquals("byte[]", meta.fieldTypeName("arrVal")); - assertEquals("Object", meta.fieldTypeName("obj1Val")); - assertEquals("Object", meta.fieldTypeName("obj2Val")); - assertEquals("decimal", meta.fieldTypeName("decVal")); - assertEquals("decimal[]", meta.fieldTypeName("decArrVal")); - } - - /** - */ - @SuppressWarnings("UnusedDeclaration") - private static class TestObject1 { - /** */ - private int intVal; - - /** */ - private String strVal; - - /** */ - private byte[] arrVal; - - /** */ - private TestObject1 obj1Val; - - /** */ - private TestObject2 obj2Val; - - /** */ - private BigDecimal decVal; - - /** */ - private BigDecimal[] decArrVal; - } - - /** - */ - private static class TestObject2 implements Binarylizable { - /** {@inheritDoc} */ - @Override public void writeBinary(BinaryWriter writer) throws BinaryObjectException { - writer.writeBoolean("boolVal", false); - writer.writeDate("dateVal", new Date()); - writer.writeUuidArray("uuidArrVal", null); - writer.writeObject("objVal", null); - writer.writeMap("mapVal", new HashMap<>()); - writer.writeDecimal("decVal", BigDecimal.ZERO); - writer.writeDecimalArray("decArrVal", new BigDecimal[] { BigDecimal.ONE }); - - if (idx == 1) { - writer.writeChar("charVal", (char)0); - writer.writeCollection("colVal", null); - } - - BinaryRawWriter raw = writer.rawWriter(); - - raw.writeChar((char)0); - raw.writeCollection(null); - } - - /** {@inheritDoc} */ - @Override public void readBinary(BinaryReader reader) throws BinaryObjectException { - // No-op. - } - } - - /** - */ - @SuppressWarnings("UnusedDeclaration") - private static class TestObject3 { - /** */ - private int intVal; - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/469bf6d6/modules/core/src/test/java/org/apache/ignite/internal/binary/GridPortableWildcardsSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/binary/GridPortableWildcardsSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/binary/GridPortableWildcardsSelfTest.java deleted file mode 100644 index 9226272..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/binary/GridPortableWildcardsSelfTest.java +++ /dev/null @@ -1,464 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.internal.binary; - -import java.util.Collection; -import org.apache.ignite.IgniteCheckedException; -import org.apache.ignite.binary.BinaryIdMapper; -import org.apache.ignite.binary.BinarySerializer; -import org.apache.ignite.binary.BinaryTypeConfiguration; -import org.apache.ignite.configuration.BinaryConfiguration; -import org.apache.ignite.configuration.IgniteConfiguration; -import org.apache.ignite.internal.util.IgniteUtils; -import org.apache.ignite.internal.util.typedef.internal.U; -import org.apache.ignite.marshaller.MarshallerContextTestImpl; -import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; - -import java.util.Arrays; -import java.util.Map; - -/** - * Wildcards test. - */ -public class GridPortableWildcardsSelfTest extends GridCommonAbstractTest { - /** - * @throws Exception If failed. - */ - public void testClassNames() throws Exception { - BinaryMarshaller marsh = portableMarshaller(Arrays.asList( - new BinaryTypeConfiguration("org.apache.ignite.internal.binary.test.*"), - new BinaryTypeConfiguration("unknown.*") - )); - - BinaryContext ctx = portableContext(marsh); - - Map typeIds = U.field(ctx, "userTypes"); - - assertEquals(3, typeIds.size()); - - assertTrue(typeIds.containsKey("gridportabletestclass1".hashCode())); - assertTrue(typeIds.containsKey("gridportabletestclass2".hashCode())); - assertTrue(typeIds.containsKey("innerclass".hashCode())); - } - - /** - * @throws Exception If failed. - */ - public void testClassNamesWithMapper() throws Exception { - BinaryMarshaller marsh = portableMarshaller(new BinaryIdMapper() { - @SuppressWarnings("IfMayBeConditional") - @Override public int typeId(String clsName) { - if (clsName.endsWith("1")) - return 300; - else if (clsName.endsWith("2")) - return 400; - else if (clsName.endsWith("InnerClass")) - return 500; - else - return -500; - } - - @Override public int fieldId(int typeId, String fieldName) { - return 0; - } - }, Arrays.asList( - new BinaryTypeConfiguration("org.apache.ignite.internal.binary.test.*"), - new BinaryTypeConfiguration("unknown.*") - )); - - BinaryContext ctx = portableContext(marsh); - - Map typeMappers = U.field(ctx, "typeMappers"); - - assertEquals(3, typeMappers.size()); - - assertEquals(300, typeMappers.get("GridPortableTestClass1").typeId("GridPortableTestClass1")); - assertEquals(400, typeMappers.get("GridPortableTestClass2").typeId("GridPortableTestClass2")); - assertEquals(500, typeMappers.get("InnerClass").typeId("InnerClass")); - } - - /** - * @throws Exception If failed. - */ - public void testTypeConfigurations() throws Exception { - BinaryMarshaller marsh = portableMarshaller(Arrays.asList( - new BinaryTypeConfiguration("org.apache.ignite.internal.binary.test.*"), - new BinaryTypeConfiguration("unknown.*") - )); - - BinaryContext ctx = portableContext(marsh); - - Map typeIds = U.field(ctx, "userTypes"); - - assertEquals(3, typeIds.size()); - - assertTrue(typeIds.containsKey("gridportabletestclass1".hashCode())); - assertTrue(typeIds.containsKey("gridportabletestclass2".hashCode())); - assertTrue(typeIds.containsKey("innerclass".hashCode())); - } - - /** - * @throws Exception If failed. - */ - public void testTypeConfigurationsWithGlobalMapper() throws Exception { - BinaryMarshaller marsh = portableMarshaller(new BinaryIdMapper() { - @SuppressWarnings("IfMayBeConditional") - @Override public int typeId(String clsName) { - if (clsName.endsWith("1")) - return 300; - else if (clsName.endsWith("2")) - return 400; - else if (clsName.endsWith("InnerClass")) - return 500; - else - return -500; - } - - @Override public int fieldId(int typeId, String fieldName) { - return 0; - } - }, Arrays.asList( - new BinaryTypeConfiguration("org.apache.ignite.internal.binary.test.*"), - new BinaryTypeConfiguration("unknown.*") - )); - - BinaryContext ctx = portableContext(marsh); - - Map typeMappers = U.field(ctx, "typeMappers"); - - assertEquals(3, typeMappers.size()); - - assertEquals(300, typeMappers.get("GridPortableTestClass1").typeId("GridPortableTestClass1")); - assertEquals(400, typeMappers.get("GridPortableTestClass2").typeId("GridPortableTestClass2")); - assertEquals(500, typeMappers.get("InnerClass").typeId("InnerClass")); - } - - /** - * @throws Exception If failed. - */ - public void testTypeConfigurationsWithNonGlobalMapper() throws Exception { - BinaryMarshaller marsh = portableMarshaller(new BinaryIdMapper() { - @SuppressWarnings("IfMayBeConditional") - @Override public int typeId(String clsName) { - if (clsName.endsWith("1")) - return 300; - else if (clsName.endsWith("2")) - return 400; - else if (clsName.endsWith("InnerClass")) - return 500; - else - return -500; - } - - @Override public int fieldId(int typeId, String fieldName) { - return 0; - } - }, Arrays.asList( - new BinaryTypeConfiguration("org.apache.ignite.internal.binary.test.*"), - new BinaryTypeConfiguration("unknown.*") - )); - - BinaryContext ctx = portableContext(marsh); - - Map typeMappers = U.field(ctx, "typeMappers"); - - assertEquals(3, typeMappers.size()); - - assertEquals(300, typeMappers.get("GridPortableTestClass1").typeId("GridPortableTestClass1")); - assertEquals(400, typeMappers.get("GridPortableTestClass2").typeId("GridPortableTestClass2")); - assertEquals(500, typeMappers.get("InnerClass").typeId("InnerClass")); - } - - /** - * @throws Exception If failed. - */ - public void testOverride() throws Exception { - BinaryTypeConfiguration typeCfg = new BinaryTypeConfiguration(); - - typeCfg.setTypeName("GridPortableTestClass2"); - typeCfg.setIdMapper(new BinaryIdMapper() { - @Override public int typeId(String clsName) { - return 100; - } - - @Override public int fieldId(int typeId, String fieldName) { - return 0; - } - }); - - BinaryMarshaller marsh = portableMarshaller(Arrays.asList( - new BinaryTypeConfiguration("org.apache.ignite.internal.binary.test.*"), - typeCfg)); - - BinaryContext ctx = portableContext(marsh); - - Map typeIds = U.field(ctx, "userTypes"); - - assertEquals(3, typeIds.size()); - - assertTrue(typeIds.containsKey("gridportabletestclass1".hashCode())); - assertTrue(typeIds.containsKey("innerclass".hashCode())); - assertFalse(typeIds.containsKey("gridportabletestclass2".hashCode())); - - Map typeMappers = U.field(ctx, "typeMappers"); - - assertEquals(100, typeMappers.get("GridPortableTestClass2").typeId("GridPortableTestClass2")); - } - - /** - * @throws Exception If failed. - */ - public void testClassNamesJar() throws Exception { - BinaryMarshaller marsh = portableMarshaller(Arrays.asList( - new BinaryTypeConfiguration("org.apache.ignite.binary.testjar.*"), - new BinaryTypeConfiguration("unknown.*") - )); - - BinaryContext ctx = portableContext(marsh); - - Map typeIds = U.field(ctx, "userTypes"); - - assertEquals(3, typeIds.size()); - - assertTrue(typeIds.containsKey("gridportabletestclass1".hashCode())); - assertTrue(typeIds.containsKey("gridportabletestclass2".hashCode())); - } - - /** - * @throws Exception If failed. - */ - public void testClassNamesWithMapperJar() throws Exception { - BinaryMarshaller marsh = portableMarshaller(new BinaryIdMapper() { - @SuppressWarnings("IfMayBeConditional") - @Override public int typeId(String clsName) { - if (clsName.endsWith("1")) - return 300; - else if (clsName.endsWith("2")) - return 400; - else - return -500; - } - - @Override public int fieldId(int typeId, String fieldName) { - return 0; - } - }, Arrays.asList( - new BinaryTypeConfiguration("org.apache.ignite.binary.testjar.*"), - new BinaryTypeConfiguration("unknown.*") - )); - - BinaryContext ctx = portableContext(marsh); - - Map typeMappers = U.field(ctx, "typeMappers"); - - assertEquals(3, typeMappers.size()); - - assertEquals(300, typeMappers.get("GridPortableTestClass1").typeId("GridPortableTestClass1")); - assertEquals(400, typeMappers.get("GridPortableTestClass2").typeId("GridPortableTestClass2")); - } - - /** - * @throws Exception If failed. - */ - public void testTypeConfigurationsJar() throws Exception { - BinaryMarshaller marsh = portableMarshaller(Arrays.asList( - new BinaryTypeConfiguration("org.apache.ignite.binary.testjar.*"), - new BinaryTypeConfiguration("unknown.*") - )); - - BinaryContext ctx = portableContext(marsh); - - Map typeIds = U.field(ctx, "userTypes"); - - assertEquals(3, typeIds.size()); - - assertTrue(typeIds.containsKey("gridportabletestclass1".hashCode())); - assertTrue(typeIds.containsKey("gridportabletestclass2".hashCode())); - } - - /** - * @throws Exception If failed. - */ - public void testTypeConfigurationsWithGlobalMapperJar() throws Exception { - BinaryMarshaller marsh = portableMarshaller(new BinaryIdMapper() { - @SuppressWarnings("IfMayBeConditional") - @Override public int typeId(String clsName) { - if (clsName.endsWith("1")) - return 300; - else if (clsName.endsWith("2")) - return 400; - else - return -500; - } - - @Override public int fieldId(int typeId, String fieldName) { - return 0; - } - }, Arrays.asList( - new BinaryTypeConfiguration("org.apache.ignite.binary.testjar.*"), - new BinaryTypeConfiguration("unknown.*") - )); - - BinaryContext ctx = portableContext(marsh); - - Map typeMappers = U.field(ctx, "typeMappers"); - - assertEquals(3, typeMappers.size()); - - assertEquals(300, typeMappers.get("GridPortableTestClass1").typeId("GridPortableTestClass1")); - assertEquals(400, typeMappers.get("GridPortableTestClass2").typeId("GridPortableTestClass2")); - } - - /** - * @throws Exception If failed. - */ - public void testTypeConfigurationsWithNonGlobalMapperJar() throws Exception { - BinaryMarshaller marsh = portableMarshaller(new BinaryIdMapper() { - @SuppressWarnings("IfMayBeConditional") - @Override public int typeId(String clsName) { - if (clsName.endsWith("1")) - return 300; - else if (clsName.endsWith("2")) - return 400; - else - return -500; - } - - @Override public int fieldId(int typeId, String fieldName) { - return 0; - } - }, Arrays.asList( - new BinaryTypeConfiguration("org.apache.ignite.binary.testjar.*"), - new BinaryTypeConfiguration("unknown.*") - )); - - BinaryContext ctx = portableContext(marsh); - - Map typeMappers = U.field(ctx, "typeMappers"); - - assertEquals(3, typeMappers.size()); - - assertEquals(300, typeMappers.get("GridPortableTestClass1").typeId("GridPortableTestClass1")); - assertEquals(400, typeMappers.get("GridPortableTestClass2").typeId("GridPortableTestClass2")); - } - - /** - * @throws Exception If failed. - */ - public void testOverrideJar() throws Exception { - BinaryTypeConfiguration typeCfg = new BinaryTypeConfiguration( - "org.apache.ignite.binary.testjar.GridPortableTestClass2"); - - typeCfg.setIdMapper(new BinaryIdMapper() { - @Override public int typeId(String clsName) { - return 100; - } - - @Override public int fieldId(int typeId, String fieldName) { - return 0; - } - }); - - BinaryMarshaller marsh = portableMarshaller(Arrays.asList( - new BinaryTypeConfiguration("org.apache.ignite.binary.testjar.*"), - typeCfg)); - - BinaryContext ctx = portableContext(marsh); - - Map typeIds = U.field(ctx, "userTypes"); - - assertEquals(3, typeIds.size()); - - assertTrue(typeIds.containsKey("gridportabletestclass1".hashCode())); - - Map typeMappers = U.field(ctx, "typeMappers"); - - assertEquals(3, typeMappers.size()); - - assertEquals(100, typeMappers.get("GridPortableTestClass2").typeId("GridPortableTestClass2")); - } - - /** - * @param marsh Marshaller. - * @return Portable context. - */ - protected BinaryContext portableContext(BinaryMarshaller marsh) { - GridBinaryMarshaller impl = U.field(marsh, "impl"); - - return impl.context(); - } - - /** - * - */ - protected BinaryMarshaller portableMarshaller() - throws IgniteCheckedException { - return portableMarshaller(null, null, null); - } - - /** - * - */ - protected BinaryMarshaller portableMarshaller(Collection cfgs) - throws IgniteCheckedException { - return portableMarshaller(null, null, cfgs); - } - - /** - * - */ - protected BinaryMarshaller portableMarshaller(BinaryIdMapper mapper, Collection cfgs) - throws IgniteCheckedException { - return portableMarshaller(mapper, null, cfgs); - } - - /** - * - */ - protected BinaryMarshaller portableMarshaller(BinarySerializer serializer, Collection cfgs) - throws IgniteCheckedException { - return portableMarshaller(null, serializer, cfgs); - } - - protected BinaryMarshaller portableMarshaller( - BinaryIdMapper mapper, - BinarySerializer serializer, - Collection cfgs - ) throws IgniteCheckedException { - IgniteConfiguration iCfg = new IgniteConfiguration(); - - BinaryConfiguration bCfg = new BinaryConfiguration(); - - bCfg.setIdMapper(mapper); - bCfg.setSerializer(serializer); - - bCfg.setTypeConfigurations(cfgs); - - iCfg.setBinaryConfiguration(bCfg); - - BinaryContext ctx = new BinaryContext(BinaryNoopMetadataHandler.instance(), iCfg); - - BinaryMarshaller marsh = new BinaryMarshaller(); - - marsh.setContext(new MarshallerContextTestImpl(null)); - - IgniteUtils.invoke(BinaryMarshaller.class, marsh, "setPortableContext", ctx, iCfg); - - return marsh; - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/469bf6d6/modules/core/src/test/java/org/apache/ignite/internal/binary/mutabletest/GridBinaryTestClasses.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/binary/mutabletest/GridBinaryTestClasses.java b/modules/core/src/test/java/org/apache/ignite/internal/binary/mutabletest/GridBinaryTestClasses.java new file mode 100644 index 0000000..0170f99 --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/binary/mutabletest/GridBinaryTestClasses.java @@ -0,0 +1,484 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.internal.binary.mutabletest; + +import com.google.common.base.Throwables; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.ObjectOutput; +import java.io.ObjectOutputStream; +import java.io.Serializable; +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.UUID; + +import org.apache.ignite.binary.BinaryMapFactory; +import org.apache.ignite.binary.BinaryObjectException; +import org.apache.ignite.binary.BinaryReader; +import org.apache.ignite.binary.BinaryWriter; +import org.apache.ignite.binary.Binarylizable; +import org.apache.ignite.internal.util.lang.GridMapEntry; +import org.apache.ignite.binary.BinaryObject; + +/** + * + */ +@SuppressWarnings({"PublicInnerClass", "PublicField"}) +public class GridBinaryTestClasses { + /** + * + */ + public static class TestObjectContainer { + /** */ + public Object foo; + + /** + * + */ + public TestObjectContainer() { + // No-op. + } + + /** + * @param foo Object. + */ + public TestObjectContainer(Object foo) { + this.foo = foo; + } + } + + /** + * + */ + public static class TestObjectOuter { + /** */ + public TestObjectInner inner; + + /** */ + public String foo; + + /** + * + */ + public TestObjectOuter() { + + } + + /** + * @param inner Inner object. + */ + public TestObjectOuter(TestObjectInner inner) { + this.inner = inner; + } + } + + /** */ + public static class TestObjectInner { + /** */ + public Object foo; + + /** */ + public TestObjectOuter outer; + } + + /** */ + public static class TestObjectArrayList { + /** */ + public List list = new ArrayList<>(); + } + + /** + * + */ + public static class TestObjectPlainPortable { + /** */ + public BinaryObject plainPortable; + + /** + * + */ + public TestObjectPlainPortable() { + // No-op. + } + + /** + * @param plainPortable Object. + */ + public TestObjectPlainPortable(BinaryObject plainPortable) { + this.plainPortable = plainPortable; + } + } + + /** + * + */ + public static class TestObjectAllTypes implements Serializable { + /** */ + public Byte b_; + + /** */ + public Short s_; + + /** */ + public Integer i_; + + /** */ + public Long l_; + + /** */ + public Float f_; + + /** */ + public Double d_; + + /** */ + public Character c_; + + /** */ + public Boolean z_; + + /** */ + public byte b; + + /** */ + public short s; + + /** */ + public int i; + + /** */ + public long l; + + /** */ + public float f; + + /** */ + public double d; + + /** */ + public char c; + + /** */ + public boolean z; + + /** */ + public String str; + + /** */ + public UUID uuid; + + /** */ + public Date date; + + /** */ + public Timestamp ts; + + /** */ + public byte[] bArr; + + /** */ + public short[] sArr; + + /** */ + public int[] iArr; + + /** */ + public long[] lArr; + + /** */ + public float[] fArr; + + /** */ + public double[] dArr; + + /** */ + public char[] cArr; + + /** */ + public boolean[] zArr; + + /** */ + public BigDecimal[] bdArr; + + /** */ + public String[] strArr; + + /** */ + public UUID[] uuidArr; + + /** */ + public Date[] dateArr; + + /** */ + public Timestamp[] tsArr; + + /** */ + public TestObjectEnum anEnum; + + /** */ + public TestObjectEnum[] enumArr; + + /** */ + public Map.Entry entry; + + /** + * @return Array. + */ + private byte[] serialize() { + ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); + + try { + ObjectOutput out = new ObjectOutputStream(byteOut); + + out.writeObject(this); + + out.close(); + } + catch (IOException e) { + Throwables.propagate(e); + } + + return byteOut.toByteArray(); + } + + /** + * + */ + public void setDefaultData() { + b_ = 11; + s_ = 22; + i_ = 33; + l_ = 44L; + f_ = 55f; + d_ = 66d; + c_ = 'e'; + z_ = true; + + b = 1; + s = 2; + i = 3; + l = 4; + f = 5; + d = 6; + c = 7; + z = true; + + str = "abc"; + uuid = new UUID(1, 1); + date = new Date(1000000); + ts = new Timestamp(100020003); + + 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)}; + bdArr = new BigDecimal[] {new BigDecimal(1000), BigDecimal.TEN}; + dateArr = new Date[] {new Date(1000000), new Date(200000)}; + tsArr = new Timestamp[] {new Timestamp(100020003), new Timestamp(200030004)}; + + anEnum = TestObjectEnum.A; + + enumArr = new TestObjectEnum[] {TestObjectEnum.B}; + + entry = new GridMapEntry<>(1, "a"); + } + } + + /** + * + */ + public enum TestObjectEnum { + A, B, C + } + + /** + * + */ + public static class Address implements Serializable { + /** SUID. */ + private static final long serialVersionUID = 0L; + + /** City. */ + public String city; + + /** Street. */ + public String street; + + /** Street number. */ + public int streetNumber; + + /** Flat number. */ + public int flatNumber; + + /** + * Default constructor. + */ + public Address() { + // No-op. + } + + /** + * Constructor. + * + * @param city City. + * @param street Street. + * @param streetNumber Street number. + * @param flatNumber Flat number. + */ + public Address(String city, String street, int streetNumber, int flatNumber) { + this.city = city; + this.street = street; + this.streetNumber = streetNumber; + this.flatNumber = flatNumber; + } + } + + /** + * + */ + public static class Company implements Serializable { + /** SUID. */ + private static final long serialVersionUID = 0L; + + /** ID. */ + public int id; + + /** Name. */ + public String name; + + /** Size. */ + public int size; + + /** Address. */ + public Address address; + + /** Occupation. */ + public String occupation; + + /** + * Default constructor. + */ + public Company() { + // No-op. + } + + /** + * Constructor. + * + * @param id ID. + * @param name Name. + * @param size Size. + * @param address Address. + * @param occupation Occupation. + */ + public Company(int id, String name, int size, Address address, String occupation) { + this.id = id; + this.name = name; + this.size = size; + this.address = address; + this.occupation = occupation; + } + } + + /** + * Companies. + */ + public static class Companies { + /** Companies. */ + private List companies = new ArrayList<>(); + + /** + * @param idx Index. + * @return Company. + */ + public Company get(int idx) { + return companies.get(idx); + } + + /** + * @param company Company. + */ + public void add(Company company) { + companies.add(company); + } + + /** + * @return Size. + */ + public int size() { + return companies.size(); + } + } + + /** + * + */ + public static class Addresses implements Binarylizable { + /** */ + private Map companyByStreet = new TreeMap<>(); + + /** + * @param company Company. + */ + public void addCompany(Company company) { + Companies list = companyByStreet.get(company.address.street); + + if (list == null) { + list = new Companies(); + + companyByStreet.put(company.address.street, list); + } + + list.add(company); + } + + /** + * @return map + */ + public Map getCompanyByStreet() { + return companyByStreet; + } + + /** {@inheritDoc} */ + @Override public void writeBinary(BinaryWriter writer) throws BinaryObjectException { + writer.writeMap("companyByStreet", companyByStreet); + } + + /** {@inheritDoc} */ + @SuppressWarnings("unchecked") + @Override public void readBinary(BinaryReader reader) throws BinaryObjectException { + companyByStreet = reader.readMap("companyByStreet", new BinaryMapFactory() { + @Override public Map create(int size) { + return new TreeMap<>(); + } + }); + } + } +} http://git-wip-us.apache.org/repos/asf/ignite/blob/469bf6d6/modules/core/src/test/java/org/apache/ignite/internal/binary/mutabletest/GridPortableTestClasses.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/binary/mutabletest/GridPortableTestClasses.java b/modules/core/src/test/java/org/apache/ignite/internal/binary/mutabletest/GridPortableTestClasses.java deleted file mode 100644 index 3a4a4b6..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/binary/mutabletest/GridPortableTestClasses.java +++ /dev/null @@ -1,484 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.internal.binary.mutabletest; - -import com.google.common.base.Throwables; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.ObjectOutput; -import java.io.ObjectOutputStream; -import java.io.Serializable; -import java.math.BigDecimal; -import java.sql.Timestamp; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; -import java.util.UUID; - -import org.apache.ignite.binary.BinaryMapFactory; -import org.apache.ignite.binary.BinaryObjectException; -import org.apache.ignite.binary.BinaryReader; -import org.apache.ignite.binary.BinaryWriter; -import org.apache.ignite.binary.Binarylizable; -import org.apache.ignite.internal.util.lang.GridMapEntry; -import org.apache.ignite.binary.BinaryObject; - -/** - * - */ -@SuppressWarnings({"PublicInnerClass", "PublicField"}) -public class GridPortableTestClasses { - /** - * - */ - public static class TestObjectContainer { - /** */ - public Object foo; - - /** - * - */ - public TestObjectContainer() { - // No-op. - } - - /** - * @param foo Object. - */ - public TestObjectContainer(Object foo) { - this.foo = foo; - } - } - - /** - * - */ - public static class TestObjectOuter { - /** */ - public TestObjectInner inner; - - /** */ - public String foo; - - /** - * - */ - public TestObjectOuter() { - - } - - /** - * @param inner Inner object. - */ - public TestObjectOuter(TestObjectInner inner) { - this.inner = inner; - } - } - - /** */ - public static class TestObjectInner { - /** */ - public Object foo; - - /** */ - public TestObjectOuter outer; - } - - /** */ - public static class TestObjectArrayList { - /** */ - public List list = new ArrayList<>(); - } - - /** - * - */ - public static class TestObjectPlainPortable { - /** */ - public BinaryObject plainPortable; - - /** - * - */ - public TestObjectPlainPortable() { - // No-op. - } - - /** - * @param plainPortable Object. - */ - public TestObjectPlainPortable(BinaryObject plainPortable) { - this.plainPortable = plainPortable; - } - } - - /** - * - */ - public static class TestObjectAllTypes implements Serializable { - /** */ - public Byte b_; - - /** */ - public Short s_; - - /** */ - public Integer i_; - - /** */ - public Long l_; - - /** */ - public Float f_; - - /** */ - public Double d_; - - /** */ - public Character c_; - - /** */ - public Boolean z_; - - /** */ - public byte b; - - /** */ - public short s; - - /** */ - public int i; - - /** */ - public long l; - - /** */ - public float f; - - /** */ - public double d; - - /** */ - public char c; - - /** */ - public boolean z; - - /** */ - public String str; - - /** */ - public UUID uuid; - - /** */ - public Date date; - - /** */ - public Timestamp ts; - - /** */ - public byte[] bArr; - - /** */ - public short[] sArr; - - /** */ - public int[] iArr; - - /** */ - public long[] lArr; - - /** */ - public float[] fArr; - - /** */ - public double[] dArr; - - /** */ - public char[] cArr; - - /** */ - public boolean[] zArr; - - /** */ - public BigDecimal[] bdArr; - - /** */ - public String[] strArr; - - /** */ - public UUID[] uuidArr; - - /** */ - public Date[] dateArr; - - /** */ - public Timestamp[] tsArr; - - /** */ - public TestObjectEnum anEnum; - - /** */ - public TestObjectEnum[] enumArr; - - /** */ - public Map.Entry entry; - - /** - * @return Array. - */ - private byte[] serialize() { - ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); - - try { - ObjectOutput out = new ObjectOutputStream(byteOut); - - out.writeObject(this); - - out.close(); - } - catch (IOException e) { - Throwables.propagate(e); - } - - return byteOut.toByteArray(); - } - - /** - * - */ - public void setDefaultData() { - b_ = 11; - s_ = 22; - i_ = 33; - l_ = 44L; - f_ = 55f; - d_ = 66d; - c_ = 'e'; - z_ = true; - - b = 1; - s = 2; - i = 3; - l = 4; - f = 5; - d = 6; - c = 7; - z = true; - - str = "abc"; - uuid = new UUID(1, 1); - date = new Date(1000000); - ts = new Timestamp(100020003); - - 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)}; - bdArr = new BigDecimal[] {new BigDecimal(1000), BigDecimal.TEN}; - dateArr = new Date[] {new Date(1000000), new Date(200000)}; - tsArr = new Timestamp[] {new Timestamp(100020003), new Timestamp(200030004)}; - - anEnum = TestObjectEnum.A; - - enumArr = new TestObjectEnum[] {TestObjectEnum.B}; - - entry = new GridMapEntry<>(1, "a"); - } - } - - /** - * - */ - public enum TestObjectEnum { - A, B, C - } - - /** - * - */ - public static class Address implements Serializable { - /** SUID. */ - private static final long serialVersionUID = 0L; - - /** City. */ - public String city; - - /** Street. */ - public String street; - - /** Street number. */ - public int streetNumber; - - /** Flat number. */ - public int flatNumber; - - /** - * Default constructor. - */ - public Address() { - // No-op. - } - - /** - * Constructor. - * - * @param city City. - * @param street Street. - * @param streetNumber Street number. - * @param flatNumber Flat number. - */ - public Address(String city, String street, int streetNumber, int flatNumber) { - this.city = city; - this.street = street; - this.streetNumber = streetNumber; - this.flatNumber = flatNumber; - } - } - - /** - * - */ - public static class Company implements Serializable { - /** SUID. */ - private static final long serialVersionUID = 0L; - - /** ID. */ - public int id; - - /** Name. */ - public String name; - - /** Size. */ - public int size; - - /** Address. */ - public Address address; - - /** Occupation. */ - public String occupation; - - /** - * Default constructor. - */ - public Company() { - // No-op. - } - - /** - * Constructor. - * - * @param id ID. - * @param name Name. - * @param size Size. - * @param address Address. - * @param occupation Occupation. - */ - public Company(int id, String name, int size, Address address, String occupation) { - this.id = id; - this.name = name; - this.size = size; - this.address = address; - this.occupation = occupation; - } - } - - /** - * Companies. - */ - public static class Companies { - /** Companies. */ - private List companies = new ArrayList<>(); - - /** - * @param idx Index. - * @return Company. - */ - public Company get(int idx) { - return companies.get(idx); - } - - /** - * @param company Company. - */ - public void add(Company company) { - companies.add(company); - } - - /** - * @return Size. - */ - public int size() { - return companies.size(); - } - } - - /** - * - */ - public static class Addresses implements Binarylizable { - /** */ - private Map companyByStreet = new TreeMap<>(); - - /** - * @param company Company. - */ - public void addCompany(Company company) { - Companies list = companyByStreet.get(company.address.street); - - if (list == null) { - list = new Companies(); - - companyByStreet.put(company.address.street, list); - } - - list.add(company); - } - - /** - * @return map - */ - public Map getCompanyByStreet() { - return companyByStreet; - } - - /** {@inheritDoc} */ - @Override public void writeBinary(BinaryWriter writer) throws BinaryObjectException { - writer.writeMap("companyByStreet", companyByStreet); - } - - /** {@inheritDoc} */ - @SuppressWarnings("unchecked") - @Override public void readBinary(BinaryReader reader) throws BinaryObjectException { - companyByStreet = reader.readMap("companyByStreet", new BinaryMapFactory() { - @Override public Map create(int size) { - return new TreeMap<>(); - } - }); - } - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/469bf6d6/modules/core/src/test/java/org/apache/ignite/internal/binary/test/GridBinaryTestClass1.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/binary/test/GridBinaryTestClass1.java b/modules/core/src/test/java/org/apache/ignite/internal/binary/test/GridBinaryTestClass1.java new file mode 100644 index 0000000..b861a75 --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/binary/test/GridBinaryTestClass1.java @@ -0,0 +1,28 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.internal.binary.test; + +/** + */ +public class GridBinaryTestClass1 { + /** + */ + private static class InnerClass { + // No-op. + } +} http://git-wip-us.apache.org/repos/asf/ignite/blob/469bf6d6/modules/core/src/test/java/org/apache/ignite/internal/binary/test/GridBinaryTestClass2.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/binary/test/GridBinaryTestClass2.java b/modules/core/src/test/java/org/apache/ignite/internal/binary/test/GridBinaryTestClass2.java new file mode 100644 index 0000000..fc5e88c --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/binary/test/GridBinaryTestClass2.java @@ -0,0 +1,24 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.internal.binary.test; + +/** + */ +public class GridBinaryTestClass2 { + // No-op. +} http://git-wip-us.apache.org/repos/asf/ignite/blob/469bf6d6/modules/core/src/test/java/org/apache/ignite/internal/binary/test/GridPortableTestClass1.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/binary/test/GridPortableTestClass1.java b/modules/core/src/test/java/org/apache/ignite/internal/binary/test/GridPortableTestClass1.java deleted file mode 100644 index 887134a..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/binary/test/GridPortableTestClass1.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.internal.binary.test; - -/** - */ -public class GridPortableTestClass1 { - /** - */ - private static class InnerClass { - // No-op. - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/469bf6d6/modules/core/src/test/java/org/apache/ignite/internal/binary/test/GridPortableTestClass2.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/binary/test/GridPortableTestClass2.java b/modules/core/src/test/java/org/apache/ignite/internal/binary/test/GridPortableTestClass2.java deleted file mode 100644 index 3c1c506..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/binary/test/GridPortableTestClass2.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.internal.binary.test; - -/** - */ -public class GridPortableTestClass2 { - // No-op. -} http://git-wip-us.apache.org/repos/asf/ignite/blob/469bf6d6/modules/core/src/test/java/org/apache/ignite/internal/binary/test/subpackage/GridBinaryTestClass3.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/binary/test/subpackage/GridBinaryTestClass3.java b/modules/core/src/test/java/org/apache/ignite/internal/binary/test/subpackage/GridBinaryTestClass3.java new file mode 100644 index 0000000..72a5a1e --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/binary/test/subpackage/GridBinaryTestClass3.java @@ -0,0 +1,24 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.internal.binary.test.subpackage; + +/** + */ +public class GridBinaryTestClass3 { + // No-op. +} http://git-wip-us.apache.org/repos/asf/ignite/blob/469bf6d6/modules/core/src/test/java/org/apache/ignite/internal/binary/test/subpackage/GridPortableTestClass3.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/binary/test/subpackage/GridPortableTestClass3.java b/modules/core/src/test/java/org/apache/ignite/internal/binary/test/subpackage/GridPortableTestClass3.java deleted file mode 100644 index a04b586..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/binary/test/subpackage/GridPortableTestClass3.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.internal.binary.test.subpackage; - -/** - */ -public class GridPortableTestClass3 { - // No-op. -} http://git-wip-us.apache.org/repos/asf/ignite/blob/469bf6d6/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreBinariesSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreBinariesSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreBinariesSelfTest.java new file mode 100644 index 0000000..55f2da0 --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreBinariesSelfTest.java @@ -0,0 +1,66 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.ignite.internal.processors.cache.binary; + +import java.util.Map; +import org.apache.ignite.binary.BinaryObject; + +/** + * Tests for cache store with binary. + */ +public class GridCacheBinaryStoreBinariesSelfTest extends GridCacheBinaryStoreAbstractSelfTest { + /** {@inheritDoc} */ + @Override protected boolean keepPortableInStore() { + return true; + } + + /** {@inheritDoc} */ + @Override protected void populateMap(Map map, int... idxs) { + assert map != null; + assert idxs != null; + + for (int idx : idxs) + map.put(portable(new Key(idx)), portable(new Value(idx))); + } + + /** {@inheritDoc} */ + @Override protected void checkMap(Map map, int... idxs) { + assert map != null; + assert idxs != null; + + assertEquals(idxs.length, map.size()); + + for (int idx : idxs) { + Object val = map.get(portable(new Key(idx))); + + assertTrue(String.valueOf(val), val instanceof BinaryObject); + + BinaryObject po = (BinaryObject)val; + + assertEquals("Value", po.type().typeName()); + assertEquals(new Integer(idx), po.field("idx")); + } + } + + /** + * @param obj Object. + * @return Portable object. + */ + private Object portable(Object obj) { + return grid().binary().toBinary(obj); + } +} http://git-wip-us.apache.org/repos/asf/ignite/blob/469bf6d6/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStorePortablesSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStorePortablesSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStorePortablesSelfTest.java deleted file mode 100644 index db15f08..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStorePortablesSelfTest.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.ignite.internal.processors.cache.binary; - -import java.util.Map; -import org.apache.ignite.binary.BinaryObject; - -/** - * Tests for cache store with binary. - */ -public class GridCacheBinaryStorePortablesSelfTest extends GridCacheBinaryStoreAbstractSelfTest { - /** {@inheritDoc} */ - @Override protected boolean keepPortableInStore() { - return true; - } - - /** {@inheritDoc} */ - @Override protected void populateMap(Map map, int... idxs) { - assert map != null; - assert idxs != null; - - for (int idx : idxs) - map.put(portable(new Key(idx)), portable(new Value(idx))); - } - - /** {@inheritDoc} */ - @Override protected void checkMap(Map map, int... idxs) { - assert map != null; - assert idxs != null; - - assertEquals(idxs.length, map.size()); - - for (int idx : idxs) { - Object val = map.get(portable(new Key(idx))); - - assertTrue(String.valueOf(val), val instanceof BinaryObject); - - BinaryObject po = (BinaryObject)val; - - assertEquals("Value", po.type().typeName()); - assertEquals(new Integer(idx), po.field("idx")); - } - } - - /** - * @param obj Object. - * @return Portable object. - */ - private Object portable(Object obj) { - return grid().binary().toBinary(obj); - } -}