Mrbytes
2012-09-13 90ddf5bcf1a4cd719a8d5997a9ed3cafc36f1e04
src/com/gitblit/wicket/panels/BranchesPanel.java
@@ -27,9 +27,9 @@
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.repeater.data.ListDataProvider;
import org.apache.wicket.model.StringResourceModel;
import org.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.Repository;
import com.gitblit.Constants;
import com.gitblit.SyndicationServlet;
import com.gitblit.models.RefModel;
import com.gitblit.models.RepositoryModel;
@@ -37,9 +37,10 @@
import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.pages.BranchesPage;
import com.gitblit.wicket.pages.CommitPage;
import com.gitblit.wicket.pages.LogPage;
import com.gitblit.wicket.pages.MetricsPage;
import com.gitblit.wicket.pages.SummaryPage;
import com.gitblit.wicket.pages.GitSearchPage;
import com.gitblit.wicket.pages.TreePage;
public class BranchesPanel extends BasePanel {
@@ -71,9 +72,7 @@
               null), BranchesPage.class, WicketUtils.newRepositoryParameter(model.name)));
      } else {
         // branches page
         // show repository summary page link
         add(new LinkPanel("branches", "title", model.name, SummaryPage.class,
               WicketUtils.newRepositoryParameter(model.name)));
         add(new Label("branches", new StringResourceModel("gb.branches", this, null)));
      }
      ListDataProvider<RefModel> branchesDp = new ListDataProvider<RefModel>(branches);
@@ -84,16 +83,29 @@
         public void populateItem(final Item<RefModel> item) {
            final RefModel entry = item.getModelObject();
            item.add(WicketUtils.createDateLabel("branchDate", entry.getDate(), getTimeZone()));
            item.add(WicketUtils.createDateLabel("branchDate", entry.getDate(), getTimeZone(), getTimeUtils()));
            item.add(new LinkPanel("branchName", "list name", StringUtils.trimString(
                  entry.displayName, 28), LogPage.class, WicketUtils.newObjectParameter(
                  model.name, entry.getName())));
            // only show branch type on the branches page
            boolean remote = entry.getName().startsWith(Constants.R_REMOTES);
            item.add(new Label("branchType", remote ? getString("gb.remote")
                  : getString("gb.local")).setVisible(maxCount <= 0));
            String author = entry.getAuthorIdent().getName();
            LinkPanel authorLink = new LinkPanel("branchAuthor", "list", author,
                  GitSearchPage.class, WicketUtils.newSearchParameter(model.name,
                        entry.getName(), author, Constants.SearchType.AUTHOR));
            setPersonSearchTooltip(authorLink, author, Constants.SearchType.AUTHOR);
            item.add(authorLink);
            // short message
            String shortMessage = entry.getShortMessage();
            String trimmedMessage = StringUtils.trimString(shortMessage, Constants.LEN_SHORTLOG);
            LinkPanel shortlog = new LinkPanel("branchLog", "list subject", trimmedMessage,
                  CommitPage.class, WicketUtils.newObjectParameter(model.name,
                        entry.getName()));
            if (!shortMessage.equals(trimmedMessage)) {
               WicketUtils.setHtmlTooltip(shortlog, shortMessage);
            }
            item.add(shortlog);
            if (maxCount <= 0) {
               Fragment fragment = new Fragment("branchLinks", "branchPageLinks", this);
@@ -103,8 +115,9 @@
                     .newObjectParameter(model.name, entry.getName())));
               fragment.add(new BookmarkablePageLink<Void>("metrics", MetricsPage.class,
                     WicketUtils.newObjectParameter(model.name, entry.getName())));
               fragment.add(new ExternalLink("syndication", SyndicationServlet.asLink(getRequest()
                     .getRelativePathPrefixToContextRoot(), model.name, entry.getName(), 0)));
               fragment.add(new ExternalLink("syndication", SyndicationServlet.asLink(
                     getRequest().getRelativePathPrefixToContextRoot(), model.name,
                     entry.getName(), 0)));
               item.add(fragment);
            } else {
               Fragment fragment = new Fragment("branchLinks", "branchPanelLinks", this);
@@ -126,7 +139,9 @@
               this, null), BranchesPage.class, WicketUtils.newRepositoryParameter(model.name)));
      }
      // We always have 1 branch
      hasBranches = branches.size() > 1;
      hasBranches = (branches.size() > 1)
            || ((branches.size() == 1) && !branches.get(0).displayName
                  .equalsIgnoreCase("master"));
   }
   public BranchesPanel hideIfEmpty() {