use of org.eclipse.che.api.promises.client.PromiseError in project che by eclipse.
the class PropertyEditorPresenter method editProperty.
private void editProperty(Project project) {
final String propertyName = view.getSelectedProperty();
final Depth depth = view.getDepth();
final String propertyValue = view.getPropertyValue();
final boolean force = view.isForceSelected();
final Resource[] resources = appContext.getResources();
checkState(!Arrays.isNullOrEmpty(resources));
checkState(resources.length == 1);
final StatusNotification notification = new StatusNotification(constants.propertyModifyStart(), PROGRESS, FLOAT_MODE);
notificationManager.notify(notification);
service.propertySet(project.getLocation(), propertyName, propertyValue, depth, force, toRelative(project, resources[0])).then(new Operation<CLIOutputResponse>() {
@Override
public void apply(CLIOutputResponse response) throws OperationException {
printResponse(response.getCommand(), response.getOutput(), response.getErrOutput(), constants.commandProperty());
notification.setTitle(constants.propertyModifyFinished());
notification.setStatus(SUCCESS);
}
}).catchError(new Operation<PromiseError>() {
@Override
public void apply(PromiseError error) throws OperationException {
notification.setTitle(constants.propertyModifyFailed());
notification.setStatus(FAIL);
}
});
}
use of org.eclipse.che.api.promises.client.PromiseError in project che by eclipse.
the class TestServiceClientTest method cancelledTestsBecauseCompilationNotStarted.
@Test
public void cancelledTestsBecauseCompilationNotStarted() {
Promise<CommandImpl> compileCommandPromise = createCommandPromise(new CommandImpl("test-compile", "mvn test-compile -f ${current.project.path}", "mvn"));
when(devMachine.getDescriptor()).thenReturn(machine);
Promise<TestResult> result = testServiceClient.runTestsAfterCompilation(projectPath, testFramework, parameters, statusNotification, compileCommandPromise);
triggerProcessEvents(processStartResponse(false));
verify(testServiceClient, never()).sendTests(anyString(), anyString(), anyMapOf(String.class, String.class));
verify(statusNotification).setContent("Compiling the project before starting the test session.");
result.catchError(new Operation<PromiseError>() {
@Override
public void apply(PromiseError promiseError) throws OperationException {
Throwable cause = promiseError.getCause();
Assert.assertNotNull(cause);
Assert.assertEquals(TestServiceClient.PROJECT_BUILD_NOT_STARTED_MESSAGE, cause.getMessage());
}
});
}
use of org.eclipse.che.api.promises.client.PromiseError in project che by eclipse.
the class TestServiceClientTest method cancelledTestsBecauseCompilationFailed.
@Test
public void cancelledTestsBecauseCompilationFailed() {
Promise<CommandImpl> compileCommandPromise = createCommandPromise(new CommandImpl("test-compile", "mvn test-compile -f ${current.project.path}", "mvn"));
when(devMachine.getDescriptor()).thenReturn(machine);
Promise<TestResult> result = testServiceClient.runTestsAfterCompilation(projectPath, testFramework, parameters, statusNotification, compileCommandPromise);
triggerProcessEvents(processStartResponse(true), processStarted(), processStdErr("A small warning"), processStdOut("BUILD FAILURE"), processDied());
verify(testServiceClient, never()).sendTests(anyString(), anyString(), anyMapOf(String.class, String.class));
verify(statusNotification).setContent("Compiling the project before starting the test session.");
result.catchError(new Operation<PromiseError>() {
@Override
public void apply(PromiseError promiseError) throws OperationException {
Throwable cause = promiseError.getCause();
Assert.assertNotNull(cause);
Assert.assertEquals(TestServiceClient.PROJECT_BUILD_FAILED_MESSAGE, cause.getMessage());
}
});
}
use of org.eclipse.che.api.promises.client.PromiseError in project che by eclipse.
the class DeleteResourceManager method onConfirm.
private ConfirmCallback onConfirm(final Resource[] resources, final AsyncCallback<Void> callback) {
return new ConfirmCallback() {
@Override
public void accepted() {
if (resources == null) {
//sometimes we may occur NPE here while reading length
callback.onFailure(new IllegalStateException());
return;
}
Promise<?>[] deleteAll = new Promise<?>[resources.length];
for (int i = 0; i < resources.length; i++) {
final Resource resource = resources[i];
deleteAll[i] = resource.delete().catchError(new Operation<PromiseError>() {
@Override
public void apply(PromiseError error) throws OperationException {
notificationManager.notify("Failed to delete '" + resource.getName() + "'", error.getMessage(), FAIL, StatusNotification.DisplayMode.FLOAT_MODE);
}
});
}
promiseProvider.all(deleteAll).then(new Operation<JsArrayMixed>() {
@Override
public void apply(JsArrayMixed arg) throws OperationException {
callback.onSuccess(null);
}
});
}
};
}
use of org.eclipse.che.api.promises.client.PromiseError in project che by eclipse.
the class DebuggerTest method testAttachDebugger.
@Test
public void testAttachDebugger() throws Exception {
debugger.setDebugSession(null);
final String debugSessionJson = "debugSession";
doReturn(debugSessionJson).when(dtoFactory).toJson(debugSessionDto);
doReturn(mock(StartActionDto.class)).when(dtoFactory).createDto(StartActionDto.class);
Map<String, String> connectionProperties = mock(Map.class);
Promise<DebugSessionDto> promiseDebuggerInfo = mock(Promise.class);
doReturn(promiseDebuggerInfo).when(service).connect("id", connectionProperties);
doReturn(promiseVoid).when(promiseDebuggerInfo).then((Function<DebugSessionDto, Void>) any());
doReturn(promiseVoid).when(promiseVoid).catchError((Operation<PromiseError>) any());
Promise<Void> result = debugger.connect(connectionProperties);
assertEquals(promiseVoid, result);
verify(promiseDebuggerInfo).then(argumentCaptorFunctionJavaDebugSessionVoid.capture());
argumentCaptorFunctionJavaDebugSessionVoid.getValue().apply(debugSessionDto);
verify(promiseVoid).catchError(operationPromiseErrorCaptor.capture());
try {
operationPromiseErrorCaptor.getValue().apply(promiseError);
fail("Operation Exception expected");
} catch (OperationException e) {
verify(promiseError).getMessage();
verify(promiseError).getCause();
}
verify(observer).onDebuggerAttached(debuggerDescriptor, promiseVoid);
assertTrue(debugger.isConnected());
verify(localStorage).setItem(eq(AbstractDebugger.LOCAL_STORAGE_DEBUGGER_SESSION_KEY), eq(debugSessionJson));
verify(messageBus).subscribe(eq("id:events:"), any(SubscriptionHandler.class));
}
Aggregations