List of usage examples for org.apache.wicket.markup.repeater.data DataView DataView
protected DataView(String id, IDataProvider<T> dataProvider)
From source file:com.gitblit.wicket.panels.BranchesPanel.java
License:Apache License
public BranchesPanel(String wicketId, final RepositoryModel model, Repository r, final int maxCount, final boolean showAdmin) { super(wicketId); // branches// w w w . ja v a 2 s . co m List<RefModel> branches = new ArrayList<RefModel>(); UserModel user = GitBlitWebSession.get().getUser(); if (user == null) { user = UserModel.ANONYMOUS; } List<RefModel> localBranches = JGitUtils.getLocalBranches(r, false, -1); for (RefModel refModel : localBranches) { if (user.canView(model, refModel.reference.getName())) { branches.add(refModel); } } if (model.showRemoteBranches) { List<RefModel> remoteBranches = JGitUtils.getRemoteBranches(r, false, -1); for (RefModel refModel : remoteBranches) { if (user.canView(model, refModel.reference.getName())) { branches.add(refModel); } } } Collections.sort(branches); Collections.reverse(branches); if (maxCount > 0 && branches.size() > maxCount) { branches = new ArrayList<RefModel>(branches.subList(0, maxCount)); } if (maxCount > 0) { // summary page // show branches page link add(new LinkPanel("branches", "title", new StringResourceModel("gb.branches", this, null), BranchesPage.class, WicketUtils.newRepositoryParameter(model.name))); } else { // branches page add(new Label("branches", new StringResourceModel("gb.branches", this, null))); } // only allow delete if we have multiple branches final boolean showDelete = showAdmin && branches.size() > 1; ListDataProvider<RefModel> branchesDp = new ListDataProvider<RefModel>(branches); DataView<RefModel> branchesView = new DataView<RefModel>("branch", branchesDp) { private static final long serialVersionUID = 1L; int counter; @Override public void populateItem(final Item<RefModel> item) { final RefModel entry = item.getModelObject(); PageParameters shortUniqRef = WicketUtils.newObjectParameter(model.name, Repository.shortenRefName(entry.getName())); item.add(WicketUtils.createDateLabel("branchDate", entry.getDate(), getTimeZone(), getTimeUtils())); item.add(new LinkPanel("branchName", "list name", StringUtils.trimString(entry.displayName, 28), LogPage.class, shortUniqRef)); 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, shortUniqRef); if (!shortMessage.equals(trimmedMessage)) { shortlog.setTooltip(shortMessage); } item.add(shortlog); if (maxCount <= 0) { Fragment fragment = new Fragment("branchLinks", showDelete ? "branchPageAdminLinks" : "branchPageLinks", BranchesPanel.this); fragment.add(new BookmarkablePageLink<Void>("log", LogPage.class, shortUniqRef)); fragment.add(new BookmarkablePageLink<Void>("tree", TreePage.class, shortUniqRef)); String rawUrl = RawServlet.asLink(getContextUrl(), model.name, Repository.shortenRefName(entry.getName()), null); fragment.add(new ExternalLink("raw", rawUrl)); fragment.add(new BookmarkablePageLink<Void>("metrics", MetricsPage.class, shortUniqRef)); fragment.add(new ExternalLink("syndication", SyndicationServlet.asLink(GitBlitRequestUtils.getRelativePathPrefixToContextRoot(), model.name, Repository.shortenRefName(entry.getName()), 0))); if (showDelete) { fragment.add(createDeleteBranchLink(model, entry)); } item.add(fragment); } else { Fragment fragment = new Fragment("branchLinks", "branchPanelLinks", BranchesPanel.this); fragment.add(new BookmarkablePageLink<Void>("log", LogPage.class, shortUniqRef)); fragment.add(new BookmarkablePageLink<Void>("tree", TreePage.class, shortUniqRef)); String rawUrl = RawServlet.asLink(getContextUrl(), model.name, Repository.shortenRefName(entry.getName()), null); fragment.add(new ExternalLink("raw", rawUrl)); item.add(fragment); } WicketUtils.setAlternatingBackground(item, counter); counter++; } }; add(branchesView); if (branches.size() < maxCount || maxCount <= 0) { add(new Label("allBranches", "").setVisible(false)); } else { add(new LinkPanel("allBranches", "link", new StringResourceModel("gb.allBranches", this, null), BranchesPage.class, WicketUtils.newRepositoryParameter(model.name))); } // We always have 1 branch hasBranches = (branches.size() > 1) || ((branches.size() == 1) && !branches.get(0).displayName.equalsIgnoreCase("master")); }
From source file:com.gitblit.wicket.panels.BulletListPanel.java
License:Apache License
public BulletListPanel(String id, String header, List<String> list) { super(id);// w ww .j a v a2 s .c o m if (list == null) { list = new ArrayList<String>(); } add(new Label("header", header).setVisible(list.size() > 0)); ListDataProvider<String> listDp = new ListDataProvider<String>(list); DataView<String> listView = new DataView<String>("list", listDp) { private static final long serialVersionUID = 1L; @Override public void populateItem(final Item<String> item) { String entry = item.getModelObject(); item.add(new Label("listItem", entry)); } }; add(listView.setVisible(list.size() > 0)); }
From source file:com.gitblit.wicket.panels.CommitLegendPanel.java
License:Apache License
public CommitLegendPanel(String id, List<PathChangeModel> paths) { super(id);//from www .j av a2 s . c o m final Map<ChangeType, AtomicInteger> stats = getChangedPathsStats(paths); ListDataProvider<ChangeType> legendDp = new ListDataProvider<ChangeType>( new ArrayList<ChangeType>(stats.keySet())); DataView<ChangeType> legendsView = new DataView<ChangeType>("legend", legendDp) { private static final long serialVersionUID = 1L; @Override public void populateItem(final Item<ChangeType> item) { ChangeType entry = item.getModelObject(); Label changeType = new Label("changeType", ""); WicketUtils.setChangeTypeCssClass(changeType, entry); item.add(changeType); int count = stats.get(entry).intValue(); String description = ""; switch (entry) { case ADD: description = MessageFormat.format(getString("gb.filesAdded"), count); break; case MODIFY: description = MessageFormat.format(getString("gb.filesModified"), count); break; case DELETE: description = MessageFormat.format(getString("gb.filesDeleted"), count); break; case COPY: description = MessageFormat.format(getString("gb.filesCopied"), count); break; case RENAME: description = MessageFormat.format(getString("gb.filesRenamed"), count); break; } item.add(new Label("description", description)); } }; add(legendsView); }
From source file:com.gitblit.wicket.panels.CompressedDownloadsPanel.java
License:Apache License
public CompressedDownloadsPanel(String id, final String baseUrl, final String repositoryName, final String objectId, final String path) { super(id);//from w ww. jav a 2s .c o m List<String> types = app().settings().getStrings(Keys.web.compressedDownloads); if (types.isEmpty()) { types.add(Format.zip.name()); types.add(Format.gz.name()); } ListDataProvider<String> refsDp = new ListDataProvider<String>(types); DataView<String> refsView = new DataView<String>("compressedLinks", refsDp) { private static final long serialVersionUID = 1L; int counter; @Override protected void onBeforeRender() { super.onBeforeRender(); counter = 0; } @Override public void populateItem(final Item<String> item) { String compressionType = item.getModelObject(); Format format = Format.fromName(compressionType); String href = DownloadZipServlet.asLink(baseUrl, repositoryName, objectId, path, format); LinkPanel c = new LinkPanel("compressedLink", null, format.name(), href); c.setNoFollow(); item.add(c); Label lb = new Label("linkSep", "|"); lb.setVisible(counter > 0); lb.setRenderBodyOnly(true); item.add(lb.setEscapeModelStrings(false)); item.setRenderBodyOnly(true); counter++; } }; add(refsView); setVisible(app().settings().getBoolean(Keys.web.allowZipDownloads, true)); }
From source file:com.gitblit.wicket.panels.DigestsPanel.java
License:Apache License
public DigestsPanel(String wicketId, List<DailyLogEntry> digests) { super(wicketId); hasChanges = digests.size() > 0;/*from w w w . j a v a 2 s . co m*/ ListDataProvider<DailyLogEntry> dp = new ListDataProvider<DailyLogEntry>(digests); DataView<DailyLogEntry> pushView = new DataView<DailyLogEntry>("change", dp) { private static final long serialVersionUID = 1L; @Override public void populateItem(final Item<DailyLogEntry> logItem) { final DailyLogEntry change = logItem.getModelObject(); String dateFormat = app().settings().getString(Keys.web.datestampLongFormat, "EEEE, MMMM d, yyyy"); TimeZone timezone = getTimeZone(); DateFormat df = new SimpleDateFormat(dateFormat); df.setTimeZone(timezone); String fullRefName = change.getChangedRefs().get(0); String shortRefName = fullRefName; String ticketId = ""; boolean isTag = false; boolean isTicket = false; if (shortRefName.startsWith(Constants.R_TICKET)) { ticketId = shortRefName = shortRefName.substring(Constants.R_TICKET.length()); shortRefName = MessageFormat.format(getString("gb.ticketN"), ticketId); isTicket = true; } else if (shortRefName.startsWith(Constants.R_HEADS)) { shortRefName = shortRefName.substring(Constants.R_HEADS.length()); } else if (shortRefName.startsWith(Constants.R_TAGS)) { shortRefName = shortRefName.substring(Constants.R_TAGS.length()); isTag = true; } String fuzzydate; TimeUtils tu = getTimeUtils(); Date pushDate = change.date; if (TimeUtils.isToday(pushDate, timezone)) { fuzzydate = tu.today(); } else if (TimeUtils.isYesterday(pushDate, timezone)) { fuzzydate = tu.yesterday(); } else { fuzzydate = getTimeUtils().timeAgo(pushDate); } logItem.add(new Label("whenChanged", fuzzydate + ", " + df.format(pushDate))); Label changeIcon = new Label("changeIcon"); // use the repository hash color to differentiate the icon. String color = StringUtils.getColor(StringUtils.stripDotGit(change.repository)); WicketUtils.setCssStyle(changeIcon, "color: " + color); if (isTag) { WicketUtils.setCssClass(changeIcon, "iconic-tag"); } else if (isTicket) { WicketUtils.setCssClass(changeIcon, "fa fa-ticket"); } else { WicketUtils.setCssClass(changeIcon, "iconic-loop"); } logItem.add(changeIcon); if (isTag) { // tags are special PersonIdent ident = change.getCommits().get(0).getAuthorIdent(); if (!StringUtils.isEmpty(ident.getName())) { logItem.add(new Label("whoChanged", ident.getName())); } else { logItem.add(new Label("whoChanged", ident.getEmailAddress())); } } else { logItem.add(new Label("whoChanged").setVisible(false)); } String preposition = "gb.of"; boolean isDelete = false; String what; String by = null; switch (change.getChangeType(fullRefName)) { case CREATE: if (isTag) { // new tag what = getString("gb.createdNewTag"); preposition = "gb.in"; } else { // new branch what = getString("gb.createdNewBranch"); preposition = "gb.in"; } break; case DELETE: isDelete = true; if (isTag) { what = getString("gb.deletedTag"); } else { what = getString("gb.deletedBranch"); } preposition = "gb.from"; break; default: what = MessageFormat.format( change.getCommitCount() > 1 ? getString("gb.commitsTo") : getString("gb.oneCommitTo"), change.getCommitCount()); if (change.getAuthorCount() == 1) { by = MessageFormat.format(getString("gb.byOneAuthor"), change.getAuthorIdent().getName()); } else { by = MessageFormat.format(getString("gb.byNAuthors"), change.getAuthorCount()); } break; } logItem.add(new Label("whatChanged", what)); logItem.add(new Label("byAuthors", by).setVisible(!StringUtils.isEmpty(by))); if (isDelete) { // can't link to deleted ref logItem.add(new Label("refChanged", shortRefName)); } else if (isTag) { // link to tag logItem.add(new LinkPanel("refChanged", null, shortRefName, TagPage.class, WicketUtils.newObjectParameter(change.repository, shortRefName))); } else if (isTicket) { // link to ticket logItem.add(new LinkPanel("refChanged", null, shortRefName, TicketsPage.class, WicketUtils.newObjectParameter(change.repository, ticketId))); } else { // link to tree logItem.add(new LinkPanel("refChanged", null, shortRefName, TreePage.class, WicketUtils.newObjectParameter(change.repository, shortRefName))); } // to/from/etc logItem.add(new Label("repoPreposition", getString(preposition))); String repoName = StringUtils.stripDotGit(change.repository); logItem.add(new LinkPanel("repoChanged", null, repoName, SummaryPage.class, WicketUtils.newRepositoryParameter(change.repository))); int maxCommitCount = 5; List<RepositoryCommit> commits = change.getCommits(); if (commits.size() > maxCommitCount) { commits = new ArrayList<RepositoryCommit>(commits.subList(0, maxCommitCount)); } // compare link String compareLinkText = null; if ((change.getCommitCount() <= maxCommitCount) && (change.getCommitCount() > 1)) { compareLinkText = MessageFormat.format(getString("gb.viewComparison"), commits.size()); } else if (change.getCommitCount() > maxCommitCount) { int diff = change.getCommitCount() - maxCommitCount; compareLinkText = MessageFormat .format(diff > 1 ? getString("gb.nMoreCommits") : getString("gb.oneMoreCommit"), diff); } if (StringUtils.isEmpty(compareLinkText)) { logItem.add(new Label("compareLink").setVisible(false)); } else { String endRangeId = change.getNewId(fullRefName); String startRangeId = change.getOldId(fullRefName); logItem.add(new LinkPanel("compareLink", null, compareLinkText, ComparePage.class, WicketUtils.newRangeParameter(change.repository, startRangeId, endRangeId))); } final boolean showSwatch = app().settings().getBoolean(Keys.web.repositoryListSwatches, true); ListDataProvider<RepositoryCommit> cdp = new ListDataProvider<RepositoryCommit>(commits); DataView<RepositoryCommit> commitsView = new DataView<RepositoryCommit>("commit", cdp) { private static final long serialVersionUID = 1L; @Override public void populateItem(final Item<RepositoryCommit> commitItem) { final RepositoryCommit commit = commitItem.getModelObject(); // author gravatar commitItem.add(new AvatarImage("commitAuthor", commit.getAuthorIdent(), null, 16, false)); // merge icon if (commit.getParentCount() > 1) { commitItem.add(WicketUtils.newImage("commitIcon", "commit_merge_16x16.png")); } else { commitItem.add(WicketUtils.newBlankImage("commitIcon")); } // short message String shortMessage = commit.getShortMessage(); String trimmedMessage = shortMessage; if (commit.getRefs() != null && commit.getRefs().size() > 0) { trimmedMessage = StringUtils.trimString(shortMessage, Constants.LEN_SHORTLOG_REFS); } else { trimmedMessage = StringUtils.trimString(shortMessage, Constants.LEN_SHORTLOG); } LinkPanel shortlog = new LinkPanel("commitShortMessage", "list", trimmedMessage, CommitPage.class, WicketUtils.newObjectParameter(change.repository, commit.getName())); if (!shortMessage.equals(trimmedMessage)) { WicketUtils.setHtmlTooltip(shortlog, shortMessage); } commitItem.add(shortlog); // commit hash link int hashLen = app().settings().getInteger(Keys.web.shortCommitIdLength, 6); LinkPanel commitHash = new LinkPanel("hashLink", null, commit.getName().substring(0, hashLen), CommitPage.class, WicketUtils.newObjectParameter(change.repository, commit.getName())); WicketUtils.setCssClass(commitHash, "shortsha1"); WicketUtils.setHtmlTooltip(commitHash, commit.getName()); commitItem.add(commitHash); if (showSwatch) { // set repository color String color = StringUtils.getColor(StringUtils.stripDotGit(change.repository)); WicketUtils.setCssStyle(commitItem, MessageFormat.format("border-left: 2px solid {0};", color)); } } }; logItem.add(commitsView); } }; add(pushView); }
From source file:com.gitblit.wicket.panels.DropDownMenu.java
License:Apache License
public DropDownMenu(String id, String label, final DropDownPageMenuNavLink menu) { super(id);/*from www .j av a 2 s . c o m*/ add(new Label("label", label).setRenderBodyOnly(true)); ListDataProvider<MenuItem> items = new ListDataProvider<MenuItem>(menu.menuItems); DataView<MenuItem> view = new DataView<MenuItem>("menuItems", items) { private static final long serialVersionUID = 1L; @Override public void populateItem(final Item<MenuItem> item) { MenuItem entry = item.getModelObject(); if (entry instanceof PageLinkMenuItem) { // link to another Wicket page PageLinkMenuItem pageLink = (PageLinkMenuItem) entry; item.add(new LinkPanel("menuItem", null, null, pageLink.toString(), pageLink.getPageClass(), pageLink.getPageParameters(), false).setRenderBodyOnly(true)); } else if (entry instanceof ExternalLinkMenuItem) { // link to a specified href ExternalLinkMenuItem extLink = (ExternalLinkMenuItem) entry; item.add(new LinkPanel("menuItem", null, extLink.toString(), extLink.getHref(), extLink.openInNewWindow()).setRenderBodyOnly(true)); } else if (entry instanceof MenuDivider) { // divider item.add(new Label("menuItem").setRenderBodyOnly(true)); WicketUtils.setCssClass(item, "divider"); } else { ParameterMenuItem parameter = (ParameterMenuItem) entry; // parameter link for the current page String icon = null; if (parameter.isSelected()) { icon = "icon-ok"; } else { icon = "icon-ok-white"; } item.add(new LinkPanel("menuItem", icon, null, entry.toString(), menu.pageClass, parameter.getPageParameters(), false).setRenderBodyOnly(true)); } } }; add(view); setRenderBodyOnly(true); }
From source file:com.gitblit.wicket.panels.DropDownMenu.java
License:Apache License
public DropDownMenu(String id, String label, final DropDownMenuNavLink menu) { super(id);/* w w w .ja va 2 s .co m*/ add(new Label("label", label).setRenderBodyOnly(true)); ListDataProvider<MenuItem> items = new ListDataProvider<MenuItem>(menu.menuItems); DataView<MenuItem> view = new DataView<MenuItem>("menuItems", items) { private static final long serialVersionUID = 1L; @Override public void populateItem(final Item<MenuItem> item) { MenuItem entry = item.getModelObject(); if (entry instanceof PageLinkMenuItem) { // link to another Wicket page PageLinkMenuItem pageLink = (PageLinkMenuItem) entry; item.add(new LinkPanel("menuItem", null, null, pageLink.toString(), pageLink.getPageClass(), pageLink.getPageParameters(), false).setRenderBodyOnly(true)); } else if (entry instanceof ExternalLinkMenuItem) { // link to a specified href ExternalLinkMenuItem extLink = (ExternalLinkMenuItem) entry; item.add(new LinkPanel("menuItem", null, extLink.toString(), extLink.getHref(), extLink.openInNewWindow()).setRenderBodyOnly(true)); } else if (entry instanceof MenuDivider) { // divider item.add(new Label("menuItem").setRenderBodyOnly(true)); WicketUtils.setCssClass(item, "divider"); } else { throw new IllegalArgumentException( String.format("Unexpected menuitem type %s", entry.getClass().getSimpleName())); } } }; add(view); setRenderBodyOnly(true); }
From source file:com.gitblit.wicket.panels.FederationProposalsPanel.java
License:Apache License
public FederationProposalsPanel(String wicketId) { super(wicketId); final List<FederationProposal> list = app().federation().getPendingFederationProposals(); hasProposals = list.size() > 0;//from www.java2 s.c o m DataView<FederationProposal> dataView = new DataView<FederationProposal>("row", new ListDataProvider<FederationProposal>(list)) { private static final long serialVersionUID = 1L; private int counter; @Override protected void onBeforeRender() { super.onBeforeRender(); counter = 0; } @Override public void populateItem(final Item<FederationProposal> item) { final FederationProposal entry = item.getModelObject(); item.add(new LinkPanel("url", "list", entry.url, ReviewProposalPage.class, WicketUtils.newTokenParameter(entry.token))); item.add(WicketUtils.createDateLabel("received", entry.received, getTimeZone(), getTimeUtils())); item.add(new Label("tokenType", entry.tokenType.name())); item.add(new LinkPanel("token", "list", entry.token, ReviewProposalPage.class, WicketUtils.newTokenParameter(entry.token))); Link<Void> deleteLink = new Link<Void>("deleteProposal") { private static final long serialVersionUID = 1L; @Override public void onClick() { if (app().federation().deletePendingFederationProposal(entry)) { list.remove(entry); info(MessageFormat.format("Proposal ''{0}'' deleted.", entry.name)); } else { error(MessageFormat.format("Failed to delete proposal ''{0}''!", entry.name)); } } }; deleteLink.add(new JavascriptEventConfirmation("click", MessageFormat.format("Delete proposal \"{0}\"?", entry.name))); item.add(deleteLink); WicketUtils.setAlternatingBackground(item, counter); counter++; } }; add(dataView); }
From source file:com.gitblit.wicket.panels.FederationRegistrationsPanel.java
License:Apache License
public FederationRegistrationsPanel(String wicketId) { super(wicketId); final List<FederationModel> list = new ArrayList<FederationModel>( app().federation().getFederationRegistrations()); list.addAll(app().federation().getFederationResultRegistrations()); Collections.sort(list);/*from w ww.jav a 2 s .c om*/ hasRegistrations = list.size() > 0; DataView<FederationModel> dataView = new DataView<FederationModel>("row", new ListDataProvider<FederationModel>(list)) { private static final long serialVersionUID = 1L; private int counter; @Override protected void onBeforeRender() { super.onBeforeRender(); counter = 0; } @Override public void populateItem(final Item<FederationModel> item) { final FederationModel entry = item.getModelObject(); item.add(new LinkPanel("url", "list", entry.url, FederationRegistrationPage.class, WicketUtils.newRegistrationParameter(entry.url, entry.name))); item.add(WicketUtils.getPullStatusImage("statusIcon", entry.getLowestStatus())); item.add(new LinkPanel("name", "list", entry.name, FederationRegistrationPage.class, WicketUtils.newRegistrationParameter(entry.url, entry.name))); item.add(WicketUtils.getRegistrationImage("typeIcon", entry, this)); item.add(WicketUtils.createDateLabel("lastPull", entry.lastPull, getTimeZone(), getTimeUtils())); item.add(WicketUtils.createTimestampLabel("nextPull", entry.nextPull, getTimeZone(), getTimeUtils())); item.add(new Label("frequency", entry.frequency)); WicketUtils.setAlternatingBackground(item, counter); counter++; } }; add(dataView); }
From source file:com.gitblit.wicket.panels.FederationTokensPanel.java
License:Apache License
public FederationTokensPanel(String wicketId, final boolean showFederation) { super(wicketId); final String baseUrl = WicketUtils.getGitblitURL(getRequest()); add(new ExternalLink("federatedUsers", FederationUtils.asLink(baseUrl, app().federation().getFederationToken(FederationToken.USERS_AND_REPOSITORIES), FederationRequest.PULL_USERS))); add(new ExternalLink("federatedSettings", FederationUtils.asLink(baseUrl, app().federation().getFederationToken(FederationToken.ALL), FederationRequest.PULL_SETTINGS))); final List<String[]> data = new ArrayList<String[]>(); for (FederationToken token : FederationToken.values()) { data.add(new String[] { token.name(), app().federation().getFederationToken(token), null }); }/* w w w. jav a 2s. c om*/ List<String> sets = app().settings().getStrings(Keys.federation.sets); Collections.sort(sets); for (String set : sets) { data.add(new String[] { FederationToken.REPOSITORIES.name(), app().federation().getFederationToken(set), set }); } DataView<String[]> dataView = new DataView<String[]>("row", new ListDataProvider<String[]>(data)) { private static final long serialVersionUID = 1L; private int counter; @Override protected void onBeforeRender() { super.onBeforeRender(); counter = 0; } @Override public void populateItem(final Item<String[]> item) { final String[] entry = item.getModelObject(); final FederationToken token = FederationToken.fromName(entry[0]); if (entry[2] == null) { // standard federation token item.add(new Label("description", describeToken(token))); } else { // federation set token item.add(new Label("description", entry[2])); } item.add(new Label("value", entry[1])); item.add(new ExternalLink("repositoryDefinitions", FederationUtils.asLink(baseUrl, entry[1], FederationRequest.PULL_REPOSITORIES))); item.add(new BookmarkablePageLink<Void>("send", SendProposalPage.class, WicketUtils.newTokenParameter(entry[1]))); WicketUtils.setAlternatingBackground(item, counter); counter++; } }; add(dataView.setVisible(showFederation)); }