diff options
Diffstat (limited to 'plugins/github')
15 files changed, 43 insertions, 35 deletions
diff --git a/plugins/github/src/org/jetbrains/plugins/github/GithubRebaseAction.java b/plugins/github/src/org/jetbrains/plugins/github/GithubRebaseAction.java index a733674f220e..714191d06b98 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/GithubRebaseAction.java +++ b/plugins/github/src/org/jetbrains/plugins/github/GithubRebaseAction.java @@ -43,7 +43,6 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.github.api.GithubApiUtil; import org.jetbrains.plugins.github.api.GithubFullPath; import org.jetbrains.plugins.github.api.GithubRepoDetailed; -import org.jetbrains.plugins.github.exceptions.GithubOperationCanceledException; import org.jetbrains.plugins.github.util.*; import java.io.IOException; @@ -196,7 +195,7 @@ public class GithubRebaseAction extends DumbAwareAction { } try { - return GithubUtil.runTask(project, GithubAuthDataHolder.createFromSettings(), indicator, + return GithubUtil.runTask(project, GithubAuthDataHolder.createFromSettings(indicator.getModalityState()), indicator, new ThrowableConvertor<GithubAuthData, GithubRepoDetailed, IOException>() { @NotNull @Override @@ -227,6 +226,7 @@ public class GithubRebaseAction extends DumbAwareAction { @NotNull final ProgressIndicator indicator) { final Git git = ServiceManager.getService(project, Git.class); final GitPlatformFacade facade = ServiceManager.getService(project, GitPlatformFacade.class); + GitUtil.workingTreeChangeStarted(project); GitPreservingProcess process = new GitPreservingProcess(project, facade, git, Collections.singletonList(gitRepository), "Rebasing", "upstream/master", indicator, new Runnable() { @@ -237,6 +237,7 @@ public class GithubRebaseAction extends DumbAwareAction { } ); process.execute(); + GitUtil.workingTreeChangeFinished(project); } private static void doRebaseCurrentBranch(@NotNull final Project project, diff --git a/plugins/github/src/org/jetbrains/plugins/github/GithubShareAction.java b/plugins/github/src/org/jetbrains/plugins/github/GithubShareAction.java index 9431b91f3b2f..7c18b3bf7ffc 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/GithubShareAction.java +++ b/plugins/github/src/org/jetbrains/plugins/github/GithubShareAction.java @@ -125,7 +125,7 @@ public class GithubShareAction extends DumbAwareAction { externalRemoteDetected = !gitRepository.getRemotes().isEmpty(); } - final GithubAuthDataHolder authHolder = GithubAuthDataHolder.createFromSettings(); + final GithubAuthDataHolder authHolder = GithubAuthDataHolder.createFromSettings(null); // get available GitHub repos with modal progress final GithubInfo githubInfo = loadGithubInfoWithModal(authHolder, project); diff --git a/plugins/github/src/org/jetbrains/plugins/github/extensions/GithubCheckoutProvider.java b/plugins/github/src/org/jetbrains/plugins/github/extensions/GithubCheckoutProvider.java index 6b3f73f5f8be..115258d9bee2 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/extensions/GithubCheckoutProvider.java +++ b/plugins/github/src/org/jetbrains/plugins/github/extensions/GithubCheckoutProvider.java @@ -61,7 +61,7 @@ public class GithubCheckoutProvider implements CheckoutProvider { @NotNull @Override public List<GithubRepo> convert(ProgressIndicator indicator) throws IOException { - return GithubUtil.runTask(project, GithubAuthDataHolder.createFromSettings(), indicator, + return GithubUtil.runTask(project, GithubAuthDataHolder.createFromSettings(indicator.getModalityState()), indicator, new ThrowableConvertor<GithubAuthData, List<GithubRepo>, IOException>() { @NotNull @Override diff --git a/plugins/github/src/org/jetbrains/plugins/github/extensions/GithubHttpAuthDataProvider.java b/plugins/github/src/org/jetbrains/plugins/github/extensions/GithubHttpAuthDataProvider.java index 5a7daf94a9fd..47d3edcb3de5 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/extensions/GithubHttpAuthDataProvider.java +++ b/plugins/github/src/org/jetbrains/plugins/github/extensions/GithubHttpAuthDataProvider.java @@ -15,6 +15,7 @@ */ package org.jetbrains.plugins.github.extensions; +import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.AuthData; import git4idea.remote.GitHttpAuthDataProvider; @@ -31,7 +32,7 @@ public class GithubHttpAuthDataProvider implements GitHttpAuthDataProvider { @Nullable @Override - public AuthData getAuthData(@NotNull String url) { + public AuthData getAuthData(@NotNull String url, @Nullable ModalityState modalityState) { if (!GithubUrlUtil.isGithubUrl(url)) { return null; } @@ -47,7 +48,7 @@ public class GithubHttpAuthDataProvider implements GitHttpAuthDataProvider { return null; } - GithubAuthData auth = settings.getAuthData(); + GithubAuthData auth = settings.getAuthData(modalityState); switch (auth.getAuthType()) { case BASIC: GithubAuthData.BasicAuth basicAuth = auth.getBasicAuth(); diff --git a/plugins/github/src/org/jetbrains/plugins/github/tasks/GithubRepositoryEditor.java b/plugins/github/src/org/jetbrains/plugins/github/tasks/GithubRepositoryEditor.java index 5333d82e3baf..9cf3cdf4b4fe 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/tasks/GithubRepositoryEditor.java +++ b/plugins/github/src/org/jetbrains/plugins/github/tasks/GithubRepositoryEditor.java @@ -125,7 +125,8 @@ public class GithubRepositoryEditor extends BaseRepositoryEditor<GithubRepositor @Override public String convert(ProgressIndicator indicator) throws IOException { return GithubUtil - .runTaskWithBasicAuthForHost(myProject, GithubAuthDataHolder.createFromSettings(), indicator, getHost(), + .runTaskWithBasicAuthForHost(myProject, GithubAuthDataHolder.createFromSettings(indicator.getModalityState()), + indicator, getHost(), new ThrowableConvertor<GithubAuthData, String, IOException>() { @NotNull @Override diff --git a/plugins/github/src/org/jetbrains/plugins/github/ui/GithubSettingsPanel.java b/plugins/github/src/org/jetbrains/plugins/github/ui/GithubSettingsPanel.java index 7de0dae30d69..229170e29ead 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/ui/GithubSettingsPanel.java +++ b/plugins/github/src/org/jetbrains/plugins/github/ui/GithubSettingsPanel.java @@ -130,7 +130,8 @@ public class GithubSettingsPanel { @NotNull @Override public String convert(ProgressIndicator indicator) throws IOException { - return GithubUtil.runTaskWithBasicAuthForHost(project, GithubAuthDataHolder.createFromSettings(), indicator, getHost(), + return GithubUtil.runTaskWithBasicAuthForHost(project, GithubAuthDataHolder.createFromSettings(indicator.getModalityState()), + indicator, getHost(), new ThrowableConvertor<GithubAuthData, String, IOException>() { @NotNull @Override @@ -262,7 +263,7 @@ public class GithubSettingsPanel { @NotNull public GithubAuthData getAuthData() { if (!myCredentialsModified) { - return mySettings.getAuthData(); + return mySettings.getAuthData(null); } Object selected = myAuthTypeComboBox.getSelectedItem(); if (AUTH_PASSWORD.equals(selected)) return GithubAuthData.createBasicAuth(getHost(), getLogin(), getPassword()); @@ -290,7 +291,7 @@ public class GithubSettingsPanel { public void apply() { if (myCredentialsModified) { - mySettings.setAuthData(getAuthData(), true); + mySettings.setAuthData(getAuthData(), true, null); } mySettings.setConnectionTimeout(getConnectionTimeout()); resetCredentialsModification(); diff --git a/plugins/github/src/org/jetbrains/plugins/github/util/GithubAuthData.java b/plugins/github/src/org/jetbrains/plugins/github/util/GithubAuthData.java index f11044422154..d7981b261d7c 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/util/GithubAuthData.java +++ b/plugins/github/src/org/jetbrains/plugins/github/util/GithubAuthData.java @@ -15,6 +15,7 @@ */ package org.jetbrains.plugins.github.util; +import com.intellij.openapi.application.ModalityState; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.github.api.GithubApiUtil; @@ -52,8 +53,8 @@ public class GithubAuthData { myUseProxy = useProxy; } - public static GithubAuthData createFromSettings() { - return GithubSettings.getInstance().getAuthData(); + public static GithubAuthData createFromSettings(@Nullable ModalityState state) { + return GithubSettings.getInstance().getAuthData(state); } public static GithubAuthData createAnonymous() { diff --git a/plugins/github/src/org/jetbrains/plugins/github/util/GithubAuthDataHolder.java b/plugins/github/src/org/jetbrains/plugins/github/util/GithubAuthDataHolder.java index 695dfe734c34..24303a34d240 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/util/GithubAuthDataHolder.java +++ b/plugins/github/src/org/jetbrains/plugins/github/util/GithubAuthDataHolder.java @@ -15,8 +15,10 @@ */ package org.jetbrains.plugins.github.util; +import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.util.ThrowableComputable; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public class GithubAuthDataHolder { @@ -40,7 +42,7 @@ public class GithubAuthDataHolder { myAuthData = task.compute(); } - public static GithubAuthDataHolder createFromSettings() { - return new GithubAuthDataHolder(GithubSettings.getInstance().getAuthData()); + public static GithubAuthDataHolder createFromSettings(@Nullable ModalityState state) { + return new GithubAuthDataHolder(GithubSettings.getInstance().getAuthData(state)); } } diff --git a/plugins/github/src/org/jetbrains/plugins/github/util/GithubSettings.java b/plugins/github/src/org/jetbrains/plugins/github/util/GithubSettings.java index 3523e412a95e..a2bdca59bbe4 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/util/GithubSettings.java +++ b/plugins/github/src/org/jetbrains/plugins/github/util/GithubSettings.java @@ -19,6 +19,7 @@ import com.intellij.ide.passwordSafe.PasswordSafe; import com.intellij.ide.passwordSafe.PasswordSafeException; import com.intellij.ide.passwordSafe.config.PasswordSafeSettings; import com.intellij.ide.passwordSafe.impl.PasswordSafeImpl; +import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.components.*; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.text.StringUtil; @@ -151,10 +152,10 @@ public class GithubSettings implements PersistentStateComponent<GithubSettings.S } @NotNull - private String getPassword() { + private String getPassword(@Nullable ModalityState state) { String password; try { - password = PasswordSafe.getInstance().getPassword(null, GithubSettings.class, GITHUB_SETTINGS_PASSWORD_KEY); + password = PasswordSafe.getInstance().getPassword(null, GithubSettings.class, GITHUB_SETTINGS_PASSWORD_KEY, state); } catch (PasswordSafeException e) { LOG.info("Couldn't get password for key [" + GITHUB_SETTINGS_PASSWORD_KEY + "]", e); @@ -164,10 +165,10 @@ public class GithubSettings implements PersistentStateComponent<GithubSettings.S return StringUtil.notNullize(password); } - private void setPassword(@NotNull String password, boolean rememberPassword) { + private void setPassword(@NotNull String password, boolean rememberPassword, @Nullable ModalityState state) { try { if (rememberPassword) { - PasswordSafe.getInstance().storePassword(null, GithubSettings.class, GITHUB_SETTINGS_PASSWORD_KEY, password); + PasswordSafe.getInstance().storePassword(null, GithubSettings.class, GITHUB_SETTINGS_PASSWORD_KEY, password, state); } else { final PasswordSafeImpl passwordSafe = (PasswordSafeImpl)PasswordSafe.getInstance(); @@ -196,13 +197,13 @@ public class GithubSettings implements PersistentStateComponent<GithubSettings.S } @NotNull - public GithubAuthData getAuthData() { + public GithubAuthData getAuthData(@Nullable ModalityState state) { switch (getAuthType()) { case BASIC: //noinspection ConstantConditions - return GithubAuthData.createBasicAuth(getHost(), getLogin(), getPassword()); + return GithubAuthData.createBasicAuth(getHost(), getLogin(), getPassword(state)); case TOKEN: - return GithubAuthData.createTokenAuth(getHost(), getPassword()); + return GithubAuthData.createTokenAuth(getHost(), getPassword(state)); case ANONYMOUS: return GithubAuthData.createAnonymous(); default: @@ -210,7 +211,7 @@ public class GithubSettings implements PersistentStateComponent<GithubSettings.S } } - public void setAuthData(@NotNull GithubAuthData auth, boolean rememberPassword) { + public void setAuthData(@NotNull GithubAuthData auth, boolean rememberPassword, @Nullable ModalityState state) { setValidGitAuth(isValidGitAuth(auth)); setAuthType(auth.getAuthType()); @@ -220,16 +221,16 @@ public class GithubSettings implements PersistentStateComponent<GithubSettings.S case BASIC: assert auth.getBasicAuth() != null; setLogin(auth.getBasicAuth().getLogin()); - setPassword(auth.getBasicAuth().getPassword(), rememberPassword); + setPassword(auth.getBasicAuth().getPassword(), rememberPassword, state); break; case TOKEN: assert auth.getTokenAuth() != null; setLogin(null); - setPassword(auth.getTokenAuth().getToken(), rememberPassword); + setPassword(auth.getTokenAuth().getToken(), rememberPassword, state); break; case ANONYMOUS: setLogin(null); - setPassword("", rememberPassword); + setPassword("", rememberPassword, state); break; default: throw new IllegalStateException("GithubSettings: setAuthData - wrong AuthType: " + auth.getAuthType()); diff --git a/plugins/github/src/org/jetbrains/plugins/github/util/GithubUtil.java b/plugins/github/src/org/jetbrains/plugins/github/util/GithubUtil.java index edd12ab85ab6..e4af54f84639 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/util/GithubUtil.java +++ b/plugins/github/src/org/jetbrains/plugins/github/util/GithubUtil.java @@ -161,7 +161,7 @@ public class GithubUtil { if (ok[0]) { authData[0] = dialog.getAuthData(); - GithubSettings.getInstance().setAuthData(authData[0], dialog.isSavePasswordSelected()); + GithubSettings.getInstance().setAuthData(authData[0], dialog.isSavePasswordSelected(), indicator.getModalityState()); } } }, indicator.getModalityState()); @@ -195,7 +195,7 @@ public class GithubUtil { final GithubSettings settings = GithubSettings.getInstance(); if (settings.getAuthType() != GithubAuthData.AuthType.TOKEN) { - GithubSettings.getInstance().setAuthData(authData[0], dialog.isSavePasswordSelected()); + GithubSettings.getInstance().setAuthData(authData[0], dialog.isSavePasswordSelected(), indicator.getModalityState()); } } } @@ -247,7 +247,7 @@ public class GithubUtil { @NotNull public static GithubAuthDataHolder getValidAuthDataHolderFromConfig(@NotNull Project project, @NotNull ProgressIndicator indicator) throws IOException { - GithubAuthData auth = GithubAuthData.createFromSettings(); + GithubAuthData auth = GithubAuthData.createFromSettings(indicator.getModalityState()); GithubAuthDataHolder authHolder = new GithubAuthDataHolder(auth); try { checkAuthData(project, authHolder, indicator); diff --git a/plugins/github/test/org/jetbrains/plugins/github/GithubCreateGistTestBase.java b/plugins/github/test/org/jetbrains/plugins/github/GithubCreateGistTestBase.java index b54bd8c62b4e..d313398548a5 100644 --- a/plugins/github/test/org/jetbrains/plugins/github/GithubCreateGistTestBase.java +++ b/plugins/github/test/org/jetbrains/plugins/github/GithubCreateGistTestBase.java @@ -54,12 +54,12 @@ public abstract class GithubCreateGistTestBase extends GithubTest { @NotNull protected GithubAuthDataHolder getAuthDataHolder() { - return new GithubAuthDataHolder(myGitHubSettings.getAuthData()); + return new GithubAuthDataHolder(myGitHubSettings.getAuthData(null)); } protected void deleteGist() throws IOException { if (GIST_ID != null) { - GithubApiUtil.deleteGist(myGitHubSettings.getAuthData(), GIST_ID); + GithubApiUtil.deleteGist(myGitHubSettings.getAuthData(null), GIST_ID); GIST = null; GIST_ID = null; } @@ -82,7 +82,7 @@ public abstract class GithubCreateGistTestBase extends GithubTest { if (GIST == null) { try { - GIST = GithubApiUtil.getGist(myGitHubSettings.getAuthData(), GIST_ID); + GIST = GithubApiUtil.getGist(myGitHubSettings.getAuthData(null), GIST_ID); } catch (IOException e) { System.err.println(e.getMessage()); diff --git a/plugins/github/test/org/jetbrains/plugins/github/GithubRequestPagingTest.java b/plugins/github/test/org/jetbrains/plugins/github/GithubRequestPagingTest.java index 4fec0d1c7a5c..97b34aa7b26c 100644 --- a/plugins/github/test/org/jetbrains/plugins/github/GithubRequestPagingTest.java +++ b/plugins/github/test/org/jetbrains/plugins/github/GithubRequestPagingTest.java @@ -36,7 +36,7 @@ public class GithubRequestPagingTest extends GithubTest { public void testAvailableRepos() throws Throwable { - List<GithubRepo> availableRepos = GithubApiUtil.getUserRepos(myGitHubSettings.getAuthData(), myLogin2); + List<GithubRepo> availableRepos = GithubApiUtil.getUserRepos(myGitHubSettings.getAuthData(null), myLogin2); List<String> realData = new ArrayList<String>(); for (GithubRepo info : availableRepos) { realData.add(info.getName()); diff --git a/plugins/github/test/org/jetbrains/plugins/github/GithubShareProjectTest.java b/plugins/github/test/org/jetbrains/plugins/github/GithubShareProjectTest.java index c4063629cbbe..e6da326777c5 100644 --- a/plugins/github/test/org/jetbrains/plugins/github/GithubShareProjectTest.java +++ b/plugins/github/test/org/jetbrains/plugins/github/GithubShareProjectTest.java @@ -99,7 +99,7 @@ public class GithubShareProjectTest extends GithubShareProjectTestBase { } protected void checkGithubExists() throws IOException { - GithubAuthData auth = myGitHubSettings.getAuthData(); + GithubAuthData auth = myGitHubSettings.getAuthData(null); GithubRepoDetailed githubInfo = GithubApiUtil.getDetailedRepoInfo(auth, myLogin1, PROJECT_NAME); assertNotNull("GitHub repository does not exist", githubInfo); } diff --git a/plugins/github/test/org/jetbrains/plugins/github/GithubShareProjectTestBase.java b/plugins/github/test/org/jetbrains/plugins/github/GithubShareProjectTestBase.java index abfb5ece3819..f146b37f4208 100644 --- a/plugins/github/test/org/jetbrains/plugins/github/GithubShareProjectTestBase.java +++ b/plugins/github/test/org/jetbrains/plugins/github/GithubShareProjectTestBase.java @@ -48,7 +48,7 @@ public abstract class GithubShareProjectTestBase extends GithubTest { } protected void deleteGithubRepo() throws IOException { - GithubApiUtil.deleteGithubRepository(myGitHubSettings.getAuthData(), myLogin1, PROJECT_NAME); + GithubApiUtil.deleteGithubRepository(myGitHubSettings.getAuthData(null), myLogin1, PROJECT_NAME); } protected void registerDefaultShareDialogHandler() { diff --git a/plugins/github/test/org/jetbrains/plugins/github/test/GithubTest.java b/plugins/github/test/org/jetbrains/plugins/github/test/GithubTest.java index 3d3d8201e03a..b728913aeacb 100644 --- a/plugins/github/test/org/jetbrains/plugins/github/test/GithubTest.java +++ b/plugins/github/test/org/jetbrains/plugins/github/test/GithubTest.java @@ -172,7 +172,7 @@ public abstract class GithubTest extends GitPlatformTest { myAuth = GithubAuthData.createBasicAuth(host, login1, password); myGitHubSettings = GithubSettings.getInstance(); - myGitHubSettings.setAuthData(myAuth, false); + myGitHubSettings.setAuthData(myAuth, false, null); myHttpAuthService = (GitHttpAuthTestService)ServiceManager.getService(GitHttpAuthService.class); |