http://git-wip-us.apache.org/repos/asf/ignite/blob/71379a80/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 deleted file mode 100644 index 05df23b..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMetaDataDisabledSelfTest.java +++ /dev/null @@ -1,238 +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.portable; - -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; -import org.apache.ignite.portable.PortableTypeConfiguration; -import org.apache.ignite.portable.PortableWriter; -import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; - -/** - * Test for disabled meta data. - */ -public class GridPortableMetaDataDisabledSelfTest extends GridCommonAbstractTest { - /** */ - private PortableMarshaller marsh; - - /** {@inheritDoc} */ - @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception { - IgniteConfiguration cfg = super.getConfiguration(gridName); - - cfg.setMarshaller(marsh); - - return cfg; - } - - /** - * @return Portables. - */ - private IgnitePortables portables() { - return grid().portables(); - } - - /** - * @throws Exception If failed. - */ - public void testDisableGlobal() throws Exception { - marsh = new PortableMarshaller(); - - marsh.setClassNames(Arrays.asList( - TestObject1.class.getName(), - TestObject2.class.getName() - )); - - marsh.setMetaDataEnabled(false); - - try { - startGrid(); - - 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(); - } - } - - /** - * @throws Exception If failed. - */ - public void testDisableGlobalSimpleClass() throws Exception { - marsh = new PortableMarshaller(); - - PortableTypeConfiguration typeCfg = new PortableTypeConfiguration(TestObject2.class.getName()); - - typeCfg.setMetaDataEnabled(true); - - marsh.setTypeConfigurations(Arrays.asList( - new PortableTypeConfiguration(TestObject1.class.getName()), - typeCfg - )); - - marsh.setMetaDataEnabled(false); - - try { - startGrid(); - - portables().toPortable(new TestObject1()); - portables().toPortable(new TestObject2()); - - assertEquals(0, portables().metadata(TestObject1.class).fields().size()); - assertEquals(1, portables().metadata(TestObject2.class).fields().size()); - } - finally { - stopGrid(); - } - } - - /** - * @throws Exception If failed. - */ - public void testDisableGlobalMarshalAwareClass() throws Exception { - marsh = new PortableMarshaller(); - - PortableTypeConfiguration typeCfg = new PortableTypeConfiguration(TestObject1.class.getName()); - - typeCfg.setMetaDataEnabled(true); - - marsh.setTypeConfigurations(Arrays.asList( - new PortableTypeConfiguration(TestObject2.class.getName()), - typeCfg - )); - - marsh.setMetaDataEnabled(false); - - try { - startGrid(); - - portables().toPortable(new TestObject1()); - portables().toPortable(new TestObject2()); - - assertEquals(1, portables().metadata(TestObject1.class).fields().size()); - assertEquals(0, portables().metadata(TestObject2.class).fields().size()); - } - finally { - stopGrid(); - } - } - - /** - * @throws Exception If failed. - */ - public void testDisableSimpleClass() throws Exception { - marsh = new PortableMarshaller(); - - PortableTypeConfiguration typeCfg = new PortableTypeConfiguration(TestObject1.class.getName()); - - typeCfg.setMetaDataEnabled(false); - - marsh.setTypeConfigurations(Arrays.asList( - new PortableTypeConfiguration(TestObject2.class.getName()), - typeCfg - )); - - try { - startGrid(); - - portables().toPortable(new TestObject1()); - portables().toPortable(new TestObject2()); - - assertEquals(0, portables().metadata(TestObject1.class).fields().size()); - assertEquals(1, portables().metadata(TestObject2.class).fields().size()); - } - finally { - stopGrid(); - } - } - - /** - * @throws Exception If failed. - */ - public void testDisableMarshalAwareClass() throws Exception { - marsh = new PortableMarshaller(); - - PortableTypeConfiguration typeCfg = new PortableTypeConfiguration(TestObject2.class.getName()); - - typeCfg.setMetaDataEnabled(false); - - marsh.setTypeConfigurations(Arrays.asList( - new PortableTypeConfiguration(TestObject1.class.getName()), - typeCfg - )); - - try { - startGrid(); - - portables().toPortable(new TestObject1()); - portables().toPortable(new TestObject2()); - - assertEquals(1, portables().metadata(TestObject1.class).fields().size()); - assertEquals(0, portables().metadata(TestObject2.class).fields().size()); - } - finally { - stopGrid(); - } - } - - /** - */ - @SuppressWarnings("UnusedDeclaration") - private static class TestObject1 { - /** */ - private int field; - } - - /** - */ - private static class TestObject2 implements PortableMarshalAware { - /** {@inheritDoc} */ - @Override public void writePortable(PortableWriter writer) throws PortableException { - writer.writeInt("field", 1); - } - - /** {@inheritDoc} */ - @Override public void readPortable(PortableReader reader) throws PortableException { - // 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/71379a80/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 deleted file mode 100644 index fa3c9a7..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/portable/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.portable; - -import java.math.BigDecimal; -import java.util.Arrays; -import java.util.Collection; -import java.util.Date; -import java.util.HashMap; -import org.apache.ignite.IgnitePortables; -import org.apache.ignite.configuration.CacheConfiguration; -import org.apache.ignite.configuration.IgniteConfiguration; -import org.apache.ignite.marshaller.portable.PortableMarshaller; -import org.apache.ignite.portable.PortableException; -import org.apache.ignite.portable.PortableMarshalAware; -import org.apache.ignite.portable.PortableMetadata; -import org.apache.ignite.portable.PortableObject; -import org.apache.ignite.portable.PortableRawWriter; -import org.apache.ignite.portable.PortableReader; -import org.apache.ignite.portable.PortableWriter; -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); - - PortableMarshaller marsh = new PortableMarshaller(); - - marsh.setClassNames(Arrays.asList(TestObject1.class.getName(), TestObject2.class.getName())); - - cfg.setMarshaller(marsh); - - 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 IgnitePortables portables() { - return grid().portables(); - } - - /** - * @throws Exception If failed. - */ - public void testGetAll() throws Exception { - portables().toPortable(new TestObject2()); - - Collection<PortableMetadata> metas = portables().metadata(); - - assertEquals(2, metas.size()); - - for (PortableMetadata meta : metas) { - Collection<String> fields; - - switch (meta.typeName()) { - case "TestObject1": - fields = meta.fields(); - - 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.fields(); - - 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 { - fail("https://issues.apache.org/jira/browse/IGNITE-1377"); - - portables().toPortable(new TestObject3()); - - assertNotNull(portables().metadata(TestObject3.class)); - } - - /** - * @throws Exception If failed. - */ - public void testReflection() throws Exception { - PortableMetadata meta = portables().metadata(TestObject1.class); - - assertNotNull(meta); - - assertEquals("TestObject1", meta.typeName()); - - Collection<String> fields = meta.fields(); - - 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().toPortable(new TestObject2()); - - PortableMetadata meta = portables().metadata(TestObject2.class); - - assertNotNull(meta); - - assertEquals("TestObject2", meta.typeName()); - - Collection<String> fields = meta.fields(); - - 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().toPortable(new TestObject2()); - - idx = 1; - - portables().toPortable(new TestObject2()); - - PortableMetadata meta = portables().metadata(TestObject2.class); - - assertNotNull(meta); - - assertEquals("TestObject2", meta.typeName()); - - Collection<String> fields = meta.fields(); - - 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 }; - - PortableObject po = portables().toPortable(obj); - - info(po.toString()); - - PortableMetadata meta = po.metaData(); - - assertNotNull(meta); - - assertEquals("TestObject1", meta.typeName()); - - Collection<String> fields = meta.fields(); - - 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 PortableMarshalAware { - /** {@inheritDoc} */ - @Override public void writePortable(PortableWriter writer) throws PortableException { - 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); - } - - PortableRawWriter raw = writer.rawWriter(); - - raw.writeChar((char)0); - raw.writeCollection(null); - } - - /** {@inheritDoc} */ - @Override public void readPortable(PortableReader reader) throws PortableException { - // 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/71379a80/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableWildcardsSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableWildcardsSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableWildcardsSelfTest.java deleted file mode 100644 index 349f152..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableWildcardsSelfTest.java +++ /dev/null @@ -1,482 +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.portable; - -import java.util.Arrays; -import java.util.Map; -import org.apache.ignite.internal.util.typedef.internal.U; -import org.apache.ignite.marshaller.MarshallerContextTestImpl; -import org.apache.ignite.marshaller.portable.PortableMarshaller; -import org.apache.ignite.portable.PortableIdMapper; -import org.apache.ignite.portable.PortableMetadata; -import org.apache.ignite.portable.PortableTypeConfiguration; -import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; - -/** - * Wildcards test. - */ -public class GridPortableWildcardsSelfTest extends GridCommonAbstractTest { - /** */ - private static final PortableMetaDataHandler META_HND = new PortableMetaDataHandler() { - @Override public void addMeta(int typeId, PortableMetadata meta) { - // No-op. - } - - @Override public PortableMetadata metadata(int typeId) { - return null; - } - }; - - /** - * @return Portable context. - */ - private PortableContext portableContext() { - return new PortableContext(META_HND, null); - } - - /** - * @return Portable marshaller. - */ - private PortableMarshaller portableMarshaller() { - PortableMarshaller marsh = new PortableMarshaller(); - marsh.setContext(new MarshallerContextTestImpl(null)); - - return marsh; - } - - /** - * @throws Exception If failed. - */ - public void testClassNames() throws Exception { - PortableContext ctx = portableContext(); - - PortableMarshaller marsh = portableMarshaller(); - - marsh.setClassNames(Arrays.asList( - "org.apache.ignite.internal.portable.test.*", - "unknown.*" - )); - - ctx.configure(marsh); - - Map<Integer, Class> 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 { - PortableContext ctx = portableContext(); - - PortableMarshaller marsh = portableMarshaller(); - - marsh.setIdMapper(new PortableIdMapper() { - @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; - } - }); - - marsh.setClassNames(Arrays.asList( - "org.apache.ignite.internal.portable.test.*", - "unknown.*" - )); - - ctx.configure(marsh); - - Map<String, PortableIdMapper> 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 { - PortableContext ctx = portableContext(); - - PortableMarshaller marsh = portableMarshaller(); - - marsh.setTypeConfigurations(Arrays.asList( - new PortableTypeConfiguration("org.apache.ignite.internal.portable.test.*"), - new PortableTypeConfiguration("unknown.*") - )); - - ctx.configure(marsh); - - Map<Integer, Class> 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 { - PortableContext ctx = portableContext(); - - PortableMarshaller marsh = portableMarshaller(); - - marsh.setIdMapper(new PortableIdMapper() { - @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; - } - }); - - marsh.setTypeConfigurations(Arrays.asList( - new PortableTypeConfiguration("org.apache.ignite.internal.portable.test.*"), - new PortableTypeConfiguration("unknown.*") - )); - - ctx.configure(marsh); - - Map<String, PortableIdMapper> 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 { - PortableContext ctx = portableContext(); - - PortableMarshaller marsh = portableMarshaller(); - - marsh.setIdMapper(new PortableIdMapper() { - @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; - } - }); - - marsh.setTypeConfigurations(Arrays.asList( - new PortableTypeConfiguration("org.apache.ignite.internal.portable.test.*"), - new PortableTypeConfiguration("unknown.*") - )); - - ctx.configure(marsh); - - Map<String, PortableIdMapper> 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 { - PortableContext ctx = portableContext(); - - PortableMarshaller marsh = portableMarshaller(); - - marsh.setClassNames(Arrays.asList( - "org.apache.ignite.internal.portable.test.*" - )); - - PortableTypeConfiguration typeCfg = new PortableTypeConfiguration(); - - typeCfg.setClassName("org.apache.ignite.internal.portable.test.GridPortableTestClass2"); - typeCfg.setIdMapper(new PortableIdMapper() { - @Override public int typeId(String clsName) { - return 100; - } - - @Override public int fieldId(int typeId, String fieldName) { - return 0; - } - }); - - marsh.setTypeConfigurations(Arrays.asList(typeCfg)); - - ctx.configure(marsh); - - Map<Integer, Class> 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<String, PortableIdMapper> typeMappers = U.field(ctx, "typeMappers"); - - assertEquals(100, typeMappers.get("GridPortableTestClass2").typeId("GridPortableTestClass2")); - } - - /** - * @throws Exception If failed. - */ - public void testClassNamesJar() throws Exception { - PortableContext ctx = portableContext(); - - PortableMarshaller marsh = portableMarshaller(); - - marsh.setClassNames(Arrays.asList( - "org.apache.ignite.portable.testjar.*", - "unknown.*" - )); - - ctx.configure(marsh); - - Map<Integer, Class> 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 { - PortableContext ctx = portableContext(); - - PortableMarshaller marsh = portableMarshaller(); - - marsh.setIdMapper(new PortableIdMapper() { - @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; - } - }); - - marsh.setClassNames(Arrays.asList( - "org.apache.ignite.portable.testjar.*", - "unknown.*" - )); - - ctx.configure(marsh); - - Map<String, PortableIdMapper> 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 { - PortableContext ctx = portableContext(); - - PortableMarshaller marsh = portableMarshaller(); - - marsh.setTypeConfigurations(Arrays.asList( - new PortableTypeConfiguration("org.apache.ignite.portable.testjar.*"), - new PortableTypeConfiguration("unknown.*") - )); - - ctx.configure(marsh); - - Map<Integer, Class> 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 { - PortableContext ctx = portableContext(); - - PortableMarshaller marsh = portableMarshaller(); - - marsh.setIdMapper(new PortableIdMapper() { - @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; - } - }); - - marsh.setTypeConfigurations(Arrays.asList( - new PortableTypeConfiguration("org.apache.ignite.portable.testjar.*"), - new PortableTypeConfiguration("unknown.*") - )); - - ctx.configure(marsh); - - Map<String, PortableIdMapper> 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 { - PortableContext ctx = portableContext(); - - PortableMarshaller marsh = portableMarshaller(); - - marsh.setIdMapper(new PortableIdMapper() { - @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; - } - }); - - marsh.setTypeConfigurations(Arrays.asList( - new PortableTypeConfiguration("org.apache.ignite.portable.testjar.*"), - new PortableTypeConfiguration("unknown.*") - )); - - ctx.configure(marsh); - - Map<String, PortableIdMapper> 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 { - PortableContext ctx = portableContext(); - - PortableMarshaller marsh = portableMarshaller(); - - marsh.setClassNames(Arrays.asList( - "org.apache.ignite.portable.testjar.*" - )); - - PortableTypeConfiguration typeCfg = new PortableTypeConfiguration( - "org.apache.ignite.portable.testjar.GridPortableTestClass2"); - - typeCfg.setIdMapper(new PortableIdMapper() { - @Override public int typeId(String clsName) { - return 100; - } - - @Override public int fieldId(int typeId, String fieldName) { - return 0; - } - }); - - marsh.setTypeConfigurations(Arrays.asList(typeCfg)); - - ctx.configure(marsh); - - Map<Integer, Class> typeIds = U.field(ctx, "userTypes"); - - assertEquals(3, typeIds.size()); - - assertTrue(typeIds.containsKey("gridportabletestclass1".hashCode())); - - Map<String, PortableIdMapper> typeMappers = U.field(ctx, "typeMappers"); - - assertEquals(3, typeMappers.size()); - - assertEquals(100, typeMappers.get("GridPortableTestClass2").typeId("GridPortableTestClass2")); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/71379a80/modules/core/src/test/java/org/apache/ignite/internal/portable/mutabletest/GridPortableMarshalerAwareTestClass.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/mutabletest/GridPortableMarshalerAwareTestClass.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/mutabletest/GridPortableMarshalerAwareTestClass.java deleted file mode 100644 index 3244331..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/portable/mutabletest/GridPortableMarshalerAwareTestClass.java +++ /dev/null @@ -1,67 +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.portable.mutabletest; - -import org.apache.ignite.internal.util.typedef.internal.S; -import org.apache.ignite.portable.PortableException; -import org.apache.ignite.portable.PortableMarshalAware; -import org.apache.ignite.portable.PortableRawReader; -import org.apache.ignite.portable.PortableRawWriter; -import org.apache.ignite.portable.PortableReader; -import org.apache.ignite.portable.PortableWriter; -import org.apache.ignite.testframework.GridTestUtils; - -/** - * - */ -public class GridPortableMarshalerAwareTestClass implements PortableMarshalAware { - /** */ - public String s; - - /** */ - public String sRaw; - - /** {@inheritDoc} */ - @Override public void writePortable(PortableWriter writer) throws PortableException { - writer.writeString("s", s); - - PortableRawWriter raw = writer.rawWriter(); - - raw.writeString(sRaw); - } - - /** {@inheritDoc} */ - @Override public void readPortable(PortableReader reader) throws PortableException { - s = reader.readString("s"); - - PortableRawReader raw = reader.rawReader(); - - sRaw = raw.readString(); - } - - /** {@inheritDoc} */ - @SuppressWarnings("FloatingPointEquality") - @Override public boolean equals(Object other) { - return this == other || GridTestUtils.deepEquals(this, other); - } - - /** {@inheritDoc} */ - @Override public String toString() { - return S.toString(GridPortableMarshalerAwareTestClass.class, this); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/71379a80/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 deleted file mode 100644 index e49514b..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/portable/mutabletest/GridPortableTestClasses.java +++ /dev/null @@ -1,434 +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.portable.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.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.internal.util.lang.GridMapEntry; -import org.apache.ignite.portable.PortableObject; - -/** - * - */ -@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<String> list = new ArrayList<>(); - } - - /** - * - */ - public static class TestObjectPlainPortable { - /** */ - public PortableObject plainPortable; - - /** - * - */ - public TestObjectPlainPortable() { - // No-op. - } - - /** - * @param plainPortable Object. - */ - public TestObjectPlainPortable(PortableObject 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 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 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); - - 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)}; - - anEnum = TestObjectEnum.A; - - enumArr = new TestObjectEnum[] {TestObjectEnum.B}; - - entry = new GridMapEntry<>(1, "a"); - } - } - - /** - * - */ - public enum TestObjectEnum { - A, B, C - } - - /** - * - */ - public static class Address { - /** 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 { - /** 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; - } - } - - /** - * - */ - public static class AddressBook { - /** */ - private Map<String, List<Company>> companyByStreet = new TreeMap<>(); - - /** - * @param street Street. - * @return Company. - */ - public List<Company> findCompany(String street) { - return companyByStreet.get(street); - } - - /** - * @param company Company. - */ - public void addCompany(Company company) { - List<Company> list = companyByStreet.get(company.address.street); - - if (list == null) { - list = new ArrayList<>(); - - companyByStreet.put(company.address.street, list); - } - - list.add(company); - } - - /** - * @return map - */ - public Map<String, List<Company>> getCompanyByStreet() { - return companyByStreet; - } - - /** - * @param companyByStreet map - */ - public void setCompanyByStreet(Map<String, List<Company>> companyByStreet) { - this.companyByStreet = companyByStreet; - } - } - -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/71379a80/modules/core/src/test/java/org/apache/ignite/internal/portable/mutabletest/package-info.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/mutabletest/package-info.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/mutabletest/package-info.java deleted file mode 100644 index daa13d5..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/portable/mutabletest/package-info.java +++ /dev/null @@ -1,22 +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 description. --> - * Contains internal tests or test related classes and interfaces. - */ -package org.apache.ignite.internal.portable.mutabletest; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/71379a80/modules/core/src/test/java/org/apache/ignite/internal/portable/package-info.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/package-info.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/package-info.java deleted file mode 100644 index 26897e6..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/portable/package-info.java +++ /dev/null @@ -1,22 +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 description. --> - * Contains internal tests or test related classes and interfaces. - */ -package org.apache.ignite.internal.portable; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/71379a80/modules/core/src/test/java/org/apache/ignite/internal/portable/test/GridPortableTestClass1.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/test/GridPortableTestClass1.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/test/GridPortableTestClass1.java deleted file mode 100644 index 05a8c33..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/portable/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.portable.test; - -/** - */ -public class GridPortableTestClass1 { - /** - */ - private static class InnerClass { - // No-op. - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/71379a80/modules/core/src/test/java/org/apache/ignite/internal/portable/test/GridPortableTestClass2.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/test/GridPortableTestClass2.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/test/GridPortableTestClass2.java deleted file mode 100644 index ba69991..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/portable/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.portable.test; - -/** - */ -public class GridPortableTestClass2 { - // No-op. -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/71379a80/modules/core/src/test/java/org/apache/ignite/internal/portable/test/package-info.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/test/package-info.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/test/package-info.java deleted file mode 100644 index e63b814..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/portable/test/package-info.java +++ /dev/null @@ -1,22 +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 description. --> - * Contains internal tests or test related classes and interfaces. - */ -package org.apache.ignite.internal.portable.test; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/71379a80/modules/core/src/test/java/org/apache/ignite/internal/portable/test/subpackage/GridPortableTestClass3.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/test/subpackage/GridPortableTestClass3.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/test/subpackage/GridPortableTestClass3.java deleted file mode 100644 index cf3aa2d..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/portable/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.portable.test.subpackage; - -/** - */ -public class GridPortableTestClass3 { - // No-op. -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/71379a80/modules/core/src/test/java/org/apache/ignite/internal/portable/test/subpackage/package-info.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/test/subpackage/package-info.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/test/subpackage/package-info.java deleted file mode 100644 index ae8ee73..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/portable/test/subpackage/package-info.java +++ /dev/null @@ -1,22 +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 description. --> - * Contains internal tests or test related classes and interfaces. - */ -package org.apache.ignite.internal.portable.test.subpackage; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/71379a80/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 deleted file mode 100644 index 1ba3d4d..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/portable/GridCacheClientNodePortableMetadataMultinodeTest.java +++ /dev/null @@ -1,295 +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.portable; - -import java.util.Collection; -import java.util.HashSet; -import java.util.Set; -import java.util.concurrent.Callable; -import java.util.concurrent.CyclicBarrier; -import java.util.concurrent.ThreadLocalRandom; -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.concurrent.atomic.AtomicInteger; -import org.apache.ignite.Ignite; -import org.apache.ignite.IgniteCache; -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; -import org.apache.ignite.portable.PortableMetadata; -import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi; -import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder; -import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder; -import org.apache.ignite.testframework.GridTestUtils; -import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; -import org.eclipse.jetty.util.ConcurrentHashSet; - -import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC; - -/** - * - */ -public class GridCacheClientNodePortableMetadataMultinodeTest extends GridCommonAbstractTest { - /** */ - protected static TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true); - - /** */ - private boolean client; - - /** {@inheritDoc} */ - @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception { - IgniteConfiguration cfg = super.getConfiguration(gridName); - - cfg.setPeerClassLoadingEnabled(false); - - ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(ipFinder).setForceServerMode(true); - - cfg.setMarshaller(new PortableMarshaller()); - - CacheConfiguration ccfg = new CacheConfiguration(); - - ccfg.setWriteSynchronizationMode(FULL_SYNC); - - cfg.setCacheConfiguration(ccfg); - - cfg.setClientMode(client); - - return cfg; - } - - /** {@inheritDoc} */ - @Override protected void afterTest() throws Exception { - super.afterTest(); - - stopAllGrids(); - } - - /** - * @throws Exception If failed. - */ - public void testClientMetadataInitialization() throws Exception { - startGrids(2); - - final AtomicBoolean stop = new AtomicBoolean(); - - final ConcurrentHashSet<String> allTypes = new ConcurrentHashSet<>(); - - IgniteInternalFuture<?> fut; - - try { - // Update portable metadata concurrently with client nodes start. - fut = GridTestUtils.runMultiThreadedAsync(new Callable<Object>() { - @Override public Object call() throws Exception { - IgnitePortables portables = ignite(0).portables(); - - IgniteCache<Object, Object> cache = ignite(0).cache(null).withKeepPortable(); - - ThreadLocalRandom rnd = ThreadLocalRandom.current(); - - for (int i = 0; i < 1000; i++) { - log.info("Iteration: " + i); - - String type = "portable-type-" + i; - - allTypes.add(type); - - for (int f = 0; f < 10; f++) { - PortableBuilder builder = portables.builder(type); - - String fieldName = "f" + f; - - builder.setField(fieldName, i); - - cache.put(rnd.nextInt(0, 100_000), builder.build()); - - if (f % 100 == 0) - log.info("Put iteration: " + f); - } - - if (stop.get()) - break; - } - - return null; - } - }, 5, "update-thread"); - } - finally { - stop.set(true); - } - - client = true; - - startGridsMultiThreaded(2, 5); - - fut.get(); - - assertFalse(allTypes.isEmpty()); - - log.info("Expected portable types: " + allTypes.size()); - - assertEquals(7, ignite(0).cluster().nodes().size()); - - for (int i = 0; i < 7; i++) { - log.info("Check metadata on node: " + i); - - boolean client = i > 1; - - assertEquals((Object)client, ignite(i).configuration().isClientMode()); - - IgnitePortables portables = ignite(i).portables(); - - Collection<PortableMetadata> metaCol = portables.metadata(); - - assertEquals(allTypes.size(), metaCol.size()); - - Set<String> names = new HashSet<>(); - - for (PortableMetadata meta : metaCol) { - assertTrue(names.add(meta.typeName())); - - assertNull(meta.affinityKeyFieldName()); - - assertEquals(10, meta.fields().size()); - } - - assertEquals(allTypes.size(), names.size()); - } - } - - /** - * @throws Exception If failed. - */ - public void testFailoverOnStart() throws Exception { - startGrids(4); - - IgnitePortables portables = ignite(0).portables(); - - IgniteCache<Object, Object> cache = ignite(0).cache(null).withKeepPortable(); - - for (int i = 0; i < 1000; i++) { - PortableBuilder builder = portables.builder("type-" + i); - - builder.setField("f0", i); - - cache.put(i, builder.build()); - } - - client = true; - - final CyclicBarrier barrier = new CyclicBarrier(6); - - final AtomicInteger startIdx = new AtomicInteger(4); - - IgniteInternalFuture<?> fut = GridTestUtils.runMultiThreadedAsync(new Callable<Object>() { - @Override public Object call() throws Exception { - barrier.await(); - - Ignite ignite = startGrid(startIdx.getAndIncrement()); - - assertTrue(ignite.configuration().isClientMode()); - - log.info("Started node: " + ignite.name()); - - return null; - } - }, 5, "start-thread"); - - barrier.await(); - - U.sleep(ThreadLocalRandom.current().nextInt(10, 100)); - - for (int i = 0; i < 3; i++) - stopGrid(i); - - fut.get(); - - assertEquals(6, ignite(3).cluster().nodes().size()); - - for (int i = 3; i < 7; i++) { - log.info("Check metadata on node: " + i); - - boolean client = i > 3; - - assertEquals((Object) client, ignite(i).configuration().isClientMode()); - - portables = ignite(i).portables(); - - final IgnitePortables p0 = portables; - - GridTestUtils.waitForCondition(new GridAbsPredicate() { - @Override public boolean apply() { - Collection<PortableMetadata> metaCol = p0.metadata(); - - return metaCol.size() == 1000; - } - }, getTestTimeout()); - - Collection<PortableMetadata> metaCol = portables.metadata(); - - assertEquals(1000, metaCol.size()); - - Set<String> names = new HashSet<>(); - - for (PortableMetadata meta : metaCol) { - assertTrue(names.add(meta.typeName())); - - assertNull(meta.affinityKeyFieldName()); - - assertEquals(1, meta.fields().size()); - } - - assertEquals(1000, names.size()); - } - } - - /** - * @throws Exception If failed. - */ - public void testClientStartsFirst() throws Exception { - client = true; - - Ignite ignite0 = startGrid(0); - - assertTrue(ignite0.configuration().isClientMode()); - - client = false; - - Ignite ignite1 = startGrid(1); - - assertFalse(ignite1.configuration().isClientMode()); - - IgnitePortables portables = ignite(1).portables(); - - IgniteCache<Object, Object> cache = ignite(1).cache(null).withKeepPortable(); - - for (int i = 0; i < 100; i++) { - PortableBuilder builder = portables.builder("type-" + i); - - builder.setField("f0", i); - - cache.put(i, builder.build()); - } - - assertEquals(100, ignite(0).portables().metadata().size()); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/71379a80/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/portable/GridCacheClientNodePortableMetadataTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/portable/GridCacheClientNodePortableMetadataTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/portable/GridCacheClientNodePortableMetadataTest.java deleted file mode 100644 index a66d940..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/portable/GridCacheClientNodePortableMetadataTest.java +++ /dev/null @@ -1,286 +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.portable; - -import java.util.Arrays; -import java.util.Collection; -import org.apache.ignite.Ignite; -import org.apache.ignite.IgniteCache; -import org.apache.ignite.cache.CacheAtomicityMode; -import org.apache.ignite.cache.CacheMode; -import org.apache.ignite.cache.affinity.Affinity; -import org.apache.ignite.configuration.IgniteConfiguration; -import org.apache.ignite.configuration.NearCacheConfiguration; -import org.apache.ignite.internal.processors.cache.GridCacheAbstractSelfTest; -import org.apache.ignite.marshaller.portable.PortableMarshaller; -import org.apache.ignite.portable.PortableBuilder; -import org.apache.ignite.portable.PortableMetadata; -import org.apache.ignite.portable.PortableObject; -import org.apache.ignite.portable.PortableTypeConfiguration; -import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi; - -import static org.apache.ignite.cache.CacheAtomicityMode.ATOMIC; - -/** - * - */ -public class GridCacheClientNodePortableMetadataTest extends GridCacheAbstractSelfTest { - /** {@inheritDoc} */ - @Override protected int gridCount() { - return 4; - } - - /** {@inheritDoc} */ - @Override protected CacheMode cacheMode() { - return CacheMode.PARTITIONED; - } - - /** {@inheritDoc} */ - @Override protected CacheAtomicityMode atomicityMode() { - return ATOMIC; - } - - /** {@inheritDoc} */ - @Override protected NearCacheConfiguration nearConfiguration() { - return null; - } - - /** {@inheritDoc} */ - @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception { - IgniteConfiguration cfg = super.getConfiguration(gridName); - - PortableMarshaller marsh = new PortableMarshaller(); - - marsh.setClassNames(Arrays.asList(TestObject1.class.getName(), TestObject2.class.getName())); - - PortableTypeConfiguration typeCfg = new PortableTypeConfiguration(); - - typeCfg.setClassName(TestObject1.class.getName()); - typeCfg.setAffinityKeyFieldName("val2"); - - marsh.setTypeConfigurations(Arrays.asList(typeCfg)); - - if (gridName.equals(getTestGridName(gridCount() - 1))) - cfg.setClientMode(true); - - cfg.setMarshaller(marsh); - - ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setForceServerMode(true); - - return cfg; - } - - /** - * @throws Exception If failed. - */ - public void testPortableMetadataOnClient() throws Exception { - Ignite ignite0 = ignite(gridCount() - 1); - - assertTrue(ignite0.configuration().isClientMode()); - - Ignite ignite1 = ignite(0); - - assertFalse(ignite1.configuration().isClientMode()); - - Affinity<Object> aff0 = ignite0.affinity(null); - Affinity<Object> aff1 = ignite1.affinity(null); - - for (int i = 0 ; i < 100; i++) { - TestObject1 obj1 = new TestObject1(i, i + 1); - - assertEquals(aff1.mapKeyToPrimaryAndBackups(obj1), - aff0.mapKeyToPrimaryAndBackups(obj1)); - - TestObject2 obj2 = new TestObject2(i, i + 1); - - assertEquals(aff1.mapKeyToPrimaryAndBackups(obj2), - aff0.mapKeyToPrimaryAndBackups(obj2)); - } - - { - PortableBuilder builder = ignite0.portables().builder("TestObject3"); - - builder.setField("f1", 1); - - ignite0.cache(null).put(0, builder.build()); - - IgniteCache<Integer, PortableObject> cache = ignite0.cache(null).withKeepPortable(); - - PortableObject obj = cache.get(0); - - PortableMetadata meta = obj.metaData(); - - assertNotNull(meta); - assertEquals(1, meta.fields().size()); - - meta = ignite0.portables().metadata(TestObject1.class); - - assertNotNull(meta); - assertEquals("val2", meta.affinityKeyFieldName()); - - meta = ignite0.portables().metadata(TestObject2.class); - - assertNotNull(meta); - assertNull(meta.affinityKeyFieldName()); - } - - { - PortableBuilder builder = ignite1.portables().builder("TestObject3"); - - builder.setField("f2", 2); - - ignite1.cache(null).put(1, builder.build()); - - IgniteCache<Integer, PortableObject> cache = ignite1.cache(null).withKeepPortable(); - - PortableObject obj = cache.get(0); - - PortableMetadata meta = obj.metaData(); - - assertNotNull(meta); - assertEquals(2, meta.fields().size()); - - meta = ignite1.portables().metadata(TestObject1.class); - - assertNotNull(meta); - assertEquals("val2", meta.affinityKeyFieldName()); - - meta = ignite1.portables().metadata(TestObject2.class); - - assertNotNull(meta); - assertNull(meta.affinityKeyFieldName()); - } - - PortableMetadata meta = ignite0.portables().metadata("TestObject3"); - - assertNotNull(meta); - assertEquals(2, meta.fields().size()); - - IgniteCache<Integer, PortableObject> cache = ignite0.cache(null).withKeepPortable(); - - PortableObject obj = cache.get(1); - - assertEquals(Integer.valueOf(2), obj.field("f2")); - assertNull(obj.field("f1")); - - meta = obj.metaData(); - - assertNotNull(meta); - assertEquals(2, meta.fields().size()); - - Collection<PortableMetadata> meta1 = ignite1.portables().metadata(); - Collection<PortableMetadata> meta2 = ignite1.portables().metadata(); - - assertEquals(meta1.size(), meta2.size()); - - for (PortableMetadata m1 : meta1) { - boolean found = false; - - for (PortableMetadata m2 : meta1) { - if (m1.typeName().equals(m2.typeName())) { - assertEquals(m1.affinityKeyFieldName(), m2.affinityKeyFieldName()); - assertEquals(m1.fields(), m2.fields()); - - found = true; - - break; - } - } - - assertTrue(found); - } - } - - /** - * - */ - static class TestObject1 { - /** */ - private int val1; - - /** */ - private int val2; - - /** - * @param val1 Value 1. - * @param val2 Value 2. - */ - public TestObject1(int val1, int val2) { - this.val1 = val1; - this.val2 = val2; - } - - /** {@inheritDoc} */ - @Override public boolean equals(Object o) { - if (this == o) - return true; - - if (o == null || getClass() != o.getClass()) - return false; - - TestObject1 that = (TestObject1)o; - - return val1 == that.val1; - - } - - /** {@inheritDoc} */ - @Override public int hashCode() { - return val1; - } - } - - /** - * - */ - static class TestObject2 { - /** */ - private int val1; - - /** */ - private int val2; - - /** - * @param val1 Value 1. - * @param val2 Value 2. - */ - public TestObject2(int val1, int val2) { - this.val1 = val1; - this.val2 = val2; - } - - /** {@inheritDoc} */ - @Override public boolean equals(Object o) { - if (this == o) - return true; - - if (o == null || getClass() != o.getClass()) - return false; - - TestObject2 that = (TestObject2)o; - - return val2 == that.val2; - - } - - /** {@inheritDoc} */ - @Override public int hashCode() { - return val2; - } - } -} \ No newline at end of file