James Moger
2013-11-26 4fcac9d2cbdafb51e3ee9ca3b3da64fd86103174
src/main/java/com/gitblit/wicket/panels/LogPanel.java
@@ -19,6 +19,9 @@
import java.util.List;
import java.util.Map;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.behavior.SimpleAttributeModifier;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.repeater.Item;
@@ -29,17 +32,19 @@
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.revwalk.RevCommit;
import com.gitblit.BranchGraphServlet;
import com.gitblit.Constants;
import com.gitblit.GitBlit;
import com.gitblit.Keys;
import com.gitblit.models.RefModel;
import com.gitblit.utils.JGitUtils;
import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.ExternalImage;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.pages.CommitDiffPage;
import com.gitblit.wicket.pages.CommitPage;
import com.gitblit.wicket.pages.LogPage;
import com.gitblit.wicket.pages.GitSearchPage;
import com.gitblit.wicket.pages.LogPage;
import com.gitblit.wicket.pages.TreePage;
public class LogPanel extends BasePanel {
@@ -71,6 +76,20 @@
      // works unless commits.size() represents the exact end.
      hasMore = commits.size() >= itemsPerPage;
      final String baseUrl = WicketUtils.getGitblitURL(getRequest());
      final boolean showGraph = GitBlit.getBoolean(Keys.web.showBranchGraph, true);
      MarkupContainer graph = new WebMarkupContainer("graph");
      add(graph);
      if (!showGraph || commits.isEmpty()) {
         // not showing or nothing to show
         graph.setVisible(false);
      } else {
         // set the rowspan on the graph row and +1 for the graph row itself
         graph.add(new SimpleAttributeModifier("rowspan", "" + (commits.size() + 1)));
         graph.add(new ExternalImage("image", BranchGraphServlet.asLink(baseUrl, repositoryName, commits.get(0).name(), commits.size())));
      }
      // header
      if (pageResults) {
         // shortlog page
@@ -88,6 +107,7 @@
         private static final long serialVersionUID = 1L;
         int counter;
         @Override
         public void populateItem(final Item<RevCommit> item) {
            final RevCommit entry = item.getModelObject();
            final Date date = JGitUtils.getCommitDate(entry);
@@ -101,7 +121,7 @@
                        objectId, author, Constants.SearchType.AUTHOR));
            setPersonSearchTooltip(authorLink, author, Constants.SearchType.AUTHOR);
            item.add(authorLink);
            // merge icon
            if (entry.getParentCount() > 1) {
               item.add(WicketUtils.newImage("commitIcon", "commit_merge_16x16.png"));
@@ -134,14 +154,16 @@
            WicketUtils.setCssClass(commitHash, "shortsha1");
            WicketUtils.setHtmlTooltip(commitHash, entry.getName());
            item.add(commitHash);
            item.add(new BookmarkablePageLink<Void>("diff", CommitDiffPage.class, WicketUtils
                  .newObjectParameter(repositoryName, entry.getName())).setEnabled(entry
                  .getParentCount() > 0));
            item.add(new BookmarkablePageLink<Void>("tree", TreePage.class, WicketUtils
                  .newObjectParameter(repositoryName, entry.getName())));
            WicketUtils.setAlternatingBackground(item, counter);
            String clazz = counter % 2 == 0 ? "light commit" : "dark commit";
            WicketUtils.setCssClass(item, clazz);
            counter++;
         }
      };