From a125cf6876e0edc5a2498df57a9df06d60b1f572 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 02 Jun 2011 22:40:23 -0400 Subject: [PATCH] Unit testing. Start of git-notes display feature. --- src/com/gitblit/wicket/pages/TagPage.java | 61 ++++++++++++++++++++++-------- 1 files changed, 44 insertions(+), 17 deletions(-) diff --git a/src/com/gitblit/wicket/pages/TagPage.java b/src/com/gitblit/wicket/pages/TagPage.java index 622c2b1..7945231 100644 --- a/src/com/gitblit/wicket/pages/TagPage.java +++ b/src/com/gitblit/wicket/pages/TagPage.java @@ -1,44 +1,71 @@ +/* + * Copyright 2011 gitblit.com. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ 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.models.RefModel; import com.gitblit.utils.JGitUtils; -import com.gitblit.wicket.LinkPanel; -import com.gitblit.wicket.RepositoryPage; +import com.gitblit.utils.JGitUtils.SearchType; import com.gitblit.wicket.WicketUtils; -import com.gitblit.wicket.models.RefModel; - +import com.gitblit.wicket.panels.LinkPanel; 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.displayName, 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(WicketUtils.createTimestampLabel("tagDate", c.getAuthorIdent().getWhen(), getTimeZone())); + 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