From df162cdbdfeb5fbf5500546c9783e1685be6980f Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 04 Jan 2012 08:42:54 -0500
Subject: [PATCH] Federation pull_scripts request. Documentation.
---
src/com/gitblit/wicket/pages/TagPage.java | 92 ++++++++++++++++++++++++++++++++++++++--------
1 files changed, 76 insertions(+), 16 deletions(-)
diff --git a/src/com/gitblit/wicket/pages/TagPage.java b/src/com/gitblit/wicket/pages/TagPage.java
index f098c1e..b1ab071 100644
--- a/src/com/gitblit/wicket/pages/TagPage.java
+++ b/src/com/gitblit/wicket/pages/TagPage.java
@@ -1,36 +1,96 @@
+/*
+ * 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.text.MessageFormat;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.basic.Label;
+import org.eclipse.jgit.lib.Constants;
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.wicket.WicketUtils;
+import com.gitblit.wicket.panels.LinkPanel;
+import com.gitblit.wicket.panels.RefsPanel;
public class TagPage extends RepositoryPage {
public TagPage(PageParameters params) {
- super(params, "tag");
+ super(params);
Repository r = getRepository();
- RevCommit c = JGitUtils.getCommit(r, commitId);
- add(new LinkPanel("commit", "title", c.getName(), CommitPage.class, newCommitParameter()));
+ // Find tag in repository
+ List<RefModel> tags = JGitUtils.getTags(r, true, -1);
+ RefModel tagRef = null;
+ 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));
+ // Failed to find tag!
+ if (tagRef == null) {
+ error(MessageFormat.format("Could not find tag {0}", objectId), true);
+ }
- addFullText("fullMessage", c.getFullMessage(), true);
+ // Display tag.
+ Class<? extends RepositoryPage> linkClass;
+ PageParameters linkParameters = newCommitParameter(tagRef.getReferencedObjectId().getName());
+ String typeKey;
+ switch (tagRef.getReferencedObjectType()) {
+ case Constants.OBJ_BLOB:
+ typeKey = "gb.blob";
+ linkClass = BlobPage.class;
+ break;
+ case Constants.OBJ_TREE:
+ typeKey = "gb.tree";
+ linkClass = TreePage.class;
+ break;
+ case Constants.OBJ_COMMIT:
+ default:
+ typeKey = "gb.commit";
+ linkClass = CommitPage.class;
+ break;
+ }
+ add(new LinkPanel("commit", "title", tagRef.displayName, linkClass, linkParameters));
+ add(new RefsPanel("tagName", repositoryName, Arrays.asList(tagRef)));
+ add(new Label("tagId", tagRef.getObjectId().getName()));
+ add(new LinkPanel("taggedObject", "list", tagRef.getReferencedObjectId().getName(),
+ linkClass, linkParameters));
+ add(new Label("taggedObjectType", getString(typeKey)));
- r.close();
+ add(createPersonPanel("tagger", tagRef.getAuthorIdent(), com.gitblit.Constants.SearchType.AUTHOR));
+ Date when = new Date(0);
+ if (tagRef.getAuthorIdent() != null) {
+ when = tagRef.getAuthorIdent().getWhen();
+ }
+ add(WicketUtils.createTimestampLabel("tagDate", when, getTimeZone()));
- // footer
- addFooter();
+ addFullText("fullMessage", tagRef.getFullMessage(), true);
+ }
+
+ @Override
+ protected String getPageName() {
+ return getString("gb.tag");
}
}
--
Gitblit v1.9.1