public CredentialsProvider getCredentialsProvider()

in github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitHubRepository.java [73:122]


  public CredentialsProvider getCredentialsProvider() {
    return new CredentialsProvider() {

      @Override
      public boolean supports(CredentialItem... items) {
        for (CredentialItem i : items) {
          if (i instanceof CredentialItem.Username) {
            continue;
          } else if (i instanceof CredentialItem.Password) {
            continue;
          } else {
            return false;
          }
        }
        return true;
      }

      @Override
      public boolean isInteractive() {
        return false;
      }

      @Override
      public boolean get(URIish uri, CredentialItem... items) throws UnsupportedCredentialItem {
        String user = uri.getUser();
        if (user == null) {
          user = GitHubRepository.this.username;
        }
        if (user == null) {
          return false;
        }

        String passwd = GitHubRepository.this.password;
        if (passwd == null) {
          return false;
        }

        for (CredentialItem i : items) {
          if (i instanceof CredentialItem.Username) {
            ((CredentialItem.Username) i).setValue(user);
          } else if (i instanceof CredentialItem.Password) {
            ((CredentialItem.Password) i).setValue(passwd.toCharArray());
          } else {
            throw new UnsupportedCredentialItem(uri, i.getPromptText());
          }
        }
        return true;
      }
    };
  }