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