Package com.gitblit.wicket.panels

Examples of com.gitblit.wicket.panels.LinkPanel


            activityFragment.add(new Label("digests", getString("gb.noActivityToday")));
          } else {
            activityFragment.add(new Label("digests", MessageFormat.format(getString("gb.noActivity"), daysBack)));
          }
        } else {
          activityFragment.add(new LinkPanel("digests", null, getString("gb.findSomeRepositories"), RepositoriesPage.class));
        }
      } else {
        if (daysBack == 1) {
          activityFragment.add(new Label("digests", getString("gb.noActivityToday")));
        } else {
View Full Code Here


      @Override
      public void populateItem(final Item<String> item) {
        String ownername = item.getModelObject();
        UserModel ownerModel = app().users().getUserModel(ownername);
        if (ownerModel != null) {
          item.add(new LinkPanel("owner", null, ownerModel.getDisplayName(), UserPage.class,
              WicketUtils.newUsernameParameter(ownerModel.username)).setRenderBodyOnly(true));
        } else {
          Label owner = new Label("owner", ownername);
          WicketUtils.setCssStyle(owner, "text-decoration: line-through;");
          WicketUtils.setHtmlTooltip(owner,  MessageFormat.format(getString("gb.failedToFindAccount"), ownername));
View Full Code Here

      @Override
      public void populateItem(final Item<ProjectModel> item) {
        final ProjectModel entry = item.getModelObject();

        PageParameters pp = WicketUtils.newProjectParameter(entry.name);
        item.add(new LinkPanel("projectTitle", "list", entry.getDisplayName(),
            ProjectPage.class, pp));
        item.add(new LinkPanel("projectDescription", "list", entry.description,
            ProjectPage.class, pp));

        item.add(new Label("repositoryCount", entry.repositories.size()
            + " "
            + (entry.repositories.size() == 1 ? getString("gb.repository")
View Full Code Here

          item.add(new GravatarImage("anAvatar", ident, 20));
          if (pageRepository.equals(repository)) {
            // do not link to self
            item.add(new Label("aProject", user.getDisplayName()));
          } else {
            item.add(new LinkPanel("aProject", null, user.getDisplayName(), UserPage.class, WicketUtils.newUsernameParameter(user.username)));
          }
        } else {
          Component swatch;
          if (repository.isBare){
            swatch = new Label("anAvatar", "&nbsp;").setEscapeModelStrings(false);
          } else {
            swatch = new Label("anAvatar", "!");
            WicketUtils.setHtmlTooltip(swatch, getString("gb.workingCopyWarning"));
          }
          WicketUtils.setCssClass(swatch,  "repositorySwatch");
          WicketUtils.setCssBackground(swatch, repository.toString());
          item.add(swatch);
          String projectName = repository.projectPath;
          if (StringUtils.isEmpty(projectName)) {
            projectName = app().settings().getString(Keys.web.repositoryRootGroupName, "main");
          }
          if (pageRepository.equals(repository)) {
            // do not link to self
            item.add(new Label("aProject", projectName));
          } else {
            item.add(new LinkPanel("aProject", null, projectName, ProjectPage.class, WicketUtils.newProjectParameter(projectName)));
          }
        }

        String repo = StringUtils.getLastPathElement(repository.name);
        UserModel user = GitBlitWebSession.get().getUser();
        if (user == null) {
          user = UserModel.ANONYMOUS;
        }
        if (user.canView(repository)) {
          if (pageRepository.equals(repository)) {
            // do not link to self
            item.add(new Label("aFork", StringUtils.stripDotGit(repo)));
          } else {
            item.add(new LinkPanel("aFork", null, StringUtils.stripDotGit(repo), SummaryPage.class, WicketUtils.newRepositoryParameter(repository.name)));
          }
          item.add(WicketUtils.createDateLabel("lastChange", repository.lastChange, getTimeZone(), getTimeUtils()));
        } else {
          item.add(new Label("aFork", repo));
          item.add(new Label("lastChange").setVisible(false));
View Full Code Here

    // commit page links
    if (parents.size() == 0) {
      add(new Label("parentLink", "none"));
      add(new Label("commitdiffLink", getString("gb.commitdiff")));
    } else {
      add(new LinkPanel("parentLink", null, getShortObjectId(parents.get(0)),
          CommitPage.class, newCommitParameter(parents.get(0))));
      add(new LinkPanel("commitdiffLink", null, new StringResourceModel("gb.commitdiff",
          this, null), CommitDiffPage.class, WicketUtils.newObjectParameter(
          repositoryName, objectId)));
    }
    add(new BookmarkablePageLink<Void>("patchLink", PatchPage.class,
        WicketUtils.newObjectParameter(repositoryName, objectId)));

    add(new CommitHeaderPanel("commitHeader", repositoryName, c));

    addRefs(r, c);

    // author
    add(createPersonPanel("commitAuthor", c.getAuthorIdent(), Constants.SearchType.AUTHOR));
    add(WicketUtils.createTimestampLabel("commitAuthorDate", c.getAuthorIdent().getWhen(),
        getTimeZone(), getTimeUtils()));

    // committer
    add(createPersonPanel("commitCommitter", c.getCommitterIdent(), Constants.SearchType.COMMITTER));
    add(WicketUtils.createTimestampLabel("commitCommitterDate",
        c.getCommitterIdent().getWhen(), getTimeZone(), getTimeUtils()));

    add(new Label("commitId", c.getName()));

    add(new LinkPanel("commitTree", "list", c.getTree().getName(), TreePage.class,
        newCommitParameter()));
    add(new BookmarkablePageLink<Void>("treeLink", TreePage.class, newCommitParameter()));
    final String baseUrl = WicketUtils.getGitblitURL(getRequest());

    add(new CompressedDownloadsPanel("compressedLinks", baseUrl, repositoryName, objectId, null));

    // Parent Commits
    ListDataProvider<String> parentsDp = new ListDataProvider<String>(parents);
    DataView<String> parentsView = new DataView<String>("commitParents", parentsDp) {
      private static final long serialVersionUID = 1L;

      @Override
      public void populateItem(final Item<String> item) {
        String entry = item.getModelObject();
        item.add(new LinkPanel("commitParent", "list", entry, CommitPage.class,
            newCommitParameter(entry)));
        item.add(new BookmarkablePageLink<Void>("view", CommitPage.class,
            newCommitParameter(entry)));
        item.add(new BookmarkablePageLink<Void>("diff", CommitDiffPage.class,
            newCommitParameter(entry)));
      }
    };
    add(parentsView);

    addFullText("fullMessage", c.getFullMessage());

    // git notes
    List<GitNote> notes = JGitUtils.getNotesOnCommit(r, c);
    ListDataProvider<GitNote> notesDp = new ListDataProvider<GitNote>(notes);
    DataView<GitNote> notesView = new DataView<GitNote>("notes", notesDp) {
      private static final long serialVersionUID = 1L;

      @Override
      public void populateItem(final Item<GitNote> item) {
        GitNote entry = item.getModelObject();
        item.add(new RefsPanel("refName", repositoryName, Arrays.asList(entry.notesRef)));
        item.add(createPersonPanel("authorName", entry.notesRef.getAuthorIdent(),
            Constants.SearchType.AUTHOR));
        item.add(new GravatarImage("noteAuthorAvatar", entry.notesRef.getAuthorIdent()));
        item.add(WicketUtils.createTimestampLabel("authorDate", entry.notesRef
            .getAuthorIdent().getWhen(), getTimeZone(), getTimeUtils()));
        item.add(new Label("noteContent", bugtraqProcessor().processPlainCommitMessage(getRepository(), repositoryName,
            entry.content)).setEscapeModelStrings(false));
      }
    };
    add(notesView.setVisible(notes.size() > 0));

    // changed paths list
    List<PathChangeModel> paths = JGitUtils.getFilesInCommit(r, c);

    // add commit diffstat
    int insertions = 0;
    int deletions = 0;
    for (PathChangeModel pcm : paths) {
      insertions += pcm.insertions;
      deletions += pcm.deletions;
    }
    add(new DiffStatPanel("diffStat", insertions, deletions));

    add(new CommitLegendPanel("commitLegend", paths));
    ListDataProvider<PathChangeModel> pathsDp = new ListDataProvider<PathChangeModel>(paths);
    DataView<PathChangeModel> pathsView = new DataView<PathChangeModel>("changedPath", pathsDp) {
      private static final long serialVersionUID = 1L;
      int counter;

      @Override
      public void populateItem(final Item<PathChangeModel> item) {
        final PathChangeModel entry = item.getModelObject();
        Label changeType = new Label("changeType", "");
        WicketUtils.setChangeTypeCssClass(changeType, entry.changeType);
        setChangeTypeTooltip(changeType, entry.changeType);
        item.add(changeType);
        item.add(new DiffStatPanel("diffStat", entry.insertions, entry.deletions, true));

        boolean hasSubmodule = false;
        String submodulePath = null;
        if (entry.isTree()) {
          // tree
          item.add(new LinkPanel("pathName", null, entry.path, TreePage.class,
              WicketUtils
                  .newPathParameter(repositoryName, entry.commitId, entry.path)));
        } else if (entry.isSubmodule()) {
          // submodule
          String submoduleId = entry.objectId;
          SubmoduleModel submodule = getSubmodule(entry.path);
          submodulePath = submodule.gitblitPath;
          hasSubmodule = submodule.hasSubmodule;

          item.add(new LinkPanel("pathName", "list", entry.path + " @ " +
              getShortObjectId(submoduleId), TreePage.class,
              WicketUtils.newPathParameter(submodulePath, submoduleId, "")).setEnabled(hasSubmodule));
        } else {
          // blob
          String displayPath = entry.path;
          String path = entry.path;
          if (entry.isSymlink()) {
            path = JGitUtils.getStringContent(getRepository(), getCommit().getTree(), path);
            displayPath = entry.path + " -> " + path;
          }
          item.add(new LinkPanel("pathName", "list", displayPath, BlobPage.class,
              WicketUtils
                  .newPathParameter(repositoryName, entry.commitId, path)));
        }

View Full Code Here

    }
    add(new GravatarImage("taggerAvatar", tagRef.getAuthorIdent()));

    add(new RefsPanel("tagName", repositoryName, Arrays.asList(tagRef)));
    add(new Label("tagId", tagRef.getObjectId().getName()));
    add(new LinkPanel("taggedObject", "list", tagRef.getReferencedObjectId().getName(),
        linkClass, linkParameters));
    add(new Label("taggedObjectType", getString(typeKey)));

    add(createPersonPanel("tagger", tagRef.getAuthorIdent(), com.gitblit.Constants.SearchType.AUTHOR));
    Date when = new Date(0);
View Full Code Here

      @Override
      public void populateItem(final Item<PathModel> item) {
        PathModel entry = item.getModelObject();
        item.add(WicketUtils.newImage("docIcon", "file_world_16x16.png"));
        item.add(new Label("docSize", byteFormat.format(entry.size)));
        item.add(new LinkPanel("docName", "list", StringUtils.stripFileExtension(entry.name),
            DocPage.class, WicketUtils.newPathParameter(repositoryName, commitId, entry.path)));

        // links
        item.add(new BookmarkablePageLink<Void>("view", DocPage.class, WicketUtils
            .newPathParameter(repositoryName, commitId, entry.path)));
View Full Code Here

    // commit page links
    if (parents.size() == 0) {
      add(new Label("parentLink", getString("gb.none")));
    } else {
      add(new LinkPanel("parentLink", null, parents.get(0).substring(0, 8),
          CommitDiffPage.class, newCommitParameter(parents.get(0))));
    }
    add(new BookmarkablePageLink<Void>("patchLink", PatchPage.class,
        WicketUtils.newObjectParameter(repositoryName, objectId)));
    add(new BookmarkablePageLink<Void>("commitLink", CommitPage.class,
        WicketUtils.newObjectParameter(repositoryName, objectId)));

    add(new CommitHeaderPanel("commitHeader", repositoryName, commit));

    // add commit diffstat
    int insertions = 0;
    int deletions = 0;
    for (PathChangeModel pcm : diff.stat.paths) {
      insertions += pcm.insertions;
      deletions += pcm.deletions;
    }
    add(new DiffStatPanel("diffStat", insertions, deletions));

    addFullText("fullMessage", commit.getFullMessage());

    // git notes
    List<GitNote> notes = JGitUtils.getNotesOnCommit(r, commit);
    ListDataProvider<GitNote> notesDp = new ListDataProvider<GitNote>(notes);
    DataView<GitNote> notesView = new DataView<GitNote>("notes", notesDp) {
      private static final long serialVersionUID = 1L;

      @Override
      public void populateItem(final Item<GitNote> item) {
        GitNote entry = item.getModelObject();
        item.add(new RefsPanel("refName", repositoryName, Arrays.asList(entry.notesRef)));
        item.add(createPersonPanel("authorName", entry.notesRef.getAuthorIdent(),
            Constants.SearchType.AUTHOR));
        item.add(new GravatarImage("noteAuthorAvatar", entry.notesRef.getAuthorIdent()));
        item.add(WicketUtils.createTimestampLabel("authorDate", entry.notesRef
            .getAuthorIdent().getWhen(), getTimeZone(), getTimeUtils()));
        item.add(new Label("noteContent", bugtraqProcessor().processPlainCommitMessage(getRepository(), repositoryName,
            entry.content)).setEscapeModelStrings(false));
      }
    };
    add(notesView.setVisible(notes.size() > 0));

    // changed paths list
    add(new CommitLegendPanel("commitLegend", diff.stat.paths));
    ListDataProvider<PathChangeModel> pathsDp = new ListDataProvider<PathChangeModel>(diff.stat.paths);
    DataView<PathChangeModel> pathsView = new DataView<PathChangeModel>("changedPath", pathsDp) {
      private static final long serialVersionUID = 1L;
      int counter;

      @Override
      public void populateItem(final Item<PathChangeModel> item) {
        final PathChangeModel entry = item.getModelObject();
        Label changeType = new Label("changeType", "");
        WicketUtils.setChangeTypeCssClass(changeType, entry.changeType);
        setChangeTypeTooltip(changeType, entry.changeType);
        item.add(changeType);
        item.add(new DiffStatPanel("diffStat", entry.insertions, entry.deletions, true));

        boolean hasSubmodule = false;
        String submodulePath = null;
        if (entry.isTree()) {
          // tree
          item.add(new LinkPanel("pathName", null, entry.path, TreePage.class,
              WicketUtils
                  .newPathParameter(repositoryName, entry.commitId, entry.path)));
        } else if (entry.isSubmodule()) {
          // submodule
          String submoduleId = entry.objectId;
          SubmoduleModel submodule = getSubmodule(entry.path);
          submodulePath = submodule.gitblitPath;
          hasSubmodule = submodule.hasSubmodule;

          // add relative link
          item.add(new LinkPanel("pathName", "list", entry.path + " @ " + getShortObjectId(submoduleId), "#" + entry.path));
        } else {
          // add relative link
          item.add(new LinkPanel("pathName", "list", entry.path, "#" + entry.path));
        }

        // quick links
        if (entry.isSubmodule()) {
          item.add(new ExternalLink("raw", "").setEnabled(false));
View Full Code Here

          } catch (Exception e) {
          }
          if (item instanceof PageLinkMenuItem) {
            // link to another Wicket page
            PageLinkMenuItem pageLink = (PageLinkMenuItem) item;
            menuItem.add(new LinkPanel("submenuLink", null, null, name, pageLink.getPageClass(),
                pageLink.getPageParameters(), false).setRenderBodyOnly(true));
          } else if (item instanceof ExternalLinkMenuItem) {
            // link to a specified href
            ExternalLinkMenuItem extLink = (ExternalLinkMenuItem) item;
            menuItem.add(new LinkPanel("submenuLink", null, name, extLink.getHref(),
                extLink.openInNewWindow()).setRenderBodyOnly(true));
          } else if (item instanceof MenuDivider) {
            // divider
            menuItem.add(new Label("submenuLink").setRenderBodyOnly(true));
            WicketUtils.setCssClass(menuItem, "divider");
View Full Code Here

        item.add(new Label("pathPermissions", JGitUtils.getPermissionsFromMode(entry.mode)));
        if (entry.isParentPath) {
          // parent .. path
          item.add(WicketUtils.newBlankImage("pathIcon"));
          item.add(new Label("pathSize", ""));
          item.add(new LinkPanel("pathName", null, entry.name, TreePage.class,
              WicketUtils
                  .newPathParameter(repositoryName, id, entry.path)));
          item.add(new Label("pathLinks", ""));
        } else {
          if (entry.isTree()) {
            // folder/tree link
            item.add(WicketUtils.newImage("pathIcon", "folder_16x16.png"));
            item.add(new Label("pathSize", ""));
            item.add(new LinkPanel("pathName", "list", entry.name, TreePage.class,
                WicketUtils.newPathParameter(repositoryName, id,
                    entry.path)));

            // links
            Fragment links = new Fragment("pathLinks", "treeLinks", this);
            links.add(new BookmarkablePageLink<Void>("tree", TreePage.class,
                WicketUtils.newPathParameter(repositoryName, id,
                    entry.path)));
            links.add(new BookmarkablePageLink<Void>("history", HistoryPage.class,
                WicketUtils.newPathParameter(repositoryName, id,
                    entry.path)));
            links.add(new CompressedDownloadsPanel("compressedLinks", baseUrl,
                repositoryName, objectId, entry.path));

            item.add(links);
          } else if (entry.isSubmodule()) {
            // submodule
            String submoduleId = entry.objectId;
            String submodulePath;
            boolean hasSubmodule = false;
            SubmoduleModel submodule = getSubmodule(entry.path);
            submodulePath = submodule.gitblitPath;
            hasSubmodule = submodule.hasSubmodule;

            item.add(WicketUtils.newImage("pathIcon", "git-orange-16x16.png"));
            item.add(new Label("pathSize", ""));
            item.add(new LinkPanel("pathName", "list", entry.name + " @ " +
                getShortObjectId(submoduleId), TreePage.class,
                WicketUtils.newPathParameter(submodulePath, submoduleId, "")).setEnabled(hasSubmodule));

            Fragment links = new Fragment("pathLinks", "submoduleLinks", this);
            links.add(new BookmarkablePageLink<Void>("view", SummaryPage.class,
                WicketUtils.newRepositoryParameter(submodulePath)).setEnabled(hasSubmodule));
            links.add(new BookmarkablePageLink<Void>("tree", TreePage.class,
                WicketUtils.newPathParameter(submodulePath, submoduleId,
                    "")).setEnabled(hasSubmodule));
            links.add(new BookmarkablePageLink<Void>("history", HistoryPage.class,
                WicketUtils.newPathParameter(repositoryName, id,
                    entry.path)));
            links.add(new CompressedDownloadsPanel("compressedLinks", baseUrl,
                submodulePath, submoduleId, "").setEnabled(hasSubmodule));
            item.add(links);
          } else {
            // blob link
            String displayPath = entry.name;
            String path = entry.path;
            if (entry.isSymlink()) {
              path = JGitUtils.getStringContent(getRepository(), getCommit().getTree(), path);
              displayPath = entry.name + " -> " + path;
            }
            item.add(WicketUtils.getFileImage("pathIcon", entry.name));
            item.add(new Label("pathSize", byteFormat.format(entry.size)));
            item.add(new LinkPanel("pathName", "list", displayPath, BlobPage.class,
                WicketUtils.newPathParameter(repositoryName, id,
                    path)));

            // links
            Fragment links = new Fragment("pathLinks", "blobLinks", this);
View Full Code Here

TOP

Related Classes of com.gitblit.wicket.panels.LinkPanel

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.