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);
}
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);
}
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());
}
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);
}
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"));
}
Aggregations