use of com.canoo.platform.remoting.client.Param in project dolphin-platform-examples by canoo.
the class ToDoControllerTests method testElementStateSync.
@Test
public void testElementStateSync() {
// given:
ControllerUnderTest<ToDoList> controllerUnderTest = createController(TODO_CONTROLLER_NAME);
ControllerUnderTest<ToDoList> controllerUnderTest2 = createController(TODO_CONTROLLER_NAME);
// when:
controllerUnderTest.getModel().getNewItemText().set("Banana");
controllerUnderTest.invoke(ADD_ACTION);
controllerUnderTest.invoke(CHANGE_ACTION, new Param(ITEM_PARAM, "Banana"));
// then:
Assert.assertEquals(controllerUnderTest2.getModel().getItems().size(), 1);
Assert.assertEquals(controllerUnderTest2.getModel().getItems().get(0).isCompleted(), true);
}
use of com.canoo.platform.remoting.client.Param in project dolphin-platform-examples by canoo.
the class ToDoControllerTests method testChangeElementState.
@Test
public void testChangeElementState() {
// given:
ControllerUnderTest<ToDoList> controllerUnderTest = createController(TODO_CONTROLLER_NAME);
// when:
controllerUnderTest.getModel().getNewItemText().set("Banana");
controllerUnderTest.invoke(ADD_ACTION);
controllerUnderTest.invoke(CHANGE_ACTION, new Param(ITEM_PARAM, "Banana"));
// then:
Assert.assertEquals(controllerUnderTest.getModel().getItems().get(0).isCompleted(), true);
}
use of com.canoo.platform.remoting.client.Param in project dolphin-platform-examples by canoo.
the class ToDoControllerTests method testDeleteElement.
@Test
public void testDeleteElement() {
// given:
ControllerUnderTest<ToDoList> controllerUnderTest = createController(TODO_CONTROLLER_NAME);
// when:
controllerUnderTest.getModel().getNewItemText().set("Banana");
controllerUnderTest.invoke(ADD_ACTION);
controllerUnderTest.invoke(REMOVE_ACTION, new Param(ITEM_PARAM, "Banana"));
// then:
Assert.assertEquals(controllerUnderTest.getModel().getItems().size(), 0);
}
use of com.canoo.platform.remoting.client.Param 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.client.Param in project dolphin-platform by canoo.
the class ActionControllerTest method testCallPublicMethodWithFloatParams.
/**
* End Long Type Related Integration Test
*/
/**
* Start Float Type Related Integration Test
*/
@Test(dataProvider = ENDPOINTS_DATAPROVIDER, description = "Tests if an public action method with Float param can be called")
public void testCallPublicMethodWithFloatParams(String containerType, String endpoint) {
final float value = 10.0F;
performActionForFloat(containerType, endpoint, PUBLIC_WITH_FLOAT_PARAM_ACTION, value, new Param(PARAM_NAME, value));
}
Aggregations