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 | 46 ++++++++++++++++++++++++++++++++-------------- 1 files changed, 32 insertions(+), 14 deletions(-) diff --git a/src/com/gitblit/wicket/pages/TagPage.java b/src/com/gitblit/wicket/pages/TagPage.java index f098c1e..a95b967 100644 --- a/src/com/gitblit/wicket/pages/TagPage.java +++ b/src/com/gitblit/wicket/pages/TagPage.java @@ -1,36 +1,54 @@ package com.gitblit.wicket.pages; +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.wicket.GitBlitWebSession; +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, "tag"); + super(params); Repository r = getRepository(); - RevCommit c = JGitUtils.getCommit(r, commitId); + RevCommit c = getCommit(); + List<RefModel> tags = JGitUtils.getTags(r, -1); - add(new LinkPanel("commit", "title", c.getName(), CommitPage.class, newCommitParameter())); + 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("tagId", "list", c.getName(), CommitPage.class, newCommitParameter(c.getName()))); - add(new Label("tagAuthor", JGitUtils.getDisplayName(c.getAuthorIdent()))); - String authorDate = GitBlitWebSession.get().formatDateTimeLong(c.getAuthorIdent().getWhen()); - add(new Label("tagDate", authorDate)); + 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(createPersonPanel("tagAuthor", c.getAuthorIdent(), SearchType.AUTHOR)); + add(WicketUtils.createTimestampLabel("tagDate", c.getAuthorIdent().getWhen(), getTimeZone())); addFullText("fullMessage", c.getFullMessage(), true); + } - r.close(); - - // footer - addFooter(); + @Override + protected String getPageName() { + return getString("gb.tag"); } } -- Gitblit v1.9.1