Browse Source

Define a default CredentialsProvider

This permits applications to set their preferred credentials UI
implementation once, rather than needing to define it on every
single Transport instance they open.

Change-Id: I010550de1a6becab27f7aa5a9901df5a1c7e74bd
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
stable-0.10
Shawn O. Pearce 14 years ago
parent
commit
ce99b48384
  1. 17
      org.eclipse.jgit/src/org/eclipse/jgit/transport/CredentialsProvider.java
  2. 1
      org.eclipse.jgit/src/org/eclipse/jgit/transport/Transport.java

17
org.eclipse.jgit/src/org/eclipse/jgit/transport/CredentialsProvider.java

@ -63,6 +63,23 @@ import org.eclipse.jgit.errors.UnsupportedCredentialItem;
* @see UsernamePasswordCredentialsProvider
*/
public abstract class CredentialsProvider {
private static volatile CredentialsProvider defaultProvider;
/** @return the default credentials provider, or null. */
public static CredentialsProvider getDefault() {
return defaultProvider;
}
/**
* Set the default credentials provider.
*
* @param p
* the new default provider, may be null to select no default.
*/
public static void setDefault(CredentialsProvider p) {
defaultProvider = p;
}
/**
* Check if the provider can supply the necessary {@link CredentialItem}s.
*

1
org.eclipse.jgit/src/org/eclipse/jgit/transport/Transport.java

@ -577,6 +577,7 @@ public abstract class Transport {
this.local = local;
this.uri = uri;
this.checkFetchedObjects = tc.isFsckObjects();
this.credentialsProvider = CredentialsProvider.getDefault();
}
/**

Loading…
Cancel
Save