Search in sources :

Example 31 with GenericRecord

use of com.hazelcast.nio.serialization.GenericRecord in project hazelcast by hazelcast.

the class AbstractGenericRecordIntegrationTest method testPutWithoutFactory_readAsPortable.

@Test
public void testPutWithoutFactory_readAsPortable() {
    MainPortable expectedPortable = createMainPortable();
    GenericRecord expected = createGenericRecord(expectedPortable);
    assertEquals(expectedPortable.c, expected.getChar("c"));
    assertEquals(expectedPortable.f, expected.getFloat32("f"), 0.1);
    HazelcastInstance[] instances = createCluster();
    IMap<Object, Object> clusterMap = instances[0].getMap("test");
    clusterMap.put(1, expected);
    HazelcastInstance instance = createAccessorInstance(serializationConfig);
    IMap<Object, Object> map = instance.getMap("test");
    MainPortable actual = (MainPortable) map.get(1);
    assertEquals(expectedPortable, actual);
}
Also used : MainPortable(com.hazelcast.internal.serialization.impl.portable.MainPortable) HazelcastInstance(com.hazelcast.core.HazelcastInstance) GenericRecord(com.hazelcast.nio.serialization.GenericRecord) PortableTest(com.hazelcast.internal.serialization.impl.portable.PortableTest) Test(org.junit.Test)

Example 32 with GenericRecord

use of com.hazelcast.nio.serialization.GenericRecord in project hazelcast by hazelcast.

the class AbstractGenericRecordIntegrationTest method testPutGenericRecordBack.

@Test
public void testPutGenericRecordBack() {
    HazelcastInstance[] instances = createCluster();
    HazelcastInstance instance = createAccessorInstance(serializationConfig);
    IMap<Object, Object> map = instance.getMap("test");
    NamedPortable expected = new NamedPortable("foo", 900);
    map.put(1, expected);
    IMap<Object, Object> clusterMap = instances[0].getMap("test");
    GenericRecord record = (GenericRecord) clusterMap.get(1);
    clusterMap.put(2, record);
    // read from the cluster without serialization config
    GenericRecord actualRecord = (GenericRecord) clusterMap.get(2);
    assertTrue(actualRecord.hasField("name"));
    assertTrue(actualRecord.hasField("myint"));
    assertEquals(expected.name, actualRecord.getString("name"));
    assertEquals(expected.myint, actualRecord.getInt32("myint"));
    // read from the instance with serialization config
    NamedPortable actualPortable = (NamedPortable) map.get(2);
    assertEquals(expected, actualPortable);
}
Also used : HazelcastInstance(com.hazelcast.core.HazelcastInstance) GenericRecord(com.hazelcast.nio.serialization.GenericRecord) NamedPortable(com.hazelcast.internal.serialization.impl.portable.NamedPortable) PortableTest(com.hazelcast.internal.serialization.impl.portable.PortableTest) Test(org.junit.Test)

Example 33 with GenericRecord

use of com.hazelcast.nio.serialization.GenericRecord in project hazelcast by hazelcast.

the class AbstractGenericRecordIntegrationTest method testToStringIsValidJson.

@Test
public void testToStringIsValidJson() {
    MainPortable expectedPortable = createMainPortable();
    GenericRecord expected = createGenericRecord(expectedPortable);
    Json.parse(expected.toString());
}
Also used : MainPortable(com.hazelcast.internal.serialization.impl.portable.MainPortable) GenericRecord(com.hazelcast.nio.serialization.GenericRecord) PortableTest(com.hazelcast.internal.serialization.impl.portable.PortableTest) Test(org.junit.Test)

Example 34 with GenericRecord

use of com.hazelcast.nio.serialization.GenericRecord in project hazelcast by hazelcast.

the class AbstractGenericRecordIntegrationTest method getInconsistentNestedGenericRecords.

private BiTuple<GenericRecord, GenericRecord> getInconsistentNestedGenericRecords() {
    ClassDefinition childCd = new ClassDefinitionBuilder(1, 1).addIntField("a").build();
    ClassDefinition inconsistentChildCd = new ClassDefinitionBuilder(1, 1).addBooleanField("a").build();
    ClassDefinition namedPortableClassDefinition = new ClassDefinitionBuilder(1, 2).addStringField("name").addPortableField("child", childCd).build();
    ClassDefinition inconsistentNamedPortableClassDefinition = new ClassDefinitionBuilder(1, 2).addStringField("name").addPortableField("child", inconsistentChildCd).build();
    GenericRecord record = GenericRecordBuilder.portable(namedPortableClassDefinition).setString("name", "foo").setGenericRecord("child", GenericRecordBuilder.portable(childCd).setInt32("a", 1).build()).build();
    GenericRecord otherRecord = GenericRecordBuilder.portable(inconsistentNamedPortableClassDefinition).setString("name", "foo").setGenericRecord("child", GenericRecordBuilder.portable(inconsistentChildCd).setBoolean("a", false).build()).build();
    return BiTuple.of(record, otherRecord);
}
Also used : ClassDefinition(com.hazelcast.nio.serialization.ClassDefinition) GenericRecord(com.hazelcast.nio.serialization.GenericRecord) ClassDefinitionBuilder(com.hazelcast.nio.serialization.ClassDefinitionBuilder)

Example 35 with GenericRecord

use of com.hazelcast.nio.serialization.GenericRecord in project hazelcast by hazelcast.

the class GenericRecordBuilderTest method testOverwritingSameFieldMultipleTimes.

@Test
public void testOverwritingSameFieldMultipleTimes() {
    ClassDefinition namedPortableClassDefinition = new ClassDefinitionBuilder(TestSerializationConstants.PORTABLE_FACTORY_ID, TestSerializationConstants.NAMED_PORTABLE).addStringField("name").addIntField("myint").build();
    GenericRecord record = GenericRecordBuilder.portable(namedPortableClassDefinition).setString("name", "foo").setInt32("myint", 123).build();
    GenericRecordBuilder builder = record.cloneWithBuilder().setString("name", "foo2");
    assertThrows(HazelcastSerializationException.class, () -> builder.setString("name", "foo3"));
}
Also used : GenericRecordBuilder(com.hazelcast.nio.serialization.GenericRecordBuilder) ClassDefinition(com.hazelcast.nio.serialization.ClassDefinition) GenericRecord(com.hazelcast.nio.serialization.GenericRecord) ClassDefinitionBuilder(com.hazelcast.nio.serialization.ClassDefinitionBuilder) ParallelJVMTest(com.hazelcast.test.annotation.ParallelJVMTest) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test)

Aggregations

GenericRecord (com.hazelcast.nio.serialization.GenericRecord)45 Test (org.junit.Test)36 ParallelJVMTest (com.hazelcast.test.annotation.ParallelJVMTest)23 QuickTest (com.hazelcast.test.annotation.QuickTest)23 Data (com.hazelcast.internal.serialization.Data)15 GenericRecordBuilder (com.hazelcast.nio.serialization.GenericRecordBuilder)13 SerializationService (com.hazelcast.internal.serialization.SerializationService)11 InternalGenericRecord (com.hazelcast.internal.serialization.impl.InternalGenericRecord)11 CompactTestUtil.createCompactGenericRecord (com.hazelcast.internal.serialization.impl.compact.CompactTestUtil.createCompactGenericRecord)11 PortableTest (com.hazelcast.internal.serialization.impl.portable.PortableTest)11 HazelcastInstance (com.hazelcast.core.HazelcastInstance)10 InternalSerializationService (com.hazelcast.internal.serialization.InternalSerializationService)10 ClassDefinition (com.hazelcast.nio.serialization.ClassDefinition)8 ClassDefinitionBuilder (com.hazelcast.nio.serialization.ClassDefinitionBuilder)8 SerializationConfig (com.hazelcast.config.SerializationConfig)7 MainPortable (com.hazelcast.internal.serialization.impl.portable.MainPortable)5 NamedPortable (com.hazelcast.internal.serialization.impl.portable.NamedPortable)5 BigDecimal (java.math.BigDecimal)4 LocalDate (java.time.LocalDate)4 LocalDateTime (java.time.LocalDateTime)4