use of org.eclipse.che.ide.api.notification.StatusNotification in project che by eclipse.
the class RevertPresenter method createConfirmDialog.
private ConfirmDialog createConfirmDialog(final Project project, final Resource[] resources) {
final ConfirmCallback okCallback = new ConfirmCallback() {
@Override
public void accepted() {
final StatusNotification notification = new StatusNotification(constants.revertStarted(), PROGRESS, FLOAT_MODE);
notificationManager.notify(notification);
service.revert(project.getLocation(), toRelative(project, resources), "infinity").then(new Operation<CLIOutputResponse>() {
@Override
public void apply(CLIOutputResponse response) throws OperationException {
List<String> errOutput = response.getErrOutput();
printResponse(response.getCommand(), response.getOutput(), errOutput, "svn revert");
if (errOutput == null || errOutput.size() == 0) {
notification.setTitle(constants.revertSuccessful());
notification.setStatus(SUCCESS);
} else {
notification.setTitle(constants.revertWarning());
notification.setStatus(SUCCESS);
}
}
}).catchError(new Operation<PromiseError>() {
@Override
public void apply(PromiseError error) throws OperationException {
notification.setTitle(constants.revertFailed());
notification.setStatus(FAIL);
}
});
}
};
final CancelCallback cancelCallback = new CancelCallback() {
@Override
public void cancelled() {
}
};
String pathsString = null;
for (Resource resource : resources) {
if (pathsString == null) {
pathsString = resource.getLocation().toString();
} else {
pathsString += ", " + resource.getLocation().toString();
}
}
String confirmText = resources.length > 0 ? constants.revertConfirmText(" to " + pathsString) : constants.revertConfirmText("");
return dialogFactory.createConfirmDialog(constants.revertTitle(), confirmText, okCallback, cancelCallback);
}
use of org.eclipse.che.ide.api.notification.StatusNotification in project che by eclipse.
the class UpdatePresenter method doUpdate.
protected void doUpdate(final String revision, final String depth, final boolean ignoreExternals, final UpdateToRevisionView view) {
final Project project = appContext.getRootProject();
checkState(project != null);
final Resource[] resources = appContext.getResources();
checkState(!Arrays.isNullOrEmpty(resources));
final StatusNotification notification = new StatusNotification(constants.updateToRevisionStarted(revision), PROGRESS, FLOAT_MODE);
notificationManager.notify(notification);
performOperationWithCredentialsRequestIfNeeded(new RemoteSubversionOperation<CLIOutputWithRevisionResponse>() {
@Override
public Promise<CLIOutputWithRevisionResponse> perform(Credentials credentials) {
notification.setStatus(PROGRESS);
notification.setTitle(constants.updateToRevisionStarted(revision));
return service.update(project.getLocation(), toRelative(project, resources), revision, depth, ignoreExternals, "postpone", credentials);
}
}, notification).then(new Operation<CLIOutputWithRevisionResponse>() {
@Override
public void apply(CLIOutputWithRevisionResponse response) throws OperationException {
printResponse(response.getCommand(), response.getOutput(), response.getErrOutput(), constants.commandUpdate());
notification.setTitle(constants.updateSuccessful(Long.toString(response.getRevision())));
notification.setStatus(SUCCESS);
if (view != null) {
view.close();
}
}
}).catchError(new Operation<PromiseError>() {
@Override
public void apply(PromiseError error) throws OperationException {
notification.setTitle(constants.updateFailed());
notification.setStatus(FAIL);
}
});
}
use of org.eclipse.che.ide.api.notification.StatusNotification in project che by eclipse.
the class RunClassContextTestAction method actionPerformed.
@Override
public void actionPerformed(ActionEvent e) {
final StatusNotification notification = new StatusNotification("Running Tests...", PROGRESS, FLOAT_MODE);
notificationManager.notify(notification);
final Selection<?> selection = selectionAgent.getSelection();
final Object possibleNode = selection.getHeadElement();
if (possibleNode instanceof FileNode) {
VirtualFile file = ((FileNode) possibleNode).getData();
final Project project = appContext.getRootProject();
String fqn = JavaUtil.resolveFQN(file);
Map<String, String> parameters = new HashMap<>();
parameters.put("fqn", fqn);
parameters.put("runClass", "true");
parameters.put("updateClasspath", "true");
Promise<TestResult> testResultPromise = service.getTestResult(project.getPath(), "testng", parameters);
testResultPromise.then(new Operation<TestResult>() {
@Override
public void apply(TestResult result) throws OperationException {
notification.setStatus(SUCCESS);
if (result.isSuccess()) {
notification.setTitle("Test runner executed successfully");
notification.setContent("All tests are passed");
} else {
notification.setTitle("Test runner executed successfully with test failures.");
notification.setContent(result.getFailureCount() + " test(s) failed.\n");
}
presenter.handleResponse(result);
}
}).catchError(new Operation<PromiseError>() {
@Override
public void apply(PromiseError exception) throws OperationException {
final String errorMessage = (exception.getMessage() != null) ? exception.getMessage() : "Failed to run test cases";
notification.setContent(errorMessage);
notification.setStatus(FAIL);
}
});
}
}
use of org.eclipse.che.ide.api.notification.StatusNotification in project che by eclipse.
the class PropertyEditorPresenter method deleteProperty.
private void deleteProperty(Project project) {
final String propertyName = view.getSelectedProperty();
final Depth depth = view.getDepth();
final boolean force = view.isForceSelected();
final Resource[] resources = appContext.getResources();
checkState(!Arrays.isNullOrEmpty(resources));
checkState(resources.length == 1);
final StatusNotification notification = new StatusNotification(constants.propertyRemoveStart(), PROGRESS, FLOAT_MODE);
notificationManager.notify(notification);
service.propertyDelete(project.getLocation(), propertyName, 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.propertyRemoveFinished());
notification.setStatus(SUCCESS);
}
}).catchError(new Operation<PromiseError>() {
@Override
public void apply(PromiseError error) throws OperationException {
notification.setTitle(constants.propertyRemoveFailed());
notification.setStatus(FAIL);
}
});
}
use of org.eclipse.che.ide.api.notification.StatusNotification 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);
}
});
}
Aggregations