From 3cd7a98eea24dee6d0666e6c9c3da4a9d09cc262 Mon Sep 17 00:00:00 2001 From: Nadya Zabrodina Date: Wed, 21 Aug 2013 20:26:10 +0400 Subject: [PATCH] Common updateContent method for Merge and UpdateTo dialog moved to HgUiUtil *annotations added *appropriate argument list changed, method became static *tags/branches maps in HgBranchesAndTags simplify using container util maps --- .../org/zmlx/hg4idea/ui/HgMergeDialog.java | 22 ++++--------------- .../org/zmlx/hg4idea/ui/HgUpdateToDialog.java | 22 ++++--------------- .../zmlx/hg4idea/util/HgBranchesAndTags.java | 10 ++++----- .../src/org/zmlx/hg4idea/util/HgUiUtil.java | 10 +++++++++ 4 files changed, 22 insertions(+), 42 deletions(-) diff --git a/plugins/hg4idea/src/org/zmlx/hg4idea/ui/HgMergeDialog.java b/plugins/hg4idea/src/org/zmlx/hg4idea/ui/HgMergeDialog.java index fa3a8d2a4d26..fa6114c2a2e5 100644 --- a/plugins/hg4idea/src/org/zmlx/hg4idea/ui/HgMergeDialog.java +++ b/plugins/hg4idea/src/org/zmlx/hg4idea/ui/HgMergeDialog.java @@ -24,6 +24,7 @@ import org.zmlx.hg4idea.command.HgHeadsCommand; import org.zmlx.hg4idea.command.HgTagBranch; import org.zmlx.hg4idea.command.HgWorkingCopyRevisionsCommand; import org.zmlx.hg4idea.util.HgBranchesAndTags; +import org.zmlx.hg4idea.util.HgUiUtil; import javax.swing.*; import javax.swing.event.ChangeEvent; @@ -119,9 +120,9 @@ public class HgMergeDialog extends DialogWrapper { private void updateRepository() { VirtualFile repo = getRepository(); - loadBranches(repo); - loadTags(repo); - loadBookmarks(repo); + HgUiUtil.loadContentToDialog(repo, branchesForRepos, branchSelector); + HgUiUtil.loadContentToDialog(repo, tagsForRepos, tagSelector); + HgUiUtil.loadContentToDialog(repo, bookmarksForRepos, bookmarkSelector); loadHeads(repo); } @@ -132,21 +133,6 @@ public class HgMergeDialog extends DialogWrapper { bookmarkSelector.setEnabled(bookmarkOption.isSelected()); } - private void loadBranches(VirtualFile root) { - assert branchesForRepos.get(root) != null : "No inforamtion about root " + root; - branchSelector.setModel(new DefaultComboBoxModel(branchesForRepos.get(root).toArray())); - } - - private void loadTags(VirtualFile root) { - assert tagsForRepos.get(root) != null : "No inforamtion about root " + root; - tagSelector.setModel(new DefaultComboBoxModel(tagsForRepos.get(root).toArray())); - } - - private void loadBookmarks(VirtualFile root) { - assert tagsForRepos.get(root) != null : "No inforamtion about root " + root; - bookmarkSelector.setModel(new DefaultComboBoxModel(bookmarksForRepos.get(root).toArray())); - } - private void loadHeads(final VirtualFile root) { ApplicationManager.getApplication().executeOnPooledThread(new Runnable() { @Override diff --git a/plugins/hg4idea/src/org/zmlx/hg4idea/ui/HgUpdateToDialog.java b/plugins/hg4idea/src/org/zmlx/hg4idea/ui/HgUpdateToDialog.java index f81bf145d774..d6638dde80b4 100644 --- a/plugins/hg4idea/src/org/zmlx/hg4idea/ui/HgUpdateToDialog.java +++ b/plugins/hg4idea/src/org/zmlx/hg4idea/ui/HgUpdateToDialog.java @@ -19,6 +19,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.zmlx.hg4idea.command.HgTagBranch; import org.zmlx.hg4idea.util.HgBranchesAndTags; +import org.zmlx.hg4idea.util.HgUiUtil; import javax.swing.*; import javax.swing.event.ChangeEvent; @@ -130,27 +131,12 @@ public class HgUpdateToDialog extends DialogWrapper { private void updateRepository() { VirtualFile repo = hgRepositorySelectorComponent.getRepository(); - loadBranches(repo); - loadTags(repo); - loadBookmarks(repo); + HgUiUtil.loadContentToDialog(repo, branchesForRepos, branchSelector); + HgUiUtil.loadContentToDialog(repo, tagsForRepos, tagSelector); + HgUiUtil.loadContentToDialog(repo, bookmarksForRepos, bookmarkSelector); update(); } - private void loadBranches(VirtualFile root) { - assert branchesForRepos.get(root) != null : "No inforamtion about root " + root; - branchSelector.setModel(new DefaultComboBoxModel(branchesForRepos.get(root).toArray())); - } - - private void loadTags(VirtualFile root) { - assert tagsForRepos.get(root) != null : "No inforamtion about root " + root; - tagSelector.setModel(new DefaultComboBoxModel(tagsForRepos.get(root).toArray())); - } - - private void loadBookmarks(VirtualFile root) { - assert tagsForRepos.get(root) != null : "No inforamtion about root " + root; - bookmarkSelector.setModel(new DefaultComboBoxModel(bookmarksForRepos.get(root).toArray())); - } - protected JComponent createCenterPanel() { return contentPanel; } diff --git a/plugins/hg4idea/src/org/zmlx/hg4idea/util/HgBranchesAndTags.java b/plugins/hg4idea/src/org/zmlx/hg4idea/util/HgBranchesAndTags.java index 3ae621df4896..08d71414594b 100644 --- a/plugins/hg4idea/src/org/zmlx/hg4idea/util/HgBranchesAndTags.java +++ b/plugins/hg4idea/src/org/zmlx/hg4idea/util/HgBranchesAndTags.java @@ -16,7 +16,7 @@ package org.zmlx.hg4idea.util; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.util.containers.HashMap; +import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.zmlx.hg4idea.command.HgTagBranch; @@ -29,11 +29,9 @@ import java.util.Map; public class HgBranchesAndTags { - @NotNull private final Map> branchesForRepos = new HashMap>(); - @NotNull private final Map> tagsForRepos = new HashMap>(); - @NotNull private final Map> bookmarks = - new java.util.HashMap>(); - + @NotNull private final Map> branchesForRepos = ContainerUtil.newHashMap(); + @NotNull private final Map> tagsForRepos = ContainerUtil.newHashMap(); + @NotNull private final Map> bookmarks = ContainerUtil.newHashMap(); @NotNull public Map> getBranchesForRepos() { diff --git a/plugins/hg4idea/src/org/zmlx/hg4idea/util/HgUiUtil.java b/plugins/hg4idea/src/org/zmlx/hg4idea/util/HgUiUtil.java index caf51a3ce53a..6d806b309ed0 100644 --- a/plugins/hg4idea/src/org/zmlx/hg4idea/util/HgUiUtil.java +++ b/plugins/hg4idea/src/org/zmlx/hg4idea/util/HgUiUtil.java @@ -21,12 +21,16 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.Consumer; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.zmlx.hg4idea.HgVcsMessages; import org.zmlx.hg4idea.action.HgCommandResultNotifier; +import org.zmlx.hg4idea.command.HgTagBranch; import org.zmlx.hg4idea.command.HgTagBranchCommand; import org.zmlx.hg4idea.execution.HgCommandResult; +import javax.swing.*; import java.util.Collection; +import java.util.Map; /** * @author Nadya Zabrodina @@ -76,4 +80,10 @@ public class HgUiUtil { } }.queue(); } + + public static void loadContentToDialog(@Nullable VirtualFile root, @NotNull Map> contentMap, + @NotNull JComboBox selector) { + assert contentMap.get(root) != null : "No information about root " + root; + selector.setModel(new DefaultComboBoxModel(contentMap.get(root).toArray())); + } }