/** * Shows GitHub login settings if credentials are wrong or empty and return the list of all the * watched repos by user * * @param project * @return */ @Nullable public static RepositoryInfo getDetailedRepositoryInfo( final Project project, final String owner, final String name) throws IOException { while (!checkCredentials(project)) { final GithubLoginDialog dialog = new GithubLoginDialog(project); dialog.show(); if (!dialog.isOK()) { return null; } } // Otherwise our credentials are valid and they are successfully stored in settings final GithubSettings settings = GithubSettings.getInstance(); final String validPassword = settings.getPassword(); return accessToGithubWithModalProgress( project, settings.getHost(), new ThrowableComputable<RepositoryInfo, IOException>() { @Nullable @Override public RepositoryInfo compute() { ProgressManager.getInstance() .getProgressIndicator() .setText("Extracting detailed info about repository ''" + name + "''"); return getDetailedRepoInfo( settings.getHost(), settings.getLogin(), validPassword, owner, name); } }); }
/** * Shows GitHub login settings if credentials are wrong or empty and return the list of all the * watched repos by user * * @param project * @return */ @Nullable public static List<RepositoryInfo> getAvailableRepos(final Project project) throws IOException { while (!checkCredentials(project)) { final GithubLoginDialog dialog = new GithubLoginDialog(project); dialog.show(); if (!dialog.isOK()) { return null; } } // Otherwise our credentials are valid and they are successfully stored in settings final GithubSettings settings = GithubSettings.getInstance(); final String validPassword = settings.getPassword(); return accessToGithubWithModalProgress( project, settings.getHost(), new ThrowableComputable<List<RepositoryInfo>, IOException>() { @Override public List<RepositoryInfo> compute() throws IOException { ProgressManager.getInstance() .getProgressIndicator() .setText("Extracting info about available repositories"); return getAvailableRepos(settings.getHost(), settings.getLogin(), validPassword); } }); }