[push] simplify understanding that there is only one repo in project

This commit is contained in:
Kirill Likhodedov
2014-08-14 18:01:23 +04:00
parent 267f8f5c36
commit 73d304004e
@@ -118,24 +118,22 @@ public class PushController implements Disposable {
//return is single repository project or not
private boolean createTreeModel(@NotNull CheckedTreeNode rootNode, @NotNull List<? extends Repository> preselectedRepositories) {
if (myPushSupports.isEmpty()) return true;
boolean isSingleRepositoryProject = myPushSupports.size() == 1;
int repoCount = 0;
for (PushSupport<? extends Repository> support : myPushSupports) {
isSingleRepositoryProject = createNodesForVcs(support, rootNode, preselectedRepositories, isSingleRepositoryProject);
repoCount += createNodesForVcs(support, rootNode, preselectedRepositories);
}
return isSingleRepositoryProject;
return repoCount == 1;
}
private <T extends Repository> boolean createNodesForVcs(@NotNull PushSupport<T> pushSupport,
@NotNull CheckedTreeNode rootNode,
@NotNull List<? extends Repository> preselectedRepositories,
boolean isSingleRepositoryProject) {
private <T extends Repository> int createNodesForVcs(@NotNull PushSupport<T> pushSupport,
@NotNull CheckedTreeNode rootNode,
@NotNull List<? extends Repository> preselectedRepositories) {
RepositoryManager<T> repositoryManager = pushSupport.getRepositoryManager();
List<T> repositories = repositoryManager.getRepositories();
isSingleRepositoryProject = isSingleRepositoryProject && repositories.size() == 1;
for (T repository : repositories) {
createRepoNode(pushSupport, repository, rootNode, preselectedRepositories.contains(repository), isSingleRepositoryProject);
createRepoNode(pushSupport, repository, rootNode, preselectedRepositories.contains(repository), repositories.size() == 1);
}
return isSingleRepositoryProject;
return repositories.size();
}
private <T extends Repository> void createRepoNode(@NotNull final PushSupport<T> support,