From 41de765e17ac9047e614f57367b0b1e140b1f66b Mon Sep 17 00:00:00 2001 From: Matthias Sohn Date: Fri, 25 Nov 2011 22:05:16 +0100 Subject: Provide a way to reset stored credentials When credentials of a user change the credentials stored in secure store need to be reset to enable prompting for the new credentials. Depends on JGit change I7d64c5f39b68a9687c858bb68a961616eabbc751 Bug: 356233 Change-Id: I22865b0387642e66021bb980e584dfc6394a4108 Signed-off-by: Matthias Sohn --- org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIText.java | 3 +++ .../ui/internal/credentials/EGitCredentialsProvider.java | 13 +++++++++++++ .../src/org/eclipse/egit/ui/uitext.properties | 1 + 3 files changed, 17 insertions(+) diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIText.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIText.java index e5e221d14a..e4186612d6 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIText.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIText.java @@ -210,6 +210,9 @@ public class UIText extends NLS { /** */ public static String EGitCredentialsProvider_errorReadingCredentials; + /** */ + public static String EGitCredentialsProvider_FailedToClearCredentials; + /** */ public static String EgitUiUtils_CouldNotOpenEditorMessage; diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/credentials/EGitCredentialsProvider.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/credentials/EGitCredentialsProvider.java index aa1e1c8f3c..33d8f1bd15 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/credentials/EGitCredentialsProvider.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/credentials/EGitCredentialsProvider.java @@ -9,6 +9,8 @@ *******************************************************************************/ package org.eclipse.egit.ui.internal.credentials; +import java.io.IOException; +import java.text.MessageFormat; import java.util.concurrent.atomic.AtomicReference; import org.eclipse.egit.core.Activator; @@ -134,6 +136,17 @@ public class EGitCredentialsProvider extends CredentialsProvider { return result[0]; } + @Override + public void reset(URIish uri) { + try { + Activator.getDefault().getSecureStore().clearCredentials(uri); + } catch (IOException e) { + Activator.logError(MessageFormat.format( + UIText.EGitCredentialsProvider_FailedToClearCredentials, + uri), e); + } + } + /** * Opens a dialog for a single non-user, non-password type item. * @param shell the shell to use diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties index 4844b83183..18c17ce06a 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties @@ -77,6 +77,7 @@ GerritConfigurationPage_pushUri=Push URI GerritConfigurationPage_title=Gerrit Configuration EGitCredentialsProvider_errorReadingCredentials=Failed reading credentials from secure store +EGitCredentialsProvider_FailedToClearCredentials=Failed to clear credentials for {0} stored in secure store EGitCredentialsProvider_question=Question EGitCredentialsProvider_information=Information CustomPromptDialog_provide_information_for=Provide information for {0} -- cgit v1.2.3