From 0b05b9677807f0b495f43d892f4ffc615281e5ee Mon Sep 17 00:00:00 2001 From: Julia Beliaeva Date: Tue, 16 Apr 2019 20:41:45 +0300 Subject: [PATCH] [vcs-log-graph] cleanup code: use separate branches for nodes and edges --- .../impl/print/ColorGetterByLayoutIndex.java | 38 +++++++++---------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/platform/vcs-log/graph/src/com/intellij/vcs/log/graph/impl/print/ColorGetterByLayoutIndex.java b/platform/vcs-log/graph/src/com/intellij/vcs/log/graph/impl/print/ColorGetterByLayoutIndex.java index a56f94f45c3c..107e72166dbf 100644 --- a/platform/vcs-log/graph/src/com/intellij/vcs/log/graph/impl/print/ColorGetterByLayoutIndex.java +++ b/platform/vcs-log/graph/src/com/intellij/vcs/log/graph/impl/print/ColorGetterByLayoutIndex.java @@ -39,41 +39,37 @@ public class ColorGetterByLayoutIndex { } public int getColorId(@NotNull GraphElement element) { - int upNodeIndex, downNodeIndex; if (element instanceof GraphNode) { - upNodeIndex = ((GraphNode)element).getNodeIndex(); - downNodeIndex = upNodeIndex; + int nodeIndex = ((GraphNode)element).getNodeIndex(); + return getNodeColor(nodeIndex, getLayoutIndex(nodeIndex)); } else { GraphEdge edge = (GraphEdge)element; NormalEdge normalEdge = LinearGraphUtils.asNormalEdge(edge); - if (normalEdge != null) { - upNodeIndex = normalEdge.up; - downNodeIndex = normalEdge.down; + if (normalEdge == null) { + int nodeIndex = LinearGraphUtils.getNotNullNodeIndex(edge); + return getNodeColor(nodeIndex, getLayoutIndex(nodeIndex)); } - else { - upNodeIndex = LinearGraphUtils.getNotNullNodeIndex(edge); - downNodeIndex = upNodeIndex; + + int upLayoutIndex = getLayoutIndex(normalEdge.up); + int downLayoutIndex = getLayoutIndex(normalEdge.down); + + if (upLayoutIndex >= downLayoutIndex) { + return getNodeColor(normalEdge.up, upLayoutIndex); } + + return getNodeColor(normalEdge.down, downLayoutIndex); } - - int upLayoutIndex = getLayoutIndex(upNodeIndex); - int downLayoutIndex = getLayoutIndex(downNodeIndex); - - if (upLayoutIndex >= downLayoutIndex) { - return getNodeColor(getHeadNodeId(upNodeIndex), upLayoutIndex); - } - - return getNodeColor(getHeadNodeId(downNodeIndex), downLayoutIndex); } - protected int getNodeColor(int headNodeId, int nodeLayoutIndex) { + protected int getNodeColor(int nodeIndex, int layoutIndex) { + int headNodeId = getHeadNodeId(nodeIndex); CommitId headCommitId = myPermanentGraphInfo.getPermanentCommitsInfo().getCommitId(headNodeId); - if (nodeLayoutIndex == myPermanentGraphInfo.getPermanentGraphLayout().getLayoutIndex(headNodeId)) { + if (layoutIndex == myPermanentGraphInfo.getPermanentGraphLayout().getLayoutIndex(headNodeId)) { return myColorManager.getColorOfBranch(headCommitId); } else { - return myColorManager.getColorOfFragment(headCommitId, nodeLayoutIndex); + return myColorManager.getColorOfFragment(headCommitId, layoutIndex); } }