From cdbbda53e245621065bf142e48737faf88a5fee7 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Sat, 17 Mar 2012 11:00:17 -0400 Subject: [PATCH] Incremental commit indexing was missing branch field --- src/com/gitblit/wicket/panels/ActivityPanel.java | 61 +++++++++++++++++++----------- 1 files changed, 38 insertions(+), 23 deletions(-) diff --git a/src/com/gitblit/wicket/panels/ActivityPanel.java b/src/com/gitblit/wicket/panels/ActivityPanel.java index 128ef2b..37ab9f0 100644 --- a/src/com/gitblit/wicket/panels/ActivityPanel.java +++ b/src/com/gitblit/wicket/panels/ActivityPanel.java @@ -25,11 +25,13 @@ 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.models.Activity; +import com.gitblit.models.Activity.RepositoryCommit; +import com.gitblit.utils.StringUtils; +import com.gitblit.wicket.GitBlitWebApp; import com.gitblit.wicket.GitBlitWebSession; -import com.gitblit.wicket.GravatarImage; import com.gitblit.wicket.WicketUtils; +import com.gitblit.wicket.pages.BasePage; import com.gitblit.wicket.pages.CommitDiffPage; import com.gitblit.wicket.pages.CommitPage; import com.gitblit.wicket.pages.LogPage; @@ -47,23 +49,25 @@ 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); + + GitBlitWebApp app = (GitBlitWebApp) GitBlitWebSession.get().getApplication(); + final Class<? extends BasePage> searchPageClass = app.getSearchPageClass(); - 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 +76,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)); @@ -88,34 +92,45 @@ // author search link String author = commit.getAuthorIdent().getName(); LinkPanel authorLink = new LinkPanel("author", "list", author, - SearchPage.class, WicketUtils.newSearchParameter(commit.repository, - commit.getName(), author, Constants.SearchType.AUTHOR)); + searchPageClass, WicketUtils.newSearchParameter(commit.repository, + 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