James Moger
2011-04-13 61b094152515532b42aa5e918f5405d82cde0440
src/com/gitblit/wicket/RepositoryPage.java
@@ -21,23 +21,27 @@
public abstract class RepositoryPage extends BasePage {
   protected final String repositoryName;
   protected final String commitId;
   protected final String objectId;
   protected String description;
   private transient Repository r = null;
   public RepositoryPage(PageParameters params) {
      super(params);
      if (!params.containsKey("p")) {
      if (!params.containsKey("r")) {
         error("Repository not specified!");
         redirectToInterceptPage(new RepositoriesPage());
      }
      repositoryName = params.getString("p", "");
      commitId = params.getString("h", "");
      repositoryName = WicketUtils.getRepositoryName(params);
      objectId = WicketUtils.getObject(params);
      Repository r = getRepository();
      add(new PageLinksPanel("pageLinks", r, repositoryName, getPageName()));
      // setup the page links and disable this page's link
      PageLinksPanel pageLinks = new PageLinksPanel("pageLinks", r, repositoryName, getPageName());
      add(pageLinks);
      pageLinks.disablePageLink(getPageName());
      setStatelessHint(true);
   }
@@ -60,7 +64,7 @@
   }
   protected void addRefs(Repository r, RevCommit c) {
      add(new RefsPanel("refsPanel", r, c));
      add(new RefsPanel("refsPanel", repositoryName,  c, JGitUtils.getAllRefs(r)));
   }
   protected void addFullText(String wicketId, String text, boolean substituteRegex) {
@@ -92,33 +96,34 @@
      }
      add(new Label(wicketId, html).setEscapeModelStrings(false));
   }
   protected abstract String getPageName();
   protected void addFooter() {
      r.close();
   @Override
   protected void onBeforeRender() {
      // dispose of repository object
      if (r != null) {
         r.close();
         r = null;
      }
      // setup page header and footer
      setupPage(repositoryName, "/ " + getPageName());
      super.onBeforeRender();
   }
   protected PageParameters newRepositoryParameter() {
      return new PageParameters("p=" + repositoryName);
      return WicketUtils.newRepositoryParameter(repositoryName);
   }
   protected PageParameters newCommitParameter() {
      return newCommitParameter(commitId);
      return WicketUtils.newObjectParameter(repositoryName, objectId);
   }
   protected PageParameters newCommitParameter(String commitId) {
      if (commitId == null || commitId.trim().length() == 0) {
         return newRepositoryParameter();
      }
      return new PageParameters("p=" + repositoryName + ",h=" + commitId);
      return WicketUtils.newObjectParameter(repositoryName, commitId);
   }
   protected PageParameters newPathParameter(String path) {
      if (path == null || path.trim().length() == 0) {
         return newCommitParameter();
      }
      return new PageParameters("p=" + repositoryName + ",h=" + commitId + ",f=" + path);
      return WicketUtils.newPathParameter(repositoryName, objectId, path);
   }
}