From 7d35e227475bb4a6ba185788cc663e38822c15f8 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 11 Apr 2011 17:42:58 -0400 Subject: [PATCH] Ref links. --- src/com/gitblit/wicket/panels/RefsPanel.java | 25 ++++++++++++++----------- 1 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/com/gitblit/wicket/panels/RefsPanel.java b/src/com/gitblit/wicket/panels/RefsPanel.java index 5dec57f..bfdf50c 100644 --- a/src/com/gitblit/wicket/panels/RefsPanel.java +++ b/src/com/gitblit/wicket/panels/RefsPanel.java @@ -13,28 +13,27 @@ import org.apache.wicket.markup.repeater.data.ListDataProvider; import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.ObjectId; -import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.revwalk.RevCommit; -import com.gitblit.utils.JGitUtils; +import com.gitblit.wicket.LinkPanel; import com.gitblit.wicket.WicketUtils; +import com.gitblit.wicket.pages.LogPage; +import com.gitblit.wicket.pages.TagPage; public class RefsPanel extends Panel { private static final long serialVersionUID = 1L; - public RefsPanel(String id, Repository r, RevCommit c) { - this(id, c, JGitUtils.getAllRefs(r)); - } - - public RefsPanel(String id, RevCommit c, Map<ObjectId, List<String>> refs) { + public RefsPanel(String id, final String repositoryName, RevCommit c, Map<ObjectId, List<String>> refs) { super(id); List<String> refNames = refs.get(c.getId()); if (refNames == null) { refNames = new ArrayList<String>(); } Collections.sort(refNames); + refNames.remove(Constants.HEAD); + ListDataProvider<String> refsDp = new ListDataProvider<String>(refNames); DataView<String> refsView = new DataView<String>("ref", refsDp) { private static final long serialVersionUID = 1L; @@ -43,19 +42,23 @@ Component c = null; if (entry.startsWith(Constants.R_HEADS)) { // local head - c = new Label("refName", entry.substring(Constants.R_HEADS.length())); + c = new LinkPanel("refName", null, entry.substring(Constants.R_HEADS.length()), LogPage.class, WicketUtils.newObjectParameter(repositoryName, entry)); +// c = new Label("refName", entry.substring(Constants.R_HEADS.length())); WicketUtils.setCssClass(c, "head"); } else if (entry.startsWith(Constants.R_REMOTES)) { // remote head - c = new Label("refName", entry.substring(Constants.R_REMOTES.length())); + c = new LinkPanel("refName", null, entry.substring(Constants.R_REMOTES.length()), LogPage.class, WicketUtils.newObjectParameter(repositoryName, entry)); +// c = new Label("refName", entry.substring(Constants.R_REMOTES.length())); WicketUtils.setCssClass(c, "ref"); } else if (entry.startsWith(Constants.R_TAGS)) { // tag - c = new Label("refName", entry.substring(Constants.R_TAGS.length())); +// c = new BookmarkablePageLink<Void>("refName", TagPage.class, WicketUtils.newObjectParameter(repositoryName, entry)); + c = new LinkPanel("refName", null, entry.substring(Constants.R_TAGS.length()), TagPage.class, WicketUtils.newObjectParameter(repositoryName, entry)); + //c = new Label("refName", entry.substring(Constants.R_TAGS.length())); WicketUtils.setCssClass(c, "tag"); } else { // other - c = new Label("refName", entry); + c = new Label("refName", entry); } WicketUtils.setHtmlTitle(c, entry); item.add(c); -- Gitblit v1.9.1