From 6eebae87c7194efae360be0e472ce5880eb358ff Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Thu, 10 Oct 2013 18:56:43 +0400 Subject: [PATCH] [log] move a method to VcsLogUtil. --- .../com/intellij/vcs/log/impl/VcsLogUtil.java | 50 +++++++++++++++++++ .../vcs/log/ui/frame/BranchesPanel.java | 23 +-------- 2 files changed, 52 insertions(+), 21 deletions(-) create mode 100644 platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogUtil.java diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogUtil.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogUtil.java new file mode 100644 index 000000000000..a8f1585e936c --- /dev/null +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogUtil.java @@ -0,0 +1,50 @@ +/* + * Copyright 2000-2013 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.vcs.log.impl; + +import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.util.containers.MultiMap; +import com.intellij.vcs.log.VcsRef; +import org.jetbrains.annotations.NotNull; + +import java.util.Collection; +import java.util.Comparator; +import java.util.Map; +import java.util.TreeMap; + +/** + * @author Kirill Likhodedov + */ +public class VcsLogUtil { + @NotNull + public static MultiMap groupRefsByRoot(@NotNull Collection refs) { + MultiMap map = new MultiMap() { + @Override + protected Map> createMap() { + return new TreeMap>(new Comparator() { // TODO common to VCS root sorting method + @Override + public int compare(VirtualFile o1, VirtualFile o2) { + return o1.getPresentableUrl().compareTo(o2.getPresentableUrl()); + } + }); + } + }; + for (VcsRef ref : refs) { + map.putValue(ref.getRoot(), ref); + } + return map; + } +} diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/BranchesPanel.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/BranchesPanel.java index 2011f4f5560b..9870277f65f4 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/BranchesPanel.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/BranchesPanel.java @@ -2,7 +2,6 @@ package com.intellij.vcs.log.ui.frame; import com.google.common.collect.Ordering; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.util.containers.MultiMap; import com.intellij.util.ui.UIUtil; import com.intellij.vcs.log.RefGroup; import com.intellij.vcs.log.VcsLogProvider; @@ -10,6 +9,7 @@ import com.intellij.vcs.log.VcsLogRefManager; import com.intellij.vcs.log.VcsRef; import com.intellij.vcs.log.data.VcsLogDataHolder; import com.intellij.vcs.log.graph.render.PrintParameters; +import com.intellij.vcs.log.impl.VcsLogUtil; import com.intellij.vcs.log.ui.VcsLogUI; import com.intellij.vcs.log.ui.render.RefPainter; import org.jetbrains.annotations.NotNull; @@ -85,7 +85,7 @@ public class BranchesPanel extends JPanel { Collection allRefs = myDataHolder.getDataPack().getRefsModel().getBranches(); List refsToShow = new ArrayList(); - for (Map.Entry> entry : groupByRoot(allRefs).entrySet()) { + for (Map.Entry> entry : VcsLogUtil.groupRefsByRoot(allRefs).entrySet()) { VirtualFile root = entry.getKey(); Collection refs = entry.getValue(); VcsLogProvider provider = myDataHolder.getLogProvider(root); @@ -103,23 +103,4 @@ public class BranchesPanel extends JPanel { return refsToShow; } - @NotNull - private static MultiMap groupByRoot(@NotNull Collection refs) { - MultiMap map = new MultiMap() { - @Override - protected Map> createMap() { - return new TreeMap>(new Comparator() { // TODO common to VCS root sorting method - @Override - public int compare(VirtualFile o1, VirtualFile o2) { - return o1.getPresentableUrl().compareTo(o2.getPresentableUrl()); - } - }); - } - }; - for (VcsRef ref : refs) { - map.putValue(ref.getRoot(), ref); - } - return map; - } - }