public void populateItem(final Item<ICellPopulator<String>> cellItem, final String componentId,
final IModel<String> model) {
final String resource = model.getObject();
final ActionLinksPanel panel = new ActionLinksPanel(componentId, model, getPageReference());
panel.add(new ActionLink() {
private static final long serialVersionUID = -3722207913631435501L;
@Override
public void onClick(final AjaxRequestTarget target) {
mwindow.setPageCreator(new ModalWindow.PageCreator() {
private static final long serialVersionUID = -7834632442532690940L;
@Override
public Page createPage() {
return new ResourceModalPage(PolicyModalPage.this.getPageReference(),
mwindow, resourceRestClient.read(resource), false);
}
});
mwindow.show(target);
}
}, ActionLink.ActionType.EDIT, "Resources");
cellItem.add(panel);
}
});
ISortableDataProvider<String, String> resDataProvider = new SortableDataProvider<String, String>() {
private static final long serialVersionUID = 8263758912838836438L;
@Override
public Iterator<? extends String> iterator(final long first, final long count) {
return policyTO.getId() == 0
? Collections.<String>emptyList().iterator()
: policyRestClient.getPolicy(policyTO.getType(), policyTO.getId()).
getUsedByResources().subList((int) first, (int) first + (int) count).iterator();
}
@Override
public long size() {
return policyTO.getId() == 0
? 0
: policyRestClient.getPolicy(policyTO.getType(), policyTO.getId()).
getUsedByResources().size();
}
@Override
public IModel<String> model(final String object) {
return new Model<String>(object);
}
};
final AjaxFallbackDefaultDataTable<String, String> resources =
new AjaxFallbackDefaultDataTable<String, String>("resources", resColumns, resDataProvider, 10);
form.add(resources);
List<IColumn<RoleTO, String>> roleColumns = new ArrayList<IColumn<RoleTO, String>>();
roleColumns.add(new PropertyColumn<RoleTO, String>(new ResourceModel("id", "id"), "id", "id"));
roleColumns.add(new PropertyColumn<RoleTO, String>(new ResourceModel("name", "name"), "name", "name"));
roleColumns.add(new AbstractColumn<RoleTO, String>(new StringResourceModel("actions", this, null, "")) {
private static final long serialVersionUID = 2054811145491901166L;
@Override
public String getCssClass() {
return "action";
}
@Override
public void populateItem(final Item<ICellPopulator<RoleTO>> cellItem, final String componentId,
final IModel<RoleTO> model) {
final RoleTO role = model.getObject();
final ActionLinksPanel panel = new ActionLinksPanel(componentId, model, getPageReference());
panel.add(new ActionLink() {
private static final long serialVersionUID = -3722207913631435501L;
@Override
public void onClick(final AjaxRequestTarget target) {