From d32e4c150373b99801e2e1ca89d386e46eca0043 Mon Sep 17 00:00:00 2001 From: Max Shaposhnik Date: Fri, 19 Feb 2016 12:51:01 +0200 Subject: [PATCH] Fix callback --- .../projectimport/wizard/ProjectImporter.java | 25 ++++++------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/projectimport/wizard/ProjectImporter.java b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/projectimport/wizard/ProjectImporter.java index 055563ccc226..10655aa70fa6 100644 --- a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/projectimport/wizard/ProjectImporter.java +++ b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/projectimport/wizard/ProjectImporter.java @@ -21,7 +21,6 @@ import org.eclipse.che.api.promises.client.OperationException; import org.eclipse.che.api.promises.client.Promise; import org.eclipse.che.api.promises.client.PromiseError; -import org.eclipse.che.api.promises.client.callback.AsyncPromiseHelper; import org.eclipse.che.api.vfs.gwt.client.VfsServiceClient; import org.eclipse.che.api.vfs.shared.dto.Item; import org.eclipse.che.api.workspace.shared.dto.ProjectConfigDto; @@ -112,19 +111,13 @@ protected void onFailure(Throwable exception) { protected Promise importProject(@NotNull final String pathToProject, @NotNull final String projectName, @NotNull final SourceStorageDto sourceStorage) { - return AsyncPromiseHelper.createFromAsyncRequest(new AsyncPromiseHelper.RequestCall() { - @Override - public void makeCall(AsyncCallback internalCallback) { - doImport(pathToProject, projectName, sourceStorage, internalCallback); - } - }); + return doImport(pathToProject, projectName, sourceStorage); } - private void doImport(@NotNull final String pathToProject, + private Promise doImport(@NotNull final String pathToProject, @NotNull final String projectName, - @NotNull final SourceStorageDto sourceStorage, - final AsyncCallback internalCallback) { + @NotNull final SourceStorageDto sourceStorage) { final ProjectNotificationSubscriber subscriber = subscriberFactory.createSubscriber(); subscriber.subscribe(projectName); Promise importPromise = projectService.importProject(workspaceId, pathToProject, false, sourceStorage); @@ -135,7 +128,6 @@ public void apply(Void arg) throws OperationException { eventBus.fireEvent(new CreateProjectEvent(projectConfig)); projectResolver.resolveProject(callback, projectConfig); subscriber.onSuccess(); - internalCallback.onSuccess(null); } }).catchError(new Operation() { @Override @@ -158,19 +150,19 @@ public void apply(PromiseError exception) throws OperationException { pathToProject, projectName, sourceStorage, - subscriber, - internalCallback); + subscriber); } else { dialogFactory.createMessageDialog(localizationConstant.oauthFailedToGetAuthenticatorTitle(), localizationConstant.oauthFailedToGetAuthenticatorText(), null).show(); } } else { subscriber.onFailure(exception.getMessage()); - internalCallback.onFailure(exception.getCause()); callback.onFailure(new Exception(exception.getCause().getMessage())); } } }); + + return importPromise; } private void tryAuthenticateRepeatImport(@NotNull final String providerName, @@ -178,8 +170,7 @@ private void tryAuthenticateRepeatImport(@NotNull final String providerName, @NotNull final String pathToProject, @NotNull final String projectName, @NotNull final SourceStorageDto sourceStorage, - @NotNull final ProjectNotificationSubscriber subscriber, - final AsyncCallback internalCallback) { + @NotNull final ProjectNotificationSubscriber subscriber) { OAuth2Authenticator authenticator = oAuth2AuthenticatorRegistry.getAuthenticator(providerName); if(authenticator == null) { authenticator = oAuth2AuthenticatorRegistry.getAuthenticator("default"); @@ -194,7 +185,7 @@ public void onFailure(Throwable caught) { @Override public void onSuccess(OAuthStatus result) { if (!result.equals(OAuthStatus.NOT_PERFORMED)) { - doImport(pathToProject, projectName, sourceStorage, internalCallback); + doImport(pathToProject, projectName, sourceStorage); } else { subscriber.onFailure("Authentication cancelled"); callback.onCompleted();