use of org.eclipse.che.api.promises.client.Operation in project che by eclipse.
the class LockUnlockPresenter method doLockAction.
private void doLockAction(final boolean force, final Path[] paths) {
final Project project = appContext.getRootProject();
checkState(project != null);
performOperationWithCredentialsRequestIfNeeded(new RemoteSubversionOperation<CLIOutputResponse>() {
@Override
public Promise<CLIOutputResponse> perform(Credentials credentials) {
return service.lock(project.getLocation(), paths, force, credentials);
}
}, null).then(new Operation<CLIOutputResponse>() {
@Override
public void apply(CLIOutputResponse response) throws OperationException {
printResponse(response.getCommand(), response.getOutput(), response.getErrOutput(), constants.commandLock());
}
}).catchError(new Operation<PromiseError>() {
@Override
public void apply(PromiseError error) throws OperationException {
notificationManager.notify(error.getMessage(), FAIL, FLOAT_MODE);
}
});
}
use of org.eclipse.che.api.promises.client.Operation in project che by eclipse.
the class AddPresenter method showAdd.
public void showAdd() {
final Project project = appContext.getRootProject();
checkState(project != null);
final Resource[] resources = appContext.getResources();
checkState(!Arrays.isNullOrEmpty(resources));
final StatusNotification notification = new StatusNotification(constants.addStarted(resources.length), PROGRESS, FLOAT_MODE);
notificationManager.notify(notification);
service.add(project.getLocation(), toRelative(project, resources), null, false, true, false, false).then(new Operation<CLIOutputResponse>() {
@Override
public void apply(CLIOutputResponse response) throws OperationException {
printResponse(response.getCommand(), response.getOutput(), response.getErrOutput(), constants.commandAdd());
if (response.getErrOutput() == null || response.getErrOutput().size() == 0) {
notification.setTitle(constants.addSuccessful());
notification.setStatus(SUCCESS);
} else {
notification.setTitle(constants.addWarning());
notification.setStatus(FAIL);
}
}
}).catchError(new Operation<PromiseError>() {
@Override
public void apply(PromiseError error) throws OperationException {
notification.setTitle(constants.addFailed() + ": " + error.getMessage());
notification.setStatus(FAIL);
}
});
}
use of org.eclipse.che.api.promises.client.Operation in project che by eclipse.
the class CommitPresenter method doCommit.
private void doCommit(String message, Path[] paths, boolean keepLocks) {
final Project project = appContext.getRootProject();
checkState(project != null);
service.commit(project.getLocation(), paths, message, false, keepLocks).then(new Operation<CLIOutputWithRevisionResponse>() {
@Override
public void apply(CLIOutputWithRevisionResponse response) throws OperationException {
printResponse(response.getCommand(), response.getOutput(), response.getErrOutput(), constants.commandCommit());
}
}).catchError(new Operation<PromiseError>() {
@Override
public void apply(PromiseError error) throws OperationException {
final StatusNotification notification = new StatusNotification(error.getMessage(), FAIL, FLOAT_MODE);
notificationManager.notify(notification);
}
});
view.onClose();
}
use of org.eclipse.che.api.promises.client.Operation in project che by eclipse.
the class CommitPresenter method loadSelectionChanges.
private void loadSelectionChanges() {
final Project project = appContext.getRootProject();
checkState(project != null);
final Resource[] resources = appContext.getResources();
checkState(!Arrays.isNullOrEmpty(resources));
service.status(project.getLocation(), toRelative(project, resources), null, false, false, false, true, false, null).then(new Operation<CLIOutputResponse>() {
@Override
public void apply(CLIOutputResponse response) throws OperationException {
List<StatusItem> statusItems = parseChangesList(response);
view.setChangesList(statusItems);
cache.put(Changes.SELECTION, statusItems);
}
}).catchError(new Operation<PromiseError>() {
@Override
public void apply(PromiseError error) throws OperationException {
Log.error(CommitPresenter.class, error.getMessage());
}
});
}
use of org.eclipse.che.api.promises.client.Operation in project che by eclipse.
the class ResolvePresenter method showConflictsDialog.
public void showConflictsDialog() {
final Project project = appContext.getRootProject();
checkState(project != null);
final Resource[] resources = appContext.getResources();
checkState(!Arrays.isNullOrEmpty(resources));
service.showConflicts(project.getLocation(), toRelative(project, resources)).then(new Operation<CLIOutputResponse>() {
@Override
public void apply(CLIOutputResponse response) throws OperationException {
conflictsList = parseConflictsList(response.getOutput());
if (conflictsList.isEmpty()) {
dialogFactory.createMessageDialog(constants.resolveNoConflictTitle(), constants.resolveNoConflictContent(), null).show();
return;
}
for (String file : conflictsList) {
view.addConflictingFile(file);
}
view.showDialog();
}
}).catchError(new Operation<PromiseError>() {
@Override
public void apply(PromiseError error) throws OperationException {
}
});
}
Aggregations