Rafael Cavazin
2013-01-27 11c14e192b907acd3fdc2d6a9bcf4faafc593afe
src/com/gitblit/wicket/pages/SummaryPage.java
@@ -27,6 +27,9 @@
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.html.panel.Fragment;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.repeater.data.ListDataProvider;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.revwalk.RevCommit;
import org.wicketstuff.googlecharts.Chart;
@@ -45,12 +48,14 @@
import com.gitblit.models.Metric;
import com.gitblit.models.PathModel;
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.UserModel;
import com.gitblit.utils.ArrayUtils;
import com.gitblit.utils.JGitUtils;
import com.gitblit.utils.MarkdownUtils;
import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.panels.BranchesPanel;
import com.gitblit.wicket.panels.LinkPanel;
import com.gitblit.wicket.panels.LogPanel;
import com.gitblit.wicket.panels.RepositoryUrlPanel;
import com.gitblit.wicket.panels.TagsPanel;
@@ -80,8 +85,29 @@
      // repository description
      add(new Label("repositoryDescription", getRepositoryModel().description));
      add(new Label("repositoryOwner", getRepositoryModel().owner));
      // owner links
      final List<String> owners = new ArrayList<String>(getRepositoryModel().owners);
      ListDataProvider<String> ownersDp = new ListDataProvider<String>(owners);
      DataView<String> ownersView = new DataView<String>("repositoryOwners", ownersDp) {
         private static final long serialVersionUID = 1L;
         int counter = 0;
         public void populateItem(final Item<String> item) {
            UserModel ownerModel = GitBlit.self().getUserModel(item.getModelObject());
            if (ownerModel != null) {
               item.add(new LinkPanel("owner", null, ownerModel.getDisplayName(), UserPage.class,
                     WicketUtils.newUsernameParameter(ownerModel.username)).setRenderBodyOnly(true));
            } else {
               item.add(new Label("owner").setVisible(false));
            }
            counter++;
            item.add(new Label("comma", ",").setVisible(counter < owners.size()));
            item.setRenderBodyOnly(true);
         }
      };
      ownersView.setRenderBodyOnly(true);
      add(ownersView);
      add(WicketUtils.createTimestampLabel("repositoryLastChange",
            JGitUtils.getLastChange(r), getTimeZone(), getTimeUtils()));
      if (metricsTotal == null) {
@@ -130,12 +156,13 @@
      add(new Label("otherUrls", StringUtils.flattenStrings(repositoryUrls, "<br/>"))
      .setEscapeModelStrings(false));
      add(new LogPanel("commitsPanel", repositoryName, getRepositoryModel().HEAD, r, numberCommits, 0));
      add(new LogPanel("commitsPanel", repositoryName, getRepositoryModel().HEAD, r, numberCommits, 0, getRepositoryModel().showRemoteBranches));
      add(new TagsPanel("tagsPanel", repositoryName, r, numberRefs).hideIfEmpty());
      add(new BranchesPanel("branchesPanel", getRepositoryModel(), r, numberRefs).hideIfEmpty());
      add(new BranchesPanel("branchesPanel", getRepositoryModel(), r, numberRefs, false).hideIfEmpty());
      if (getRepositoryModel().showReadme) {
         String htmlText = null;
         String markdownText = null;
         String readme = null;
         try {
            RevCommit head = JGitUtils.getCommit(r, null);
@@ -158,11 +185,12 @@
            }
            if (!StringUtils.isEmpty(readme)) {
               String [] encodings = GitBlit.getEncodings();
               String markdownText = JGitUtils.getStringContent(r, head.getTree(), readme, encodings);
               markdownText = JGitUtils.getStringContent(r, head.getTree(), readme, encodings);
               htmlText = MarkdownUtils.transformMarkdown(markdownText);
            }
         } catch (ParseException p) {
            error(p.getMessage());
            markdownText = MessageFormat.format("<div class=\"alert alert-error\"><strong>{0}:</strong> {1}</div>{2}", getString("gb.error"), getString("gb.markdownFailure"), markdownText);
            htmlText = StringUtils.breakLinesForHtml(markdownText);
         }
         Fragment fragment = new Fragment("readme", "markdownPanel");
         fragment.add(new Label("readmeFile", readme));