use of example.serialization.EmployeeDTOSerializer in project hazelcast by hazelcast.
the class ConfigXmlGeneratorTest method testCompactSerialization.
@Test
public void testCompactSerialization() {
Config config = new Config();
CompactSerializationConfig expected = new CompactSerializationConfig();
expected.setEnabled(true);
expected.register(EmployerDTO.class);
expected.register(EmployeeDTO.class, "employee", new EmployeeDTOSerializer());
config.getSerializationConfig().setCompactSerializationConfig(expected);
CompactSerializationConfig actual = getNewConfigViaXMLGenerator(config).getSerializationConfig().getCompactSerializationConfig();
assertEquals(expected.isEnabled(), actual.isEnabled());
// Since we don't have APIs of the form register(String) or register(String, String, String) in the
// compact serialization config, when we read the config from XML/YAML, we store registered classes
// in a different map.
Map<String, TriTuple<String, String, String>> namedRegistries = CompactSerializationConfigAccessor.getNamedRegistrations(actual);
Map<String, TriTuple<Class, String, CompactSerializer>> registrations = CompactSerializationConfigAccessor.getRegistrations(actual);
for (Map.Entry<String, TriTuple<Class, String, CompactSerializer>> entry : registrations.entrySet()) {
String key = entry.getKey();
TriTuple<Class, String, CompactSerializer> expectedRegistration = entry.getValue();
TriTuple<String, String, String> actualRegistration = namedRegistries.get(key);
assertEquals(expectedRegistration.element1.getName(), actualRegistration.element1);
assertEquals(expectedRegistration.element2, actualRegistration.element2);
CompactSerializer serializer = expectedRegistration.element3;
if (serializer != null) {
assertEquals(serializer.getClass().getName(), actualRegistration.element3);
} else {
assertNull(actualRegistration.element3);
}
}
}
use of example.serialization.EmployeeDTOSerializer in project hazelcast by hazelcast.
the class CompactStreamSerializerTest method testDeserializedToGenericRecordWhenClassNotFoundOnClassPath.
@Test
public void testDeserializedToGenericRecordWhenClassNotFoundOnClassPath() {
SerializationConfig serializationConfig = new SerializationConfig();
serializationConfig.getCompactSerializationConfig().setEnabled(true).register(EmployeeDTO.class, "employee", new EmployeeDTOSerializer());
SerializationService serializationService = new DefaultSerializationServiceBuilder().setSchemaService(schemaService).setConfig(serializationConfig).build();
EmployeeDTO employeeDTO = new EmployeeDTO(30, 102310312);
Data data = serializationService.toData(employeeDTO);
SerializationConfig serializationConfig2 = new SerializationConfig();
serializationConfig2.getCompactSerializationConfig().setEnabled(true);
SerializationService readerService = new DefaultSerializationServiceBuilder().setSchemaService(schemaService).setConfig(serializationConfig2).build();
GenericRecord genericRecord = readerService.toObject(data);
assertEquals(employeeDTO.getAge(), genericRecord.getInt32("age"));
assertEquals(employeeDTO.getId(), genericRecord.getInt64("id"));
}
use of example.serialization.EmployeeDTOSerializer in project hazelcast by hazelcast.
the class ClientConfigXmlGeneratorTest method testCompactSerialization.
@Test
public void testCompactSerialization() {
CompactSerializationConfig expected = new CompactSerializationConfig();
expected.setEnabled(true);
expected.register(EmployerDTO.class);
expected.register(EmployeeDTO.class, "employee", new EmployeeDTOSerializer());
clientConfig.getSerializationConfig().setCompactSerializationConfig(expected);
CompactSerializationConfig actual = newConfigViaGenerator().getSerializationConfig().getCompactSerializationConfig();
assertEquals(expected.isEnabled(), actual.isEnabled());
// Since we don't have APIs of the form register(String) or register(String, String, String) in the
// compact serialization config, when we read the config from XML/YAML, we store registered classes
// in a different map.
Map<String, TriTuple<String, String, String>> namedRegistrations = CompactSerializationConfigAccessor.getNamedRegistrations(actual);
Map<String, TriTuple<Class, String, CompactSerializer>> registrations = CompactSerializationConfigAccessor.getRegistrations(actual);
for (Map.Entry<String, TriTuple<Class, String, CompactSerializer>> entry : registrations.entrySet()) {
String key = entry.getKey();
TriTuple<Class, String, CompactSerializer> expectedRegistration = entry.getValue();
TriTuple<String, String, String> actualRegistration = namedRegistrations.get(key);
assertEquals(expectedRegistration.element1.getName(), actualRegistration.element1);
assertEquals(expectedRegistration.element2, actualRegistration.element2);
CompactSerializer serializer = expectedRegistration.element3;
if (serializer != null) {
assertEquals(serializer.getClass().getName(), actualRegistration.element3);
} else {
assertNull(actualRegistration.element3);
}
}
}
use of example.serialization.EmployeeDTOSerializer in project hazelcast by hazelcast.
the class CompactStreamSerializerTest method testWithExplicitSerializer.
@Test
public void testWithExplicitSerializer() {
SerializationConfig serializationConfig = new SerializationConfig();
serializationConfig.getCompactSerializationConfig().setEnabled(true).register(EmployeeDTO.class, "employee", new EmployeeDTOSerializer());
SerializationService serializationService = new DefaultSerializationServiceBuilder().setSchemaService(schemaService).setConfig(serializationConfig).build();
EmployeeDTO employeeDTO = new EmployeeDTO(30, 102310312);
Data data = serializationService.toData(employeeDTO);
Object object = serializationService.toObject(data);
EmployeeDTO actual = (EmployeeDTO) object;
assertEquals(employeeDTO, actual);
}
Aggregations