From 4fea450fd3edfba6bb9e2c3c0a9231c6d227a09c Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 23 Feb 2012 19:49:46 -0500 Subject: [PATCH] Fixed nullpointer on pushing to an empty repository (issue 69) --- src/com/gitblit/wicket/panels/ActivityPanel.java | 47 ++++++++++++++++++++++++++--------------------- 1 files changed, 26 insertions(+), 21 deletions(-) diff --git a/src/com/gitblit/wicket/panels/ActivityPanel.java b/src/com/gitblit/wicket/panels/ActivityPanel.java index 128ef2b..4548619 100644 --- a/src/com/gitblit/wicket/panels/ActivityPanel.java +++ b/src/com/gitblit/wicket/panels/ActivityPanel.java @@ -25,10 +25,10 @@ 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.GitBlitWebSession; -import com.gitblit.wicket.GravatarImage; import com.gitblit.wicket.WicketUtils; import com.gitblit.wicket.pages.CommitDiffPage; import com.gitblit.wicket.pages.CommitPage; @@ -47,19 +47,18 @@ 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", @@ -72,7 +71,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 +88,39 @@ 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 = StringUtils.trimShortLog(shortMessage); + 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