From 9da97003c7f33a64ae5060f413f9c4c5d26efe78 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 19 May 2011 19:01:45 -0400 Subject: [PATCH] Critical fix for servlet. --- src/com/gitblit/wicket/pages/TagPage.java | 34 +++++++++++++++++++++------------- 1 files changed, 21 insertions(+), 13 deletions(-) diff --git a/src/com/gitblit/wicket/pages/TagPage.java b/src/com/gitblit/wicket/pages/TagPage.java index 622c2b1..a95b967 100644 --- a/src/com/gitblit/wicket/pages/TagPage.java +++ b/src/com/gitblit/wicket/pages/TagPage.java @@ -3,42 +3,50 @@ import java.util.List; import org.apache.wicket.PageParameters; -import org.apache.wicket.markup.html.basic.Label; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.revwalk.RevCommit; import com.gitblit.utils.JGitUtils; +import com.gitblit.utils.JGitUtils.SearchType; import com.gitblit.wicket.LinkPanel; import com.gitblit.wicket.RepositoryPage; import com.gitblit.wicket.WicketUtils; import com.gitblit.wicket.models.RefModel; - public class TagPage extends RepositoryPage { public TagPage(PageParameters params) { super(params); - Repository r = getRepository(); + Repository r = getRepository(); + RevCommit c = getCommit(); List<RefModel> tags = JGitUtils.getTags(r, -1); - RevCommit c = JGitUtils.getCommit(r, objectId); - - String name = c.getName(); - for (RefModel tag:tags) { - if (tag.getName().equals(objectId)) { - name = tag.getDisplayName(); + + RefModel tagRef = null; + // determine tag + for (RefModel tag : tags) { + if (tag.getName().equals(objectId) || tag.getObjectId().getName().equals(objectId)) { + tagRef = tag; + break; } } - add(new LinkPanel("commit", "title", name, CommitPage.class, newCommitParameter())); + if (tagRef == null) { + // point to commit + add(new LinkPanel("commit", "title", c.getShortMessage(), CommitPage.class, newCommitParameter())); + add(new LinkPanel("tagId", "list", c.getName(), CommitPage.class, newCommitParameter(c.getName()))); + } else { + // TODO commit or tree or blob? + add(new LinkPanel("commit", "title", tagRef.getDisplayName(), CommitPage.class, newCommitParameter())); + add(new LinkPanel("tagId", "list", c.getName(), CommitPage.class, newCommitParameter(c.getName()))); + } - add(new LinkPanel("tagId", "list", c.getName(), CommitPage.class, newCommitParameter(c.getName()))); - add(new Label("tagAuthor", JGitUtils.getDisplayName(c.getAuthorIdent()))); + add(createPersonPanel("tagAuthor", c.getAuthorIdent(), SearchType.AUTHOR)); add(WicketUtils.createTimestampLabel("tagDate", c.getAuthorIdent().getWhen(), getTimeZone())); addFullText("fullMessage", c.getFullMessage(), true); } - + @Override protected String getPageName() { return getString("gb.tag"); -- Gitblit v1.9.1