James Moger
2011-05-11 dfb88962fdbd29f59abe92178bb042738d57c3e1
commit | author | age
5fe7df 1 package com.gitblit.wicket.pages;
JM 2
608ece 3 import java.util.List;
JM 4
5fe7df 5 import org.apache.wicket.PageParameters;
JM 6 import org.eclipse.jgit.lib.Repository;
7 import org.eclipse.jgit.revwalk.RevCommit;
8
9 import com.gitblit.utils.JGitUtils;
98ce17 10 import com.gitblit.utils.JGitUtils.SearchType;
5fe7df 11 import com.gitblit.wicket.LinkPanel;
JM 12 import com.gitblit.wicket.RepositoryPage;
bc10f9 13 import com.gitblit.wicket.WicketUtils;
608ece 14 import com.gitblit.wicket.models.RefModel;
5fe7df 15
JM 16 public class TagPage extends RepositoryPage {
17
18     public TagPage(PageParameters params) {
cebf45 19         super(params);
5fe7df 20
155bf7 21         Repository r = getRepository();
bc9d4a 22         RevCommit c = getCommit();
608ece 23         List<RefModel> tags = JGitUtils.getTags(r, -1);
155bf7 24
9ab5cc 25         RefModel tagRef = null;
JM 26         // determine tag
155bf7 27         for (RefModel tag : tags) {
9ab5cc 28             if (tag.getName().equals(objectId) || tag.getObjectId().getName().equals(objectId)) {
JM 29                 tagRef = tag;
30                 break;
608ece 31             }
JM 32         }
5fe7df 33
9ab5cc 34         if (tagRef == null) {
JM 35             // point to commit
36             add(new LinkPanel("commit", "title", c.getShortMessage(), CommitPage.class, newCommitParameter()));
155bf7 37             add(new LinkPanel("tagId", "list", c.getName(), CommitPage.class, newCommitParameter(c.getName())));
9ab5cc 38         } else {
JM 39             // TODO commit or tree or blob?
40             add(new LinkPanel("commit", "title", tagRef.getDisplayName(), CommitPage.class, newCommitParameter()));
41             add(new LinkPanel("tagId", "list", c.getName(), CommitPage.class, newCommitParameter(c.getName())));
155bf7 42         }
JM 43
98ce17 44         add(createPersonPanel("tagAuthor", c.getAuthorIdent(), SearchType.AUTHOR));
bc10f9 45         add(WicketUtils.createTimestampLabel("tagDate", c.getAuthorIdent().getWhen(), getTimeZone()));
5fe7df 46
JM 47         addFullText("fullMessage", c.getFullMessage(), true);
48     }
155bf7 49
cebf45 50     @Override
JM 51     protected String getPageName() {
1e47ab 52         return getString("gb.tag");
cebf45 53     }
5fe7df 54 }