List of usage examples for org.apache.wicket.extensions.markup.html.repeater.data.table AbstractColumn AbstractColumn
public AbstractColumn(final IModel<String> displayModel, final S sortProperty)
From source file:com.bestbuy.bbym.ise.drp.admin.hotlinks.HotlinkTablePanel.java
License:Apache License
public HotlinkTablePanel(FeedbackPanel feedbackPanel, String id) { super(id);//from w w w.j a v a 2 s . co m this.feedbackPanel = feedbackPanel; hotlinkTablePanel = this; try { hotlinkTableProvider = new HotlinkTableDataProvider( hotlinkService.getHotlinkListByUserId(getDailyRhythmPortalSession().getDrpUser().getUserId())); } catch (ServiceException e) { String message = "An unexpected exception occured while attempting to get user hotlinks"; processException(message, e, new PageParameters()); } final List<IColumn<Hotlink>> columns = new ArrayList<IColumn<Hotlink>>(); columns.add(new PropertyColumn<Hotlink>(new ResourceModel("hotlinkTablePanel.name.column"), "urlAlias", "urlAlias")); columns.add(new PropertyColumn<Hotlink>(new ResourceModel("hotlinkTablePanel.value.column"), "url", "url")); columns.add(new AbstractColumn<Hotlink>(new ResourceModel("hotlinkTablePanel.action.column"), "id") { private static final long serialVersionUID = 1L; @SuppressWarnings("rawtypes") @Override public void populateItem(Item cellItem, String componentId, IModel rowModel) { Hotlink row = (Hotlink) rowModel.getObject(); cellItem.add(new HotlinkTablePanel.EditLinkPanel(componentId, rowModel, row)); } }); columns.add(new AbstractColumn<Hotlink>(new ResourceModel("hotlinkTablePanel.order.column"), "id") { private static final long serialVersionUID = 1L; @SuppressWarnings("rawtypes") @Override public void populateItem(Item cellItem, String componentId, IModel rowModel) { Hotlink row = (Hotlink) rowModel.getObject(); cellItem.add(new HotlinkTablePanel.UpDownLinkPanel(componentId, rowModel, row)); } }); final DefaultDataTable<Hotlink> hotLinkTable = new DefaultDataTable<Hotlink>("hotlinkTable", columns, hotlinkTableProvider, 10); add(hotLinkTable); }
From source file:com.evolveum.midpoint.web.page.admin.configuration.PageDebugList.java
License:Apache License
private List<IColumn> initColumns(final Class<? extends ObjectType> type) { List<IColumn> columns = new ArrayList<IColumn>(); IColumn column = new CheckBoxHeaderColumn<ObjectType>(); columns.add(column);/*from ww w. j a v a 2 s. com*/ column = new LinkColumn<DebugObjectItem>(createStringResource("pageDebugList.name"), DebugObjectItem.F_NAME, DebugObjectItem.F_NAME) { @Override public void onClick(AjaxRequestTarget target, IModel<DebugObjectItem> rowModel) { DebugObjectItem object = rowModel.getObject(); objectEditPerformed(target, object.getOid(), type); } }; columns.add(column); columns.add(new PropertyColumn(createStringResource("pageDebugList.description"), DebugObjectItem.F_DESCRIPTION)); if (ShadowType.class.isAssignableFrom(type)) { columns.add(new PropertyColumn(createStringResource("pageDebugList.resourceName"), DebugObjectItem.F_RESOURCE_NAME)); columns.add(new PropertyColumn(createStringResource("pageDebugList.resourceType"), DebugObjectItem.F_RESOURCE_TYPE)); } column = new AbstractColumn<DebugObjectItem, String>(new Model(), null) { @Override public String getCssClass() { return "debug-list-buttons"; } @Override public void populateItem(Item<ICellPopulator<DebugObjectItem>> cellItem, String componentId, IModel<DebugObjectItem> rowModel) { cellItem.add(new DebugButtonPanel<DebugObjectItem>(componentId, rowModel) { @Override public void deletePerformed(AjaxRequestTarget target, IModel<DebugObjectItem> model) { deleteSelected(target, model.getObject()); } @Override public void exportPerformed(AjaxRequestTarget target, IModel<DebugObjectItem> model) { exportSelected(target, model.getObject()); } }); } }; columns.add(column); column = new InlineMenuHeaderColumn<InlineMenuable>(initInlineMenu()) { @Override public void populateItem(Item<ICellPopulator<InlineMenuable>> cellItem, String componentId, IModel<InlineMenuable> rowModel) { //we don't need row inline menu cellItem.add(new Label(componentId)); } }; columns.add(column); return columns; }
From source file:com.evolveum.midpoint.web.page.admin.reports.PageCreatedReports.java
License:Apache License
private List<IColumn<SelectableBean<ReportOutputType>, String>> initColumns( final AjaxDownloadBehaviorFromStream ajaxDownloadBehavior) { List<IColumn<SelectableBean<ReportOutputType>, String>> columns = new ArrayList<>(); IColumn column;//from ww w . j ava2 s .c om column = new CheckBoxHeaderColumn(); columns.add(column); column = new PropertyColumn(createStringResource("pageCreatedReports.table.name"), "name", "value.name"); columns.add(column); column = new PropertyColumn(createStringResource("pageCreatedReports.table.description"), "value.description"); columns.add(column); column = new AbstractColumn<SelectableBean<ReportOutputType>, String>( createStringResource("pageCreatedReports.table.time"), "createTimestamp") { @Override public void populateItem(Item<ICellPopulator<SelectableBean<ReportOutputType>>> cellItem, String componentId, final IModel<SelectableBean<ReportOutputType>> rowModel) { cellItem.add(new Label(componentId, new AbstractReadOnlyModel() { @Override public Object getObject() { ReportOutputType object = rowModel.getObject().getValue(); MetadataType metadata = object.getMetadata(); if (metadata == null) { return null; } return WebMiscUtil.formatDate(metadata.getCreateTimestamp()); } })); } }; columns.add(column); column = new DoubleButtonColumn<SelectableBean<ReportOutputType>>(new Model(), null) { @Override public String getFirstCap() { return createStringResource("pageCreatedReports.button.download").getString(); } @Override public String getSecondCap() { return ""; } @Override public String getFirstColorCssClass() { return BUTTON_COLOR_CLASS.PRIMARY.toString(); } @Override public String getSecondColorCssClass() { return BUTTON_COLOR_CLASS.DANGER.toString() + " glyphicon glyphicon-trash"; } @Override public void firstClicked(AjaxRequestTarget target, IModel<SelectableBean<ReportOutputType>> model) { currentReport = model.getObject().getValue(); downloadPerformed(target, model.getObject().getValue(), ajaxDownloadBehavior); } @Override public void secondClicked(AjaxRequestTarget target, IModel<SelectableBean<ReportOutputType>> model) { deleteSelectedPerformed(target, ReportDeleteDialogDto.Operation.DELETE_SINGLE, model.getObject().getValue()); } @Override public String getSecondSizeCssClass() { return BUTTON_SIZE_CLASS.SMALL.toString(); } }; columns.add(column); column = new InlineMenuHeaderColumn<InlineMenuable>(initInlineMenu()) { @Override public void populateItem(Item<ICellPopulator<InlineMenuable>> cellItem, String componentId, IModel<InlineMenuable> rowModel) { cellItem.add(new Label(componentId)); } }; columns.add(column); return columns; }
From source file:com.romeikat.datamessie.core.base.ui.panel.AbstractTablePanel.java
License:Open Source License
@Override protected void onConfigure() { super.onConfigure(); columns = new ArrayList<IColumn<TableRow<X, Y, Z>, Y>>(); // Row header column final AbstractColumn<TableRow<X, Y, Z>, Y> rowHeaderColumn = new AbstractColumn<TableRow<X, Y, Z>, Y>( getFirstColumnHeaderModel(), null) { private static final long serialVersionUID = 1L; @Override//from w w w . jav a 2 s . c o m public void populateItem(final Item<ICellPopulator<TableRow<X, Y, Z>>> cellItem, final String componentId, final IModel<TableRow<X, Y, Z>> rowModel) { final TableRow<X, Y, Z> row = rowModel.getObject(); final X rowHeader = row.getRowHeader(); cellItem.add(getRowHeaderComponent(componentId, rowHeader)); } }; columns.add(rowHeaderColumn); // Value columns final ISingleTable<X, Y, Z> table = tableModel.getObject(); final List<Y> columnHeaders = table.getColumnHeadersSorted(getColumnHeaderComparator()); for (final Y columnHeader : columnHeaders) { final AbstractColumn<TableRow<X, Y, Z>, Y> valueColumn = new AbstractColumn<TableRow<X, Y, Z>, Y>( getColumnHeaderModel(columnHeader), columnHeader) { private static final long serialVersionUID = 1L; @Override public void populateItem(final Item<ICellPopulator<TableRow<X, Y, Z>>> cellItem, final String componentId, final IModel<TableRow<X, Y, Z>> rowModel) { final TableRow<X, Y, Z> row = rowModel.getObject(); final X rowHeader = row.getRowHeader(); final Z value = row.getValues().get(columnHeader); final IModel<String> valueModel = getValueModel(value); cellItem.add(getValueComponent(componentId, rowHeader, columnHeader, valueModel)); } }; columns.add(valueColumn); } // Table final AbstractTableDataProvider<X, Y, Z> dataProvider = new AbstractTableDataProvider<X, Y, Z>(tableModel) { private static final long serialVersionUID = 1L; @Override protected Comparator<X> getRowHeaderComparator() { return AbstractTablePanel.this.getRowHeaderComparator(); } }; final DataTable<TableRow<X, Y, Z>, Y> dataTable = new AbstractTable<TableRow<X, Y, Z>, Y>("table", columns, dataProvider, getRowsPerPage()) { private static final long serialVersionUID = 1L; @Override protected String getSingularObjectName() { return AbstractTablePanel.this.getSingularObjectName(); } @Override protected String getPluralObjectName() { return AbstractTablePanel.this.getPluralObjectName(); } }; addOrReplace(dataTable); }
From source file:de.tudarmstadt.ukp.csniper.webapp.evaluation.page.EvaluationPage.java
License:Apache License
/** * Get additional result table columns for the specified type. * // w ww.j a v a 2s .co m * @param aType * the type to get additional columns for * @return additional columns */ private List<IColumn<EvaluationResult, String>> getAllColumns(AnnotationType aType) { List<IColumn<EvaluationResult, String>> ac = new ArrayList<IColumn<EvaluationResult, String>>(); // add "standard" columns ac.addAll(columns); // add type dependent columns for (final AdditionalColumn ad : aType.getAdditionalColumns()) { ac.add(new AbstractColumn<EvaluationResult, String>(new Model<String>(ad.getName()), "additionalColumnValue(" + ad.getId() + ")") { private static final long serialVersionUID = 1L; @Override public void populateItem(Item<ICellPopulator<EvaluationResult>> aCellItem, String aComponentId, final IModel<EvaluationResult> aRowModel) { aCellItem .add(new AjaxEditableLabel<String>(aComponentId, new LoadableDetachableModel<String>() { private static final long serialVersionUID = 1L; @Override protected String load() { EvaluationResult result = aRowModel.getObject(); return result.getAdditionalColumns().get(ad); } }) { private static final long serialVersionUID = 1L; @Override public void onSubmit(AjaxRequestTarget aTarget) { super.onSubmit(aTarget); EvaluationResult result = aRowModel.getObject(); // get new value String newValue = getEditor().getInput(); // update database if (newValue.isEmpty()) { result.getAdditionalColumns().remove(ad); } else { result.getAdditionalColumns().put(ad, newValue); } repository.updateEvaluationResult(result); } @Override public void onError(AjaxRequestTarget aTarget) { super.onError(aTarget); aTarget.add(getFeedbackPanel()); } }.setType(String.class).add(new DbFieldMaxLengthValidator(projectRepository, "EvaluationResult_additionalColumns", "additionalColumns"))); } @Override public String getCssClass() { List<String> classes = new ArrayList<String>(); classes.add("editable"); if (!showResultColumns || !ad.getShowColumn()) { classes.add("hideCol"); } return StringUtils.join(classes, " "); } }); } return ac; }
From source file:net.tirasa.hct.editor.panel.HCTComponentPanel.java
License:Apache License
public HCTComponentPanel(final String id, final IPluginContext context, final IBreadCrumbModel breadCrumbModel, final String siteName) { super(id, breadCrumbModel); this.siteName = siteName; setOutputMarkupId(true);// ww w .j a v a 2s. co m final ComponentDataProvider componentDataProvider = new ComponentDataProvider(siteName); add(new Image("img_component", "images/component-48.png")); add(new AjaxBreadCrumbPanelLink("create-component", context, this, ComponentPanel.class, siteName)); final List<IColumn> columns = new ArrayList<IColumn>(); columns.add(new AbstractColumn(new ResourceModel("componentName"), "componentName") { private static final long serialVersionUID = -1822504503325964706L; @Override public void populateItem(final Item item, final String componentId, final IModel model) { final AjaxLinkLabel action = new AjaxLinkLabel(componentId, new PropertyModel(model, "componentName")) { private static final long serialVersionUID = 3776750333491622263L; @Override public void onClick(final AjaxRequestTarget target) { //panel.showView(target, model); activate(new IBreadCrumbPanelFactory() { private static final long serialVersionUID = 299017652786542948L; @Override public BreadCrumbPanel create(final String componentId, final IBreadCrumbModel breadCrumbModel) { return new ViewComponentPanel(componentId, context, breadCrumbModel, model, siteName); } }); } }; item.add(action); } }); columns.add( new PropertyColumn(new ResourceModel("componentType"), "frontend:componentType", "componentType")); final AdminDataTable table = new AdminDataTable("table", columns, new ComponentDataProvider(siteName), 20); table.setOutputMarkupId(true); add(table); }
From source file:net.tirasa.hct.editor.panel.HCTPagePanel.java
License:Apache License
public HCTPagePanel(final String id, final IPluginContext context, final IBreadCrumbModel breadCrumbModel, final String siteName) { super(id, breadCrumbModel); add(new Image("img_page", "images/page-48.png")); add(new AjaxBreadCrumbPanelLink("create-page", context, this, PagePanel.class, siteName)); final List<IColumn> columns = new ArrayList<IColumn>(); columns.add(new AbstractColumn(new ResourceModel("pageName"), "pageName") { private static final long serialVersionUID = -1822504503325964706L; @Override/* ww w .j av a 2 s .c om*/ public void populateItem(final Item item, final String componentId, final IModel model) { final AjaxLinkLabel action = new AjaxLinkLabel(componentId, new PropertyModel(model, "pageName")) { private static final long serialVersionUID = 3776750333491622263L; @Override public void onClick(final AjaxRequestTarget target) { //panel.showView(target, model); activate(new IBreadCrumbPanelFactory() { private static final long serialVersionUID = 299017652786542948L; @Override public BreadCrumbPanel create(final String componentId, final IBreadCrumbModel breadCrumbModel) { return new ViewPagePanel(componentId, context, breadCrumbModel, model, siteName); } }); } }; item.add(action); } }); columns.add(new PropertyColumn(new ResourceModel("description"), "frontend:description", "description")); final AdminDataTable table = new AdminDataTable("table", columns, new PageDataProvider(siteName), 20); table.setOutputMarkupId(true); add(table); }
From source file:net.tirasa.hct.editor.panel.HCTSitePanel.java
License:Apache License
public HCTSitePanel(final String id, final IPluginContext context, final IBreadCrumbModel breadCrumbModel, final String siteName) { super(id, breadCrumbModel); add(new Image("img_site", "images/site-48.png")); add(new AjaxBreadCrumbPanelLink("create-site", context, this, SitePanel.class, siteName)); final List<IColumn> columns = new ArrayList<IColumn>(); columns.add(new AbstractColumn(new ResourceModel("siteName"), "siteName") { private static final long serialVersionUID = -1822504503325964706L; @Override/*from w w w . j av a2 s . co m*/ public void populateItem(final Item item, final String componentId, final IModel model) { final AjaxLinkLabel action = new AjaxLinkLabel(componentId, new PropertyModel(model, "siteName")) { private static final long serialVersionUID = 3776750333491622263L; @Override public void onClick(final AjaxRequestTarget target) { //panel.showView(target, model); activate(new IBreadCrumbPanelFactory() { private static final long serialVersionUID = 299017652786542948L; @Override public BreadCrumbPanel create(final String componentId, final IBreadCrumbModel breadCrumbModel) { return new ViewSitePanel(componentId, context, breadCrumbModel, model); } }); } }; item.add(action); } }); columns.add(new PropertyColumn(new ResourceModel("description"), "frontend:description", "description")); final AdminDataTable table = new AdminDataTable("table", columns, new SiteDataProvider(), 20); table.setOutputMarkupId(true); add(table); }
From source file:org.apache.karaf.webconsole.karaf.feature.feature.FeaturesPage.java
License:Apache License
@SuppressWarnings({ "rawtypes", "serial" })
public FeaturesPage() throws Exception {
add(new CssBehavior(FeaturesPage.class, "features.css"));
for (Repository repository : featuresService.listRepositories()) {
for (Feature feature : repository.getFeatures()) {
feature2repo.put(feature.getId(), repository.getName());
}//from ww w . j a va2 s . c o m
}
IModel state = Model.of("state");
IModel version = Model.of("version");
IModel name = Model.of("name");
IModel repository = Model.of("repository");
IModel description = Model.of("description");
List<IColumn<Feature, String>> columns = new ArrayList<IColumn<Feature, String>>();
columns.add(new PropertyColumn<Feature, String>(new StringResourceModel("table.version", this, version),
"version", "version"));
columns.add(new PropertyColumn<Feature, String>(new StringResourceModel("table.name", this, name), "name",
"name"));
columns.add(new AbstractColumn<Feature, String>(
new StringResourceModel("table.repository", this, repository), "repository") {
public void populateItem(Item<ICellPopulator<Feature>> cellItem, String componentId,
IModel<Feature> rowModel) {
cellItem.add(new Label(componentId, feature2repo.get(rowModel.getObject().getId())));
}
});
columns.add(new PropertyColumn<Feature, String>(
new StringResourceModel("table.description", this, description), "description", "description"));
columns.add(
new AbstractColumn<Feature, String>(new StringResourceModel("table.state", this, state), "state") {
public void populateItem(Item<ICellPopulator<Feature>> cellItem, String componentId,
IModel<Feature> rowModel) {
cellItem.add(new Label(componentId,
featuresService.isInstalled(rowModel.getObject()) ? "Installed" : "Uninstalled"));
}
});
columns.add(new AbstractColumn<Feature, String>(new ResourceModel("table.actions")) {
public void populateItem(Item<ICellPopulator<Feature>> cellItem, String componentId,
IModel<Feature> model) {
cellItem.add(new FeaturesActionsPanel(componentId, model));
}
});
add(new BaseDataTable<Feature>("features", columns, new FeaturesProvider(featuresService), 20));
}
From source file:org.apache.syncope.client.console.pages.StatusModalPage.java
License:Apache License
public StatusModalPage(final PageReference pageRef, final ModalWindow window, final AbstractSubjectTO subjectTO, final boolean statusOnly) { super();/*w ww .jav a 2 s .com*/ this.pageRef = pageRef; this.window = window; this.statusOnly = statusOnly; this.subjectTO = subjectTO; statusUtils = new StatusUtils(subjectTO instanceof UserTO ? userRestClient : groupRestClient); add(new Label("displayName", subjectTO.getKey() + " " + (subjectTO instanceof UserTO ? ((UserTO) subjectTO).getUsername() : ((GroupTO) subjectTO).getName()))); columns = new ArrayList<>(); columns.add(new AbstractColumn<StatusBean, String>( new StringResourceModel("resourceName", this, null, "Resource name"), "resourceName") { private static final long serialVersionUID = 2054811145491901166L; @Override public void populateItem(final Item<ICellPopulator<StatusBean>> cellItem, final String componentId, final IModel<StatusBean> model) { cellItem.add(new Label(componentId, model.getObject().getResourceName()) { private static final long serialVersionUID = 8432079838783825801L; @Override protected void onComponentTag(final ComponentTag tag) { if (model.getObject().isLinked()) { super.onComponentTag(tag); } else { tag.put("style", "color: #DDDDDD"); } } }); } }); columns.add(new PropertyColumn<StatusBean, String>( new StringResourceModel("accountLink", this, null, "Account link"), "accountLink", "accountLink")); columns.add(new AbstractColumn<StatusBean, String>(new StringResourceModel("status", this, null, "")) { private static final long serialVersionUID = -3503023501954863131L; @Override public String getCssClass() { return "action"; } @Override public void populateItem(final Item<ICellPopulator<StatusBean>> cellItem, final String componentId, final IModel<StatusBean> model) { if (model.getObject().isLinked()) { cellItem.add(statusUtils.getStatusImagePanel(componentId, model.getObject().getStatus())); } else { cellItem.add(new Label(componentId, "")); } } }); table = new ActionDataTablePanel<StatusBean, String>("resourceDatatable", columns, (ISortableDataProvider<StatusBean, String>) new AttributableStatusProvider(), rowsPerPage, pageRef) { private static final long serialVersionUID = 6510391461033818316L; @Override public boolean isElementEnabled(final StatusBean element) { return !statusOnly || element.getStatus() != Status.OBJECT_NOT_FOUND; } }; table.setOutputMarkupId(true); final String pageId = subjectTO instanceof GroupTO ? "Groups" : "Users"; final Fragment pwdMgtFragment = new Fragment("pwdMgtFields", "pwdMgtFragment", this); addOrReplace(pwdMgtFragment); pwdMgt = new WebMarkupContainer("pwdMgt"); pwdMgtFragment.add(pwdMgt.setOutputMarkupId(true)); pwdMgtForm = new Form("pwdMgtForm"); pwdMgtForm.setVisible(false).setEnabled(false); pwdMgt.add(pwdMgtForm); password = new PasswordTextField("password", new Model<String>()); pwdMgtForm.add(password.setRequired(false).setEnabled(false)); confirm = new PasswordTextField("confirm", new Model<String>()); pwdMgtForm.add(confirm.setRequired(false).setEnabled(false)); changepwd = new AjaxCheckBoxPanel("changepwd", "changepwd", new Model<Boolean>(false)); pwdMgtForm.add(changepwd.setModelObject(false)); pwdMgtForm.add(new Label("changePwdLabel", new ResourceModel("changePwdLabel", "Password propagation"))); changepwd.getField().add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) { private static final long serialVersionUID = -1107858522700306810L; @Override protected void onUpdate(final AjaxRequestTarget target) { password.setEnabled(changepwd.getModelObject()); confirm.setEnabled(changepwd.getModelObject()); target.add(pwdMgt); } }); cancel = new ClearIndicatingAjaxButton("cancel", new ResourceModel("cancel"), pageRef) { private static final long serialVersionUID = -2341391430136818026L; @Override protected void onSubmitInternal(final AjaxRequestTarget target, final Form<?> form) { // ignore window.close(target); } }.feedbackPanelAutomaticReload(false); pwdMgtForm.add(cancel); final ClearIndicatingAjaxButton goon = new ClearIndicatingAjaxButton("continue", new ResourceModel("continue"), pageRef) { private static final long serialVersionUID = -2341391430136818027L; @Override protected void onSubmitInternal(final AjaxRequestTarget target, final Form<?> form) { // none } }; pwdMgtForm.add(goon); if (statusOnly) { table.addAction(new ActionLink() { private static final long serialVersionUID = -3722207913631435501L; @Override public void onClick(final AjaxRequestTarget target) { try { userRestClient.reactivate(subjectTO.getETagValue(), subjectTO.getKey(), new ArrayList<>(table.getModelObject())); ((BasePage) pageRef.getPage()).setModalResult(true); window.close(target); } catch (Exception e) { LOG.error("Error enabling resources", e); error(getString(Constants.ERROR) + ": " + e.getMessage()); feedbackPanel.refresh(target); } } }, ActionLink.ActionType.REACTIVATE, pageId); table.addAction(new ActionLink() { private static final long serialVersionUID = -3722207913631435501L; @Override public void onClick(final AjaxRequestTarget target) { try { userRestClient.suspend(subjectTO.getETagValue(), subjectTO.getKey(), new ArrayList<>(table.getModelObject())); if (pageRef.getPage() instanceof BasePage) { ((BasePage) pageRef.getPage()).setModalResult(true); } window.close(target); } catch (Exception e) { LOG.error("Error disabling resources", e); error(getString(Constants.ERROR) + ": " + e.getMessage()); feedbackPanel.refresh(target); } } }, ActionLink.ActionType.SUSPEND, pageId); } else { table.addAction(new ActionLink() { private static final long serialVersionUID = -3722207913631435501L; @Override public void onClick(final AjaxRequestTarget target) { try { if (subjectTO instanceof UserTO) { userRestClient.unlink(subjectTO.getETagValue(), subjectTO.getKey(), new ArrayList<>(table.getModelObject())); } else { groupRestClient.unlink(subjectTO.getETagValue(), subjectTO.getKey(), new ArrayList<>(table.getModelObject())); } ((BasePage) pageRef.getPage()).setModalResult(true); window.close(target); } catch (Exception e) { LOG.error("Error unlinking resources", e); error(getString(Constants.ERROR) + ": " + e.getMessage()); feedbackPanel.refresh(target); } } }, ActionLink.ActionType.UNLINK, pageId); table.addAction(new ActionLink() { private static final long serialVersionUID = -3722207913631435501L; @Override public void onClick(final AjaxRequestTarget target) { try { if (subjectTO instanceof UserTO) { userRestClient.link(subjectTO.getETagValue(), subjectTO.getKey(), new ArrayList<>(table.getModelObject())); } else { groupRestClient.link(subjectTO.getETagValue(), subjectTO.getKey(), new ArrayList<>(table.getModelObject())); } ((BasePage) pageRef.getPage()).setModalResult(true); window.close(target); } catch (Exception e) { LOG.error("Error linking resources", e); error(getString(Constants.ERROR) + ": " + e.getMessage()); feedbackPanel.refresh(target); } } }, ActionLink.ActionType.LINK, pageId); table.addAction(new ActionLink() { private static final long serialVersionUID = -3722207913631435501L; @Override public void onClick(final AjaxRequestTarget target) { try { BulkActionResult bulkActionResult; if (subjectTO instanceof UserTO) { bulkActionResult = userRestClient.deprovision(subjectTO.getETagValue(), subjectTO.getKey(), new ArrayList<>(table.getModelObject())); } else { bulkActionResult = groupRestClient.deprovision(subjectTO.getETagValue(), subjectTO.getKey(), new ArrayList<>(table.getModelObject())); } ((BasePage) pageRef.getPage()).setModalResult(true); loadBulkActionResultPage(table.getModelObject(), bulkActionResult); } catch (Exception e) { LOG.error("Error de-provisioning user", e); error(getString(Constants.ERROR) + ": " + e.getMessage()); feedbackPanel.refresh(target); } } }, ActionLink.ActionType.DEPROVISION, pageId); table.addAction(new ActionLink() { private static final long serialVersionUID = -3722207913631435501L; @Override public void onClick(final AjaxRequestTarget target) { if (subjectTO instanceof UserTO) { StatusModalPage.this.passwordManagement(target, ResourceAssociationActionType.PROVISION, table.getModelObject()); } else { try { final BulkActionResult bulkActionResult = groupRestClient.provision( subjectTO.getETagValue(), subjectTO.getKey(), new ArrayList<>(table.getModelObject())); ((BasePage) pageRef.getPage()).setModalResult(true); loadBulkActionResultPage(table.getModelObject(), bulkActionResult); } catch (Exception e) { LOG.error("Error provisioning user", e); error(getString(Constants.ERROR) + ": " + e.getMessage()); feedbackPanel.refresh(target); } } } }.feedbackPanelAutomaticReload(!(subjectTO instanceof UserTO)), ActionLink.ActionType.PROVISION, pageId); table.addAction(new ActionLink() { private static final long serialVersionUID = -3722207913631435501L; @Override public void onClick(final AjaxRequestTarget target) { try { final BulkActionResult bulkActionResult; if (subjectTO instanceof UserTO) { bulkActionResult = userRestClient.unassign(subjectTO.getETagValue(), subjectTO.getKey(), new ArrayList<>(table.getModelObject())); } else { bulkActionResult = groupRestClient.unassign(subjectTO.getETagValue(), subjectTO.getKey(), new ArrayList<>(table.getModelObject())); } ((BasePage) pageRef.getPage()).setModalResult(true); loadBulkActionResultPage(table.getModelObject(), bulkActionResult); } catch (Exception e) { LOG.error("Error unassigning resources", e); error(getString(Constants.ERROR) + ": " + e.getMessage()); feedbackPanel.refresh(target); } } }, ActionLink.ActionType.UNASSIGN, pageId); table.addAction(new ActionLink() { private static final long serialVersionUID = -3722207913631435501L; @Override public void onClick(final AjaxRequestTarget target) { if (subjectTO instanceof UserTO) { StatusModalPage.this.passwordManagement(target, ResourceAssociationActionType.ASSIGN, table.getModelObject()); } else { try { final BulkActionResult bulkActionResult = groupRestClient.assign( subjectTO.getETagValue(), subjectTO.getKey(), new ArrayList<>(table.getModelObject())); ((BasePage) pageRef.getPage()).setModalResult(true); loadBulkActionResultPage(table.getModelObject(), bulkActionResult); } catch (Exception e) { LOG.error("Error assigning resources", e); error(getString(Constants.ERROR) + ": " + e.getMessage()); feedbackPanel.refresh(target); } } } }.feedbackPanelAutomaticReload(!(subjectTO instanceof UserTO)), ActionLink.ActionType.ASSIGN, pageId); } table.addCancelButton(window); add(table); }