From 43e32ec71a508e1bb68b247fdca74f64bcf629b3 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 28 Feb 2012 22:41:31 -0500
Subject: [PATCH] Draft integration of Lucene search mechanism and web ui
---
src/com/gitblit/wicket/panels/ActivityPanel.java | 55 ++++++++++++++++++++++++++++++++-----------------------
1 files changed, 32 insertions(+), 23 deletions(-)
diff --git a/src/com/gitblit/wicket/panels/ActivityPanel.java b/src/com/gitblit/wicket/panels/ActivityPanel.java
index 128ef2b..dc94f3c 100644
--- a/src/com/gitblit/wicket/panels/ActivityPanel.java
+++ b/src/com/gitblit/wicket/panels/ActivityPanel.java
@@ -25,10 +25,9 @@
import org.apache.wicket.markup.repeater.data.ListDataProvider;
import com.gitblit.Constants;
-import com.gitblit.models.DailyActivity;
-import com.gitblit.models.RepositoryCommit;
-import com.gitblit.wicket.GitBlitWebSession;
-import com.gitblit.wicket.GravatarImage;
+import com.gitblit.models.Activity;
+import com.gitblit.models.Activity.RepositoryCommit;
+import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.pages.CommitDiffPage;
import com.gitblit.wicket.pages.CommitPage;
@@ -47,23 +46,22 @@
private static final long serialVersionUID = 1L;
- public ActivityPanel(String wicketId, List<DailyActivity> recentActivity) {
+ public ActivityPanel(String wicketId, List<Activity> recentActivity) {
super(wicketId);
Collections.sort(recentActivity);
- DataView<DailyActivity> activityView = new DataView<DailyActivity>("activity",
- new ListDataProvider<DailyActivity>(recentActivity)) {
+ DataView<Activity> activityView = new DataView<Activity>("activity",
+ new ListDataProvider<Activity>(recentActivity)) {
private static final long serialVersionUID = 1L;
- public void populateItem(final Item<DailyActivity> item) {
- final DailyActivity entry = item.getModelObject();
- item.add(WicketUtils.createDatestampLabel("title", entry.date, GitBlitWebSession
- .get().getTimezone()));
+ public void populateItem(final Item<Activity> item) {
+ final Activity entry = item.getModelObject();
+ item.add(WicketUtils.createDatestampLabel("title", entry.startDate, getTimeZone()));
// display the commits in chronological order
DataView<RepositoryCommit> commits = new DataView<RepositoryCommit>("commits",
- new ListDataProvider<RepositoryCommit>(entry.commits)) {
+ new ListDataProvider<RepositoryCommit>(entry.getCommits())) {
private static final long serialVersionUID = 1L;
public void populateItem(final Item<RepositoryCommit> item) {
@@ -72,7 +70,7 @@
// time of day
fragment.add(WicketUtils.createTimeLabel("time", commit.getAuthorIdent()
- .getWhen(), GitBlitWebSession.get().getTimezone()));
+ .getWhen(), getTimeZone()));
// avatar
fragment.add(new GravatarImage("avatar", commit.getAuthorIdent(), 36));
@@ -89,33 +87,44 @@
String author = commit.getAuthorIdent().getName();
LinkPanel authorLink = new LinkPanel("author", "list", author,
SearchPage.class, WicketUtils.newSearchParameter(commit.repository,
- commit.getName(), author, Constants.SearchType.AUTHOR));
+ commit.getName(), author, Constants.SearchType.AUTHOR), true);
setPersonSearchTooltip(authorLink, author, Constants.SearchType.AUTHOR);
fragment.add(authorLink);
- // repository summary page link
- LinkPanel repositoryLink = new LinkPanel("repository", "list",
- commit.repository, SummaryPage.class,
- WicketUtils.newRepositoryParameter(commit.repository));
+ // repository
+ String repoName = StringUtils.stripDotGit(commit.repository);
+ LinkPanel repositoryLink = new LinkPanel("repository", null,
+ repoName, SummaryPage.class,
+ WicketUtils.newRepositoryParameter(commit.repository), true);
+ WicketUtils.setCssBackground(repositoryLink, repoName);
fragment.add(repositoryLink);
// repository branch
LinkPanel branchLink = new LinkPanel("branch", "list", commit.branch,
LogPage.class, WicketUtils.newObjectParameter(commit.repository,
- commit.branch));
+ commit.branch), true);
WicketUtils.setCssStyle(branchLink, "color: #008000;");
fragment.add(branchLink);
LinkPanel commitid = new LinkPanel("commitid", "list subject",
commit.getShortName(), CommitPage.class,
- WicketUtils.newObjectParameter(commit.repository, commit.getName()));
+ WicketUtils.newObjectParameter(commit.repository, commit.getName()), true);
fragment.add(commitid);
// message/commit link
String shortMessage = commit.getShortMessage();
- LinkPanel shortlog = new LinkPanel("message", "list subject", shortMessage,
- CommitPage.class, WicketUtils.newObjectParameter(commit.repository,
- commit.getName()));
+ String trimmedMessage = shortMessage;
+ if (commit.getRefs() != null && commit.getRefs().size() > 0) {
+ trimmedMessage = StringUtils.trimString(shortMessage, Constants.LEN_SHORTLOG_REFS);
+ } else {
+ trimmedMessage = StringUtils.trimString(shortMessage, Constants.LEN_SHORTLOG);
+ }
+ LinkPanel shortlog = new LinkPanel("message", "list subject",
+ trimmedMessage, CommitPage.class, WicketUtils.newObjectParameter(
+ commit.repository, commit.getName()), true);
+ if (!shortMessage.equals(trimmedMessage)) {
+ WicketUtils.setHtmlTooltip(shortlog, shortMessage);
+ }
fragment.add(shortlog);
// refs
--
Gitblit v1.9.1