James Moger
2011-05-28 28d6b2a860740557bf93dd0f9a48d059379ed696
src/com/gitblit/wicket/pages/TagPage.java
@@ -1,15 +1,31 @@
/*
 * 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.GitBlitWebSession;
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.panels.LinkPanel;
public class TagPage extends RepositoryPage {
@@ -17,23 +33,41 @@
      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.displayName, 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);
      // footer
      addFooter();
   }
   @Override
   protected String getPageName() {
      return "tag";
      return getString("gb.tag");
   }
}