/** Returns an operation which shows an error notification with the given title. */ private Operation<PromiseError> showErrorNotification(String title) { return err -> { notificationManager.notify(title, err.getMessage(), FAIL, EMERGE_MODE); throw new OperationException(err.getMessage()); }; }
@Override public void apply(PromiseError arg) throws OperationException { notificationManager.notify( "Problems with getting classpath", arg.getMessage(), FAIL, EMERGE_MODE); } });
/** Handle an error without IDE UI, as a fallback (when DialogFactory can't be used). */ private Operation<PromiseError> handleErrorFallback() { return err -> onInitializationFailed(err.getMessage()); }
private Promise<Node> logError(PromiseError error) { Log.info(getClass(), error.getMessage()); return promises.resolve(null); }
private Operation<PromiseError> logError() { return err -> view.showFactoryNameError( localizationConstant.createFactoryFromCurrentWorkspaceFailed(), err.getMessage()); }
@Override public void actionPerformed(ActionEvent e) { final Resource[] resources = appContext.getResources(); Set<String> pathsToExclude = stream(resources).map(resource -> resource.getLocation().toString()).collect(toSet()); fileWatcherExcludesOperation .addToFileWatcherExcludes(pathsToExclude) .catchError( error -> { notificationManager.notify(error.getMessage(), FAIL, EMERGE_MODE); }); }
@Override public void actionPerformed(ActionEvent e) { final Resource[] resources = appContext.getResources(); Set<String> pathsToRemove = stream(resources).map(resource -> resource.getLocation().toString()).collect(toSet()); fileWatcherExcludesOperation .removeFromFileWatcherExcludes(pathsToRemove) .catchError( error -> { notificationManager.notify(error.getMessage(), FAIL, EMERGE_MODE); }); }
/** Handle an error with IDE UI. */ private Operation<PromiseError> handleError() { return err -> { dialogFactory.createMessageDialog("IDE initialization failed", err.getMessage(), null).show(); Log.error(IdeBootstrap.class, err); }; }
/** * Provide ability to write to preferences state for all workspaces. It's used to clean up user * preferences */ private Promise<Void> writeToPreferences(JsonObject state) { preferencesManager.setValue(APP_STATE, state.toJson()); return preferencesManager .flushPreferences() .catchError( error -> { LOG.error( "Failed to store app's state to user's preferences: {}", error.getMessage()); }); } }
@Override public void actionPerformed(ActionEvent e) { final Resource resource = appContext.getResource(); checkState(resource instanceof Container, "Parent should be a container"); final Optional<Project> project = resource.getRelatedProject(); checkState(project.isPresent()); extensionService .classpathTree(project.get().getLocation().toString()) .then( classpathEntries -> { classpathResolver.resolveClasspathEntries(classpathEntries); classpathResolver.getSources().add(resource.getLocation().toString()); classpathResolver.updateClasspath(); }) .catchError( error -> { notificationManager.notify( "Can't get classpath", error.getMessage(), FAIL, EMERGE_MODE); }); }
@Override public void actionPerformed(ActionEvent e) { ReImportMavenProjectsCommandParameters paramsDto = dtoFactory .createDto(ReImportMavenProjectsCommandParameters.class) .withProjectsToUpdate(getPathsToSelectedMavenProject()); javaLanguageExtensionServiceClient .reImportMavenProjects(paramsDto) .catchError( error -> { notificationManager.notify( "Problem with reimporting maven dependencies", error.getMessage(), FAIL, EMERGE_MODE); }); }
private void showProjectsAndPackages() { extensionService .getDestinations() .then( projects -> { view.setTreeOfDestinations(refactorInfo, projects); view.show(refactorInfo); }) .catchError( error -> { notificationManager.notify( locale.showPackagesError(), error.getMessage(), Status.FAIL, FLOAT_MODE); }); }
@Override public void suspend() { if (!isConnected()) { return; } SuspendActionDto suspendAction = dtoFactory.createDto(SuspendActionDto.class); suspendAction.setType(Action.TYPE.SUSPEND); service .suspend(debugSessionDto.getId(), suspendAction) .catchError( error -> { notificationManager.notify(error.getMessage(), FAIL, FLOAT_MODE); }); }
/** Saves given contents into file under edit. */ private void saveContent(final String content) { localContent = content; comparedFile .updateContent(content) .then( ignored -> { eventBus.fireEvent(new FileContentUpdateEvent(comparedFile.getLocation().toString())); }) .catchError( error -> { notificationManager.notify(error.getMessage(), FAIL, NOT_EMERGE_MODE); }); }
/** {@inheritDoc} */ @Override public void onPreviewButtonClicked() { MoveSettings moveSettings = createMoveSettings(); extensionService .move(moveSettings) .then( refactoringResult -> { previewPresenter.show(refactoringResult.getCheWorkspaceEdit(), this); }) .catchError( error -> { notificationManager.notify( locale.showPreviewError(), error.getMessage(), Status.FAIL, FLOAT_MODE); }); }
@Override public void setValue(final Variable variable, final long threadId, final int frameIndex) { if (isConnected()) { Promise<Void> promise = service.setValue(debugSessionDto.getId(), toDto(variable), threadId, frameIndex); promise .then( it -> { for (DebuggerObserver observer : observers) { observer.onValueChanged(variable, threadId, frameIndex); } }) .catchError( error -> { Log.error(AbstractDebugger.class, error.getMessage()); }); } }
@Override public Promise<Void> deleteAllBreakpoints() { if (!isConnected()) { promiseProvider.reject("Debugger is not connected"); } return service .deleteAllBreakpoints(debugSessionDto.getId()) .then( it -> { for (DebuggerObserver observer : observers) { observer.onAllBreakpointsDeleted(); } }) .catchError( error -> { Log.error(AbstractDebugger.class, error.getMessage()); }); }
@Override public Promise<Void> addBreakpoint(final Breakpoint breakpoint) { if (!isConnected()) { promiseProvider.reject("Debugger is not connected"); } return service .addBreakpoint(debugSessionDto.getId(), toDto(breakpoint)) .then( it -> { for (DebuggerObserver observer : observers) { observer.onBreakpointAdded(breakpoint); } }) .catchError( error -> { Log.error(AbstractDebugger.class, error.getMessage()); }); }
/** {@inheritDoc} */ @Override public void onAcceptButtonClicked() { MoveSettings moveSettings = createMoveSettings(); extensionService .move(moveSettings) .then( refactoringResult -> { view.close(); applyWorkspaceEditAction.applyWorkspaceEdit(refactoringResult.getCheWorkspaceEdit()); setEditorFocus(); }) .catchError( error -> { notificationManager.notify( locale.showPreviewError(), error.getMessage(), Status.FAIL, FLOAT_MODE); }); }
@Override public Promise<Void> deleteBreakpoint(final Breakpoint breakpoint) { if (!isConnected()) { promiseProvider.reject("Debugger is not connected"); } return service .deleteBreakpoint(debugSessionDto.getId(), toDto(breakpoint.getLocation())) .then( it -> { for (DebuggerObserver observer : observers) { observer.onBreakpointDeleted(breakpoint); } }) .catchError( error -> { Log.error(AbstractDebugger.class, error.getMessage()); }); }