diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/GenericNotifierImpl.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/GenericNotifierImpl.java index 9007383485aa..e0d9a9e7498e 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/GenericNotifierImpl.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/GenericNotifierImpl.java @@ -131,6 +131,14 @@ public abstract class GenericNotifierImpl { } } + @Nullable + protected T getObj(final Key key) { + synchronized (myLock) { + final MyNotification notification = myState.get(key); + return notification == null ? null : notification.getObj(); + } + } + protected static class MyNotification extends Notification { private T myObj; diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnAuthenticationNotifier.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnAuthenticationNotifier.java index f08e31f0768b..5008f1e6818e 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnAuthenticationNotifier.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnAuthenticationNotifier.java @@ -28,11 +28,13 @@ import com.intellij.openapi.vcs.changes.ui.ChangesViewBalloonProblemNotifier; import com.intellij.openapi.vcs.impl.GenericNotifierImpl; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.jetbrains.idea.svn.dialogs.SvnInteractiveAuthenticationProvider; import org.tmatesoft.svn.core.SVNAuthenticationException; import org.tmatesoft.svn.core.SVNCancelException; import org.tmatesoft.svn.core.SVNException; import org.tmatesoft.svn.core.SVNURL; import org.tmatesoft.svn.core.auth.ISVNAuthenticationManager; +import org.tmatesoft.svn.core.auth.SVNAuthentication; import org.tmatesoft.svn.core.internal.util.SVNURLUtil; import org.tmatesoft.svn.core.wc.SVNRevision; import org.tmatesoft.svn.core.wc.SVNWCClient; @@ -59,7 +61,7 @@ public class SvnAuthenticationNotifier extends GenericNotifierImpl resultRef = new Ref(); final boolean done = ProgressManager.getInstance().runProcessWithProgressSynchronously(new Runnable() { public void run() { - final boolean result = interactiveValidation(obj.myProject, obj.getUrl()); + final boolean result = interactiveValidation(obj.myProject, obj.getUrl(), obj.getRealm(), obj.getKind()); log("ask result for: " + obj.getUrl() + " is: " + result); resultRef.set(result); if (result) { @@ -76,7 +78,8 @@ public class SvnAuthenticationNotifier extends GenericNotifierImpl