From f084f468756bde745d8e8e27c729f6e57bea5749 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Tue, 17 Sep 2013 17:34:00 -0400 Subject: [PATCH] Implemented a graph servlet based on EGit/JGit's PlotWalk (issue-194) --- src/main/java/com/gitblit/wicket/panels/LogPanel.java | 19 +++++++++++++++++++ 1 files changed, 19 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/panels/LogPanel.java b/src/main/java/com/gitblit/wicket/panels/LogPanel.java index 6c523be..a8f3d55 100644 --- a/src/main/java/com/gitblit/wicket/panels/LogPanel.java +++ b/src/main/java/com/gitblit/wicket/panels/LogPanel.java @@ -19,6 +19,9 @@ import java.util.List; import java.util.Map; +import org.apache.wicket.MarkupContainer; +import org.apache.wicket.behavior.SimpleAttributeModifier; +import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.link.BookmarkablePageLink; import org.apache.wicket.markup.repeater.Item; @@ -32,9 +35,11 @@ import com.gitblit.Constants; import com.gitblit.GitBlit; import com.gitblit.Keys; +import com.gitblit.BranchGraphServlet; import com.gitblit.models.RefModel; import com.gitblit.utils.JGitUtils; import com.gitblit.utils.StringUtils; +import com.gitblit.wicket.ExternalImage; import com.gitblit.wicket.WicketUtils; import com.gitblit.wicket.pages.CommitDiffPage; import com.gitblit.wicket.pages.CommitPage; @@ -70,6 +75,20 @@ // inaccurate way to determine if there are more commits. // works unless commits.size() represents the exact end. hasMore = commits.size() >= itemsPerPage; + + final String baseUrl = WicketUtils.getGitblitURL(getRequest()); + final boolean showGraph = GitBlit.getBoolean(Keys.web.showBranchGraph, true); + + MarkupContainer graph = new WebMarkupContainer("graph"); + add(graph); + if (!showGraph || commits.isEmpty()) { + // not showing or nothing to show + graph.setVisible(false); + } else { + // set the rowspan on the graph row and +1 for the graph row itself + graph.add(new SimpleAttributeModifier("rowspan", "" + (commits.size() + 1))); + graph.add(new ExternalImage("image", BranchGraphServlet.asLink(baseUrl, repositoryName, commits.get(0).name(), commits.size()))); + } // header if (pageResults) { -- Gitblit v1.9.1