use of com.canoo.platform.remoting.spi.converter.ValueConverterException in project dolphin-platform by canoo.
the class ControllerProxyImpl method invoke.
@Override
public CompletableFuture<Void> invoke(final String actionName, final Param... params) {
if (destroyed) {
throw new IllegalStateException("The controller was already destroyed");
}
final ClientControllerActionCallBean bean = platformBeanRepository.createControllerActionCallBean(controllerId, actionName, params);
final CallActionCommand callActionCommand = new CallActionCommand();
callActionCommand.setControllerId(controllerId);
callActionCommand.setActionName(actionName);
if (params != null) {
for (Param param : params) {
Object value = param.getValue();
if (value == null) {
callActionCommand.addParam(param.getName(), null);
} else {
try {
callActionCommand.addParam(param.getName(), converters.getConverter(value.getClass()).convertToDolphin(value));
} catch (ValueConverterException e) {
throw new MappingException("Error in value conversion of param '" + param.getName() + "' for action '" + actionName + "'", e);
}
}
}
}
final CompletableFuture<Void> result = new CompletableFuture<>();
clientConnector.send(callActionCommand, () -> {
if (bean.isError()) {
result.completeExceptionally(new ControllerActionException("Error on calling action on the server. Please check the server log."));
} else {
result.complete(null);
}
bean.unregister();
});
return result;
}
use of com.canoo.platform.remoting.spi.converter.ValueConverterException in project dolphin-platform by canoo.
the class DurationConverterFactoryTest method testReconversion.
private void testReconversion(Converter converter, Duration duration) {
try {
Object dolphinObject = converter.convertToDolphin(duration);
assertNotNull(dolphinObject);
Object reconvertedObject = converter.convertFromDolphin(dolphinObject);
assertNotNull(reconvertedObject);
assertEquals(reconvertedObject.getClass(), Duration.class);
Duration reconvertedDuration = (Duration) reconvertedObject;
assertEquals(reconvertedDuration, duration);
} catch (ValueConverterException e) {
fail("Error in conversion", e);
}
}
use of com.canoo.platform.remoting.spi.converter.ValueConverterException in project dolphin-platform by canoo.
the class DurationConverterFactoryTest method testNullValues.
@Test
public void testNullValues(@Mocked BeanRepository beanRepository) {
// Given
Converters converters = new Converters(beanRepository);
// When
Converter converter = converters.getConverter(Duration.class);
// Then
try {
assertEquals(converter.convertFromDolphin(null), null);
assertEquals(converter.convertToDolphin(null), null);
} catch (ValueConverterException e) {
fail("Error in conversion");
}
}
use of com.canoo.platform.remoting.spi.converter.ValueConverterException in project dolphin-platform by canoo.
the class LocalDateConverterFactoryTest method testReconversion.
private void testReconversion(Converter converter, LocalDate time) {
try {
Object dolphinObject = converter.convertToDolphin(time);
assertNotNull(dolphinObject);
TimeZone.setDefault(TimeZone.getTimeZone(ZoneId.of("UTC-3")));
Object reconvertedObject = converter.convertFromDolphin(dolphinObject);
assertNotNull(reconvertedObject);
assertEquals(reconvertedObject.getClass(), LocalDate.class);
LocalDate reverted = (LocalDate) reconvertedObject;
assertEquals(reverted, time);
} catch (ValueConverterException e) {
fail("Error in conversion");
}
}
use of com.canoo.platform.remoting.spi.converter.ValueConverterException in project dolphin-platform by canoo.
the class LocalDateConverterFactoryTest method testNullValues.
@Test
public void testNullValues(@Mocked BeanRepository beanRepository) {
// Given
Converters converters = new Converters(beanRepository);
// When
Converter converter = converters.getConverter(LocalDate.class);
// Then
try {
assertEquals(converter.convertFromDolphin(null), null);
assertEquals(converter.convertToDolphin(null), null);
} catch (ValueConverterException e) {
fail("Error in conversion", e);
}
}
Aggregations