You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by fm...@apache.org on 2017/05/05 22:22:56 UTC
[10/10] syncope git commit: [SYNCOPE-1047] Replaces ActionLinksPanel
with TogglePanel
[SYNCOPE-1047] Replaces ActionLinksPanel with TogglePanel
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/2e7e2cee
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/2e7e2cee
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/2e7e2cee
Branch: refs/heads/master
Commit: 2e7e2ceef339fe243de2c688200e4010d46b8776
Parents: 018fa97
Author: fmartelli <fa...@gmail.com>
Authored: Fri May 5 23:56:29 2017 +0200
Committer: fmartelli <fa...@gmail.com>
Committed: Fri May 5 23:59:18 2017 +0200
----------------------------------------------------------------------
.../approvals/ApprovalDirectoryPanel.java | 93 +-
.../client/console/bulk/BulkContent.java | 9 +-
.../client/console/commons/Constants.java | 12 +
.../console/events/EventCategoryPanel.java | 174 +--
.../MailTemplateDirectoryPanel.java | 129 +-
.../NotificationDirectoryPanel.java | 112 +-
.../client/console/pages/Parameters.java | 6 +-
.../syncope/client/console/pages/Roles.java | 2 +-
.../panels/AccessTokenDirectoryPanel.java | 75 +-
.../console/panels/ActionDataTablePanel.java | 13 +-
.../console/panels/AjaxDataTablePanel.java | 32 +-
.../console/panels/AnyDirectoryPanel.java | 5 +-
.../console/panels/AnyObjectDirectoryPanel.java | 289 ++--
.../AnyObjectDisplayAttributesModalPanel.java | 2 +-
.../console/panels/AnyTypeClassesPanel.java | 82 +-
.../client/console/panels/AnyTypesPanel.java | 90 +-
.../client/console/panels/DirectoryPanel.java | 69 +-
.../console/panels/GroupDirectoryPanel.java | 333 ++--
.../GroupDisplayAttributesModalPanel.java | 2 +-
.../client/console/panels/ListViewPanel.java | 29 +-
.../panels/ParametersDirectoryPanel.java | 212 +++
.../client/console/panels/ParametersPanel.java | 234 ---
.../syncope/client/console/panels/Realm.java | 99 +-
.../client/console/panels/RealmDetails.java | 4 +-
.../console/panels/RelationshipTypesPanel.java | 83 +-
.../console/panels/RoleDirectoryPanel.java | 244 ++-
.../client/console/panels/SchemaTypePanel.java | 108 +-
.../console/panels/SecurityQuestionsPanel.java | 89 +-
.../client/console/panels/TogglePanel.java | 7 +-
.../panels/TypeExtensionDirectoryPanel.java | 55 +-
.../console/panels/UserDirectoryPanel.java | 423 ++---
.../panels/UserDisplayAttributesModalPanel.java | 2 +-
.../console/panels/WorkflowDirectoryPanel.java | 203 ++-
.../AnyObjectSelectionDirectoryPanel.java | 6 -
.../search/AnySelectionDirectoryPanel.java | 77 +-
.../search/GroupSelectionDirectoryPanel.java | 6 -
.../search/UserSelectionDirectoryPanel.java | 6 -
.../policies/AccountPolicyDirectoryPanel.java | 7 +-
.../policies/PasswordPolicyDirectoryPanel.java | 5 +-
.../console/policies/PolicyDirectoryPanel.java | 134 +-
.../policies/PolicyRuleDirectoryPanel.java | 144 +-
.../policies/PullPolicyDirectoryPanel.java | 5 +-
.../console/reports/ReportDirectoryPanel.java | 191 +--
.../console/reports/ReportExecutionDetails.java | 4 +-
.../reports/ReportTemplateDirectoryPanel.java | 166 +-
.../reports/ReportletDirectoryPanel.java | 147 +-
.../console/status/AnyStatusDirectoryPanel.java | 54 +-
.../console/tasks/ExecutionsDirectoryPanel.java | 90 +-
.../tasks/NotificationTaskDirectoryPanel.java | 159 +-
.../tasks/PropagationTaskDirectoryPanel.java | 121 +-
.../tasks/ProvisioningTaskDirectoryPanel.java | 2 +-
.../console/tasks/PullTaskDirectoryPanel.java | 12 +-
.../console/tasks/SchedTaskDirectoryPanel.java | 187 ++-
.../client/console/topology/Topology.java | 20 +-
.../console/topology/TopologyTogglePanel.java | 2 +-
.../html/repeater/data/table/ActionColumn.java | 50 -
.../data/table/AjaxFallbackDataTable.java | 51 +-
.../data/table/CollectionPropertyColumn.java | 3 +-
.../repeater/data/table/KeyPropertyColumn.java | 14 +-
.../console/wicket/markup/html/form/Action.java | 176 +++
.../wicket/markup/html/form/ActionLink.java | 2 +-
.../markup/html/form/ActionLinksPanel.java | 1459 ------------------
.../html/form/ActionLinksTogglePanel.java | 129 ++
.../wicket/markup/html/form/ActionPanel.java | 160 ++
.../wicket/markup/html/form/ActionsPanel.java | 88 ++
.../client/console/widgets/JobWidget.java | 106 +-
.../console/widgets/ReconciliationWidget.java | 27 +-
.../console/wizards/AbstractMappingPanel.java | 8 +-
.../console/wizards/any/Relationships.java | 9 +-
.../client/console/wizards/any/ResultPage.java | 12 +-
.../META-INF/resources/css/syncopeConsole.css | 37 +
.../META-INF/resources/css/topology.css | 17 +
.../client/console/bulk/BulkContent.html | 4 +-
.../console/panels/AjaxDataTablePanel.html | 2 +-
.../client/console/panels/DirectoryPanel.html | 25 +-
.../panels/ParametersDirectoryPanel.html | 23 +
.../panels/ParametersDirectoryPanel.properties | 21 +
.../ParametersDirectoryPanel_it.properties | 21 +
.../ParametersDirectoryPanel_pt_BR.properties | 21 +
.../ParametersDirectoryPanel_ru.properties | 27 +
.../client/console/panels/ParametersPanel.html | 23 -
.../console/panels/ParametersPanel.properties | 21 -
.../panels/ParametersPanel_it.properties | 21 -
.../panels/ParametersPanel_pt_BR.properties | 21 -
.../panels/ParametersPanel_ru.properties | 27 -
.../client/console/panels/RealmDetails.html | 4 +-
.../client/console/panels/TogglePanel.html | 38 +-
.../console/topology/TopologyTogglePanel.html | 9 +-
.../markup/html/form/ActionLinksPanel.html | 298 ----
.../html/form/ActionLinksTogglePanel.html | 30 +
.../wicket/markup/html/form/ActionPanel.html | 30 +
.../markup/html/form/ActionPanel.properties | 227 +++
.../markup/html/form/ActionPanel_it.properties | 226 +++
.../html/form/ActionPanel_pt_BR.properties | 226 +++
.../markup/html/form/ActionPanel_ru.properties | 226 +++
.../wicket/markup/html/form/ActionsPanel.html | 34 +
.../markup/html/form/ActionsPanel.properties | 223 +++
.../markup/html/form/ActionsPanel_it.properties | 223 +++
.../html/form/ActionsPanel_pt_BR.properties | 223 +++
.../markup/html/form/ActionsPanel_ru.properties | 223 +++
.../console/wizards/AbstractMappingPanel.html | 2 +-
.../client/console/wizards/any/ResultPage.html | 2 +-
.../org/apache/syncope/common/lib/to/JobTO.java | 2 -
.../panels/CamelRoutesDirectoryPanel.java | 87 +-
.../console/panels/SAML2IdPsDirectoryPanel.java | 118 +-
.../syncope/fit/console/AnyObjectsITCase.java | 18 +-
.../fit/console/AnyTypeClassesITCase.java | 89 +-
.../syncope/fit/console/AnyTypesITCase.java | 55 +-
.../syncope/fit/console/BulkActionITCase.java | 132 +-
.../fit/console/DisplayAttributesITCase.java | 12 +-
.../syncope/fit/console/GroupsITCase.java | 104 +-
.../fit/console/NotificationsITCase.java | 51 +-
.../syncope/fit/console/ParametersITCase.java | 11 +-
.../syncope/fit/console/PoliciesITCase.java | 182 ++-
.../syncope/fit/console/RealmsITCase.java | 39 +-
.../fit/console/RelationshipTypesITCase.java | 40 +-
.../syncope/fit/console/ReportsITCase.java | 50 +-
.../apache/syncope/fit/console/RolesITCase.java | 35 +-
.../syncope/fit/console/SchemasITCase.java | 61 +-
.../fit/console/SecurityQuestionsITCase.java | 32 +-
.../syncope/fit/console/TopologyITCase.java | 85 +-
.../apache/syncope/fit/console/UsersITCase.java | 68 +-
122 files changed, 5779 insertions(+), 5207 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/2e7e2cee/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalDirectoryPanel.java
index ffcb7ed..a3249cd 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalDirectoryPanel.java
@@ -32,10 +32,9 @@ import org.apache.syncope.client.console.panels.DirectoryPanel;
import org.apache.syncope.client.console.rest.UserWorkflowRestClient;
import org.apache.syncope.client.console.approvals.ApprovalDirectoryPanel.ApprovalProvider;
import org.apache.syncope.client.console.pages.BasePage;
-import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.ActionColumn;
import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.DatePropertyColumn;
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
-import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
import org.apache.syncope.common.lib.SyncopeClientException;
import org.apache.syncope.common.lib.to.WorkflowFormTO;
import org.apache.syncope.common.lib.types.StandardEntitlement;
@@ -99,77 +98,55 @@ public class ApprovalDirectoryPanel
columns.add(new DatePropertyColumn<WorkflowFormTO>(
new ResourceModel("dueDate"), "dueDate", "dueDate"));
columns.add(new PropertyColumn<WorkflowFormTO, String>(new ResourceModel("owner"), "owner", "owner"));
- columns.add(new ActionColumn<WorkflowFormTO, String>(new ResourceModel("actions")) {
- private static final long serialVersionUID = -3503023501954863133L;
-
- @Override
- public ActionLinksPanel<WorkflowFormTO> getActions(
- final String componentId, final IModel<WorkflowFormTO> model) {
- final ActionLinksPanel.Builder<WorkflowFormTO> panel = ActionLinksPanel.builder();
-
- panel.add(new ActionLink<WorkflowFormTO>() {
-
- private static final long serialVersionUID = -3722207913631435501L;
+ return columns;
+ }
- @Override
- public void onClick(final AjaxRequestTarget target, final WorkflowFormTO ignore) {
- try {
- restClient.claimForm(model.getObject().getTaskId());
- SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
- } catch (SyncopeClientException scee) {
- SyncopeConsoleSession.get().error(getString(Constants.ERROR) + ": " + scee.getMessage());
- }
- ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
- target.add(container);
- }
- }, ActionLink.ActionType.CLAIM, StandardEntitlement.WORKFLOW_FORM_CLAIM);
+ @Override
+ public ActionsPanel<WorkflowFormTO> getActions(final IModel<WorkflowFormTO> model) {
+ final ActionsPanel<WorkflowFormTO> panel = super.getActions(model);
- panel.add(new ActionLink<WorkflowFormTO>() {
+ panel.add(new ActionLink<WorkflowFormTO>() {
- private static final long serialVersionUID = -3722207913631435501L;
+ private static final long serialVersionUID = -3722207913631435501L;
- @Override
- public void onClick(final AjaxRequestTarget target, final WorkflowFormTO ignore) {
- final IModel<WorkflowFormTO> formModel = new CompoundPropertyModel<>(model.getObject());
- modal.setFormModel(formModel);
+ @Override
+ public void onClick(final AjaxRequestTarget target, final WorkflowFormTO ignore) {
+ try {
+ restClient.claimForm(model.getObject().getTaskId());
+ SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
+ } catch (SyncopeClientException scee) {
+ SyncopeConsoleSession.get().error(getString(Constants.ERROR) + ": " + scee.getMessage());
+ }
+ ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
+ target.add(container);
+ }
+ }, ActionLink.ActionType.CLAIM, StandardEntitlement.WORKFLOW_FORM_CLAIM);
- target.add(modal.setContent(new ApprovalModal(modal, pageRef, model.getObject())));
- modal.header(new Model<>(getString("approval.edit", new Model<>(model.getObject()))));
+ panel.add(new ActionLink<WorkflowFormTO>() {
- modal.show(true);
- }
+ private static final long serialVersionUID = -3722207913631435501L;
- @Override
- protected boolean statusCondition(final WorkflowFormTO modelObject) {
- return SyncopeConsoleSession.get().getSelfTO().getUsername().
- equals(model.getObject().getOwner());
- }
+ @Override
+ public void onClick(final AjaxRequestTarget target, final WorkflowFormTO ignore) {
+ final IModel<WorkflowFormTO> formModel = new CompoundPropertyModel<>(model.getObject());
+ modal.setFormModel(formModel);
- }, ActionLink.ActionType.EDIT, StandardEntitlement.WORKFLOW_FORM_READ);
+ target.add(modal.setContent(new ApprovalModal(modal, pageRef, model.getObject())));
+ modal.header(new Model<>(getString("approval.edit", new Model<>(model.getObject()))));
- return panel.build(componentId);
+ modal.show(true);
}
@Override
- public ActionLinksPanel<WorkflowFormTO> getHeader(final String componentId) {
- final ActionLinksPanel.Builder<WorkflowFormTO> panel = ActionLinksPanel.builder();
-
- return panel.add(new ActionLink<WorkflowFormTO>() {
-
- private static final long serialVersionUID = -7978723352517770644L;
-
- @Override
- public void onClick(final AjaxRequestTarget target, final WorkflowFormTO ignore) {
- if (target != null) {
- target.add(container);
- }
- }
- }, ActionLink.ActionType.RELOAD, StandardEntitlement.WORKFLOW_FORM_LIST).build(componentId);
+ protected boolean statusCondition(final WorkflowFormTO modelObject) {
+ return SyncopeConsoleSession.get().getSelfTO().getUsername().
+ equals(model.getObject().getOwner());
}
- });
- return columns;
+ }, ActionLink.ActionType.EDIT, StandardEntitlement.WORKFLOW_FORM_READ);
+
+ return panel;
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/2e7e2cee/client/console/src/main/java/org/apache/syncope/client/console/bulk/BulkContent.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/bulk/BulkContent.java b/client/console/src/main/java/org/apache/syncope/client/console/bulk/BulkContent.java
index bdfe2d5..2a46141 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/bulk/BulkContent.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/bulk/BulkContent.java
@@ -39,7 +39,7 @@ import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.
import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink.ActionType;
-import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
import org.apache.syncope.common.lib.to.BulkAction;
import org.apache.syncope.common.lib.to.BulkActionResult;
import org.apache.syncope.common.lib.types.StandardEntitlement;
@@ -112,7 +112,7 @@ public class BulkContent<T extends Serializable, S> extends MultilevelPanel.Seco
dataProvider,
Integer.MAX_VALUE).setMarkupId("selectedObjects").setVisible(items != null && !items.isEmpty()));
- final ActionLinksPanel<Serializable> actionPanel = ActionLinksPanel.builder().build("actions");
+ final ActionsPanel<Serializable> actionPanel = new ActionsPanel<>("actions", null);
container.add(actionPanel);
for (ActionLink.ActionType action : actions) {
@@ -236,14 +236,15 @@ public class BulkContent<T extends Serializable, S> extends MultilevelPanel.Seco
target.add(actionPanel);
SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
- } catch (Exception e) {
+ } catch (IllegalArgumentException | NoSuchMethodException | SecurityException
+ | IllegalAccessException | InvocationTargetException e) {
LOG.error("Bulk action failure", e);
SyncopeConsoleSession.get().error("Operation " + actionToBeAddresed.getActionId()
+ " not supported");
}
((BasePage) getPage()).getNotificationPanel().refresh(target);
}
- }, action, StandardEntitlement.CONFIGURATION_LIST, !items.isEmpty());
+ }, action, StandardEntitlement.CONFIGURATION_LIST).hideLabel();
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/2e7e2cee/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java b/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java
index affe16e..11bdc72 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java
@@ -37,6 +37,18 @@ public final class Constants {
public static final String MODEL_ID_PARAM = "modelId";
+ public static final String KEY_FIELD_NAME = "key";
+
+ public static final String SCHEMA_FIELD_NAME = "schema";
+
+ public static final String DESCRIPTION_FIELD_NAME = "description";
+
+ public static final String USERNAME_FIELD_NAME = "username";
+
+ public static final String OBJNAME_FIELD_NAME = "name";
+
+ public static final String DEFAULT_TOKEN_FIELD_NAME = "token";
+
public static final String ON_CLICK = "click";
public static final String ON_CHANGE = "change";
http://git-wip-us.apache.org/repos/asf/syncope/blob/2e7e2cee/client/console/src/main/java/org/apache/syncope/client/console/events/EventCategoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/events/EventCategoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/events/EventCategoryPanel.java
index 6796fc3..5579d29 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/events/EventCategoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/events/EventCategoryPanel.java
@@ -34,7 +34,7 @@ import org.apache.syncope.client.console.commons.Constants;
import org.apache.syncope.client.console.events.SelectedEventsPanel.EventSelectionChanged;
import org.apache.syncope.client.console.events.SelectedEventsPanel.InspectSelectedEvent;
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
-import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
import org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
import org.apache.syncope.common.lib.log.EventCategoryTO;
@@ -77,7 +77,7 @@ public abstract class EventCategoryPanel extends Panel {
private final AjaxTextFieldPanel custom;
- private final ActionLinksPanel<EventCategoryTO> actionLinksPanel;
+ private final ActionsPanel<EventCategoryTO> actionsPanel;
private final IModel<List<String>> model;
@@ -194,93 +194,93 @@ public abstract class EventCategoryPanel extends Panel {
categoryContainer.add(custom.hideLabel());
- actionLinksPanel = ActionLinksPanel.<EventCategoryTO>builder().
- add(new ActionLink<EventCategoryTO>() {
+ actionsPanel = new ActionsPanel<EventCategoryTO>("customActions", null);
+ actionsPanel.add(new ActionLink<EventCategoryTO>() {
- private static final long serialVersionUID = -3722207913631435501L;
+ private static final long serialVersionUID = -3722207913631435501L;
- @Override
- public void onClick(final AjaxRequestTarget target, final EventCategoryTO modelObject) {
- if (StringUtils.isNotBlank(custom.getModelObject())) {
- Map.Entry<EventCategoryTO, AuditElements.Result> parsed =
- AuditLoggerName.parseEventCategory(custom.getModelObject());
-
- String eventString = AuditLoggerName.buildEvent(
- parsed.getKey().getType(),
- null,
- null,
- parsed.getKey().getEvents().isEmpty()
+ @Override
+ public void onClick(final AjaxRequestTarget target, final EventCategoryTO ignore) {
+ if (StringUtils.isNotBlank(custom.getModelObject())) {
+ Map.Entry<EventCategoryTO, AuditElements.Result> parsed = AuditLoggerName.parseEventCategory(custom.
+ getModelObject());
+
+ String eventString = AuditLoggerName.buildEvent(
+ parsed.getKey().getType(),
+ null,
+ null,
+ parsed.getKey().getEvents().isEmpty()
? StringUtils.EMPTY : parsed.getKey().getEvents().iterator().next(),
- parsed.getValue());
-
- custom.setModelObject(StringUtils.EMPTY);
- send(EventCategoryPanel.this.getPage(), Broadcast.BREADTH, new EventSelectionChanged(
- target,
- Collections.<String>singleton(eventString),
- Collections.<String>emptySet()));
- target.add(categoryContainer);
- }
- }
- }, ActionLink.ActionType.CREATE).
- add(new ActionLink<EventCategoryTO>() {
+ parsed.getValue());
+
+ custom.setModelObject(StringUtils.EMPTY);
+ send(EventCategoryPanel.this.getPage(), Broadcast.BREADTH, new EventSelectionChanged(
+ target,
+ Collections.<String>singleton(eventString),
+ Collections.<String>emptySet()));
+ target.add(categoryContainer);
+ }
+ }
+ }, ActionLink.ActionType.CREATE, StringUtils.EMPTY);
+ actionsPanel.add(new ActionLink<EventCategoryTO>() {
- private static final long serialVersionUID = -3722207913631435501L;
+ private static final long serialVersionUID = -3722207913631435501L;
- @Override
- public void onClick(final AjaxRequestTarget target, final EventCategoryTO modelObject) {
- if (StringUtils.isNotBlank(custom.getModelObject())) {
- Pair<EventCategoryTO, AuditElements.Result> parsed =
- AuditLoggerName.parseEventCategory(custom.getModelObject());
-
- String eventString = AuditLoggerName.buildEvent(
- parsed.getKey().getType(),
- null,
- null,
- parsed.getKey().getEvents().isEmpty()
+ @Override
+ public void onClick(final AjaxRequestTarget target, final EventCategoryTO ignore) {
+ if (StringUtils.isNotBlank(custom.getModelObject())) {
+ Pair<EventCategoryTO, AuditElements.Result> parsed = AuditLoggerName.parseEventCategory(custom.
+ getModelObject());
+
+ String eventString = AuditLoggerName.buildEvent(
+ parsed.getKey().getType(),
+ null,
+ null,
+ parsed.getKey().getEvents().isEmpty()
? StringUtils.EMPTY : parsed.getKey().getEvents().iterator().next(),
- parsed.getValue());
-
- custom.setModelObject(StringUtils.EMPTY);
- send(EventCategoryPanel.this.getPage(), Broadcast.BREADTH, new EventSelectionChanged(
- target,
- Collections.<String>singleton(eventString),
- Collections.<String>emptySet()));
- target.add(categoryContainer);
- }
- }
- }, ActionLink.ActionType.CREATE).
- add(new ActionLink<EventCategoryTO>() {
+ parsed.getValue());
+
+ custom.setModelObject(StringUtils.EMPTY);
+ send(EventCategoryPanel.this.getPage(), Broadcast.BREADTH, new EventSelectionChanged(
+ target,
+ Collections.<String>singleton(eventString),
+ Collections.<String>emptySet()));
+ target.add(categoryContainer);
+ }
+ }
+ }, ActionLink.ActionType.CREATE, StringUtils.EMPTY);
+ actionsPanel.add(new ActionLink<EventCategoryTO>() {
- private static final long serialVersionUID = -3722207913631435521L;
+ private static final long serialVersionUID = -3722207913631435521L;
- @Override
- public void onClick(final AjaxRequestTarget target, final EventCategoryTO modelObject) {
- if (StringUtils.isNotBlank(custom.getModelObject())) {
- Pair<EventCategoryTO, AuditElements.Result> parsed =
- AuditLoggerName.parseEventCategory(custom.getModelObject());
-
- String eventString = AuditLoggerName.buildEvent(
- parsed.getKey().getType(),
- null,
- null,
- parsed.getKey().getEvents().isEmpty()
+ @Override
+ public void onClick(final AjaxRequestTarget target, final EventCategoryTO ignore) {
+ if (StringUtils.isNotBlank(custom.getModelObject())) {
+ Pair<EventCategoryTO, AuditElements.Result> parsed = AuditLoggerName.parseEventCategory(custom.
+ getModelObject());
+
+ String eventString = AuditLoggerName.buildEvent(
+ parsed.getKey().getType(),
+ null,
+ null,
+ parsed.getKey().getEvents().isEmpty()
? StringUtils.EMPTY : parsed.getKey().getEvents().iterator().next(),
- parsed.getValue());
-
- custom.setModelObject(StringUtils.EMPTY);
- send(EventCategoryPanel.this.getPage(), Broadcast.BREADTH, new EventSelectionChanged(
- target,
- Collections.<String>emptySet(),
- Collections.<String>singleton(eventString)));
- target.add(categoryContainer);
- }
- }
- }, ActionLink.ActionType.DELETE).build("customActions");
+ parsed.getValue());
+
+ custom.setModelObject(StringUtils.EMPTY);
+ send(EventCategoryPanel.this.getPage(), Broadcast.BREADTH, new EventSelectionChanged(
+ target,
+ Collections.<String>emptySet(),
+ Collections.<String>singleton(eventString)));
+ target.add(categoryContainer);
+ }
+ }
+ }, ActionLink.ActionType.DELETE, StringUtils.EMPTY, true);
- categoryContainer.add(actionLinksPanel);
+ categoryContainer.add(actionsPanel);
- actionLinksPanel.setVisible(false);
- actionLinksPanel.setEnabled(false);
+ actionsPanel.setVisible(false);
+ actionsPanel.setEnabled(false);
eventsContainer.add(new EventSelectionPanel("eventsPanel", eventCategoryTO, model) {
@@ -346,8 +346,8 @@ public abstract class EventCategoryPanel extends Panel {
subcategory.setEnabled(false);
custom.setVisible(true);
custom.setEnabled(true);
- actionLinksPanel.setVisible(true);
- actionLinksPanel.setEnabled(true);
+ actionsPanel.setVisible(true);
+ actionsPanel.setEnabled(true);
} else {
category.setChoices(filter(eventCategoryTOs, type.getModelObject()));
subcategory.setChoices(Collections.<String>emptyList());
@@ -355,8 +355,8 @@ public abstract class EventCategoryPanel extends Panel {
subcategory.setEnabled(true);
custom.setVisible(false);
custom.setEnabled(false);
- actionLinksPanel.setVisible(false);
- actionLinksPanel.setEnabled(false);
+ actionsPanel.setVisible(false);
+ actionsPanel.setEnabled(false);
}
change.getTarget().add(categoryContainer);
break;
@@ -399,22 +399,22 @@ public abstract class EventCategoryPanel extends Panel {
categoryEvent.getKey().getCategory(),
categoryEvent.getKey().getSubcategory(),
categoryEvent.getKey().getEvents().isEmpty()
- ? StringUtils.EMPTY : categoryEvent.getKey().getEvents().iterator().next(),
+ ? StringUtils.EMPTY : categoryEvent.getKey().getEvents().iterator().next(),
categoryEvent.getValue()));
category.setEnabled(false);
subcategory.setEnabled(false);
custom.setVisible(true);
custom.setEnabled(true);
- actionLinksPanel.setVisible(true);
- actionLinksPanel.setEnabled(true);
+ actionsPanel.setVisible(true);
+ actionsPanel.setEnabled(true);
} else {
category.setEnabled(true);
subcategory.setEnabled(true);
custom.setVisible(false);
custom.setEnabled(false);
- actionLinksPanel.setVisible(false);
- actionLinksPanel.setEnabled(false);
+ actionsPanel.setVisible(false);
+ actionsPanel.setEnabled(false);
}
inspectSelectedEvent.getTarget().add(categoryContainer);
http://git-wip-us.apache.org/repos/asf/syncope/blob/2e7e2cee/client/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
index a9b16f1..55c4bd0 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
@@ -34,10 +34,8 @@ import org.apache.syncope.client.console.notifications.MailTemplateDirectoryPane
import org.apache.syncope.client.console.pages.BasePage;
import org.apache.syncope.client.console.panels.DirectoryPanel;
import org.apache.syncope.client.console.rest.NotificationRestClient;
-import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.ActionColumn;
import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
-import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
import org.apache.syncope.client.console.wizards.AbstractModalPanelBuilder;
import org.apache.syncope.client.console.wizards.AjaxWizard;
import org.apache.syncope.common.lib.SyncopeClientException;
@@ -55,6 +53,7 @@ import org.apache.wicket.model.IModel;
import org.apache.wicket.model.ResourceModel;
import org.apache.wicket.model.StringResourceModel;
import org.apache.syncope.client.console.panels.WizardModalPanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
import org.apache.syncope.client.console.wicket.markup.html.form.XMLEditorPanel;
import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
import org.apache.wicket.markup.html.form.Form;
@@ -112,78 +111,70 @@ public class MailTemplateDirectoryPanel
@Override
protected List<IColumn<MailTemplateTO, String>> getColumns() {
List<IColumn<MailTemplateTO, String>> columns = new ArrayList<>();
- columns.add(new PropertyColumn<MailTemplateTO, String>(
- new StringResourceModel("key", this), "key", "key"));
+ columns.add(new PropertyColumn<MailTemplateTO, String>(new StringResourceModel("key", this), "key", "key"));
+ return columns;
+ }
- columns.add(new ActionColumn<MailTemplateTO, String>(new ResourceModel("actions", "")) {
+ @Override
+ public ActionsPanel<MailTemplateTO> getActions(final IModel<MailTemplateTO> model) {
+ final ActionsPanel<MailTemplateTO> panel = super.getActions(model);
- private static final long serialVersionUID = -3503023501954863131L;
+ panel.add(new ActionLink<MailTemplateTO>() {
+
+ private static final long serialVersionUID = -7978723352517770645L;
@Override
- public ActionLinksPanel<MailTemplateTO> getActions(
- final String componentId, final IModel<MailTemplateTO> model) {
-
- final ActionLinksPanel.Builder<MailTemplateTO> panel = ActionLinksPanel.builder();
-
- panel.add(new ActionLink<MailTemplateTO>() {
-
- private static final long serialVersionUID = -7978723352517770645L;
-
- @Override
- public void onClick(final AjaxRequestTarget target, final MailTemplateTO ignore) {
- TemplateContent<MailTemplateFormat> content =
- new TemplateContent<>(model.getObject().getKey(), MailTemplateFormat.HTML);
- content.setContent(
- restClient.readTemplateFormat(model.getObject().getKey(), MailTemplateFormat.HTML));
-
- utilityModal.header(new ResourceModel("mail.template.html", "HTML Content"));
- utilityModal.setContent(new TemplateContentEditorPanel(content, pageRef));
- utilityModal.show(true);
- target.add(utilityModal);
- }
- }, ActionLink.ActionType.HTML, StandardEntitlement.MAIL_TEMPLATE_UPDATE);
-
- panel.add(new ActionLink<MailTemplateTO>() {
-
- private static final long serialVersionUID = -7978723352517770645L;
-
- @Override
- public void onClick(final AjaxRequestTarget target, final MailTemplateTO ignore) {
- TemplateContent<MailTemplateFormat> content =
- new TemplateContent<>(model.getObject().getKey(), MailTemplateFormat.TEXT);
- content.setContent(
- restClient.readTemplateFormat(model.getObject().getKey(), MailTemplateFormat.TEXT));
-
- utilityModal.header(new ResourceModel("mail.template.text", "TEXT Content"));
- utilityModal.setContent(new TemplateContentEditorPanel(content, pageRef));
- utilityModal.show(true);
- target.add(utilityModal);
- }
- }, ActionLink.ActionType.TEXT, StandardEntitlement.MAIL_TEMPLATE_UPDATE);
-
- panel.add(new ActionLink<MailTemplateTO>() {
-
- private static final long serialVersionUID = -3722207913631435501L;
-
- @Override
- public void onClick(final AjaxRequestTarget target, final MailTemplateTO ignore) {
- try {
- restClient.deleteTemplate(model.getObject().getKey());
- SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
- target.add(container);
- } catch (SyncopeClientException e) {
- LOG.error("While deleting object {}", model.getObject().getKey(), e);
- SyncopeConsoleSession.get().error(StringUtils.isBlank(e.getMessage()) ? e.getClass().
- getName() : e.getMessage());
- }
- ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
- }
- }, ActionLink.ActionType.DELETE, StandardEntitlement.MAIL_TEMPLATE_DELETE);
-
- return panel.build(componentId);
+ public void onClick(final AjaxRequestTarget target, final MailTemplateTO ignore) {
+ TemplateContent<MailTemplateFormat> content = new TemplateContent<>(model.getObject().getKey(),
+ MailTemplateFormat.HTML);
+ content.setContent(
+ restClient.readTemplateFormat(model.getObject().getKey(), MailTemplateFormat.HTML));
+
+ utilityModal.header(new ResourceModel("mail.template.html", "HTML Content"));
+ utilityModal.setContent(new TemplateContentEditorPanel(content, pageRef));
+ utilityModal.show(true);
+ target.add(utilityModal);
}
- });
- return columns;
+ }, ActionLink.ActionType.HTML, StandardEntitlement.MAIL_TEMPLATE_UPDATE);
+
+ panel.add(new ActionLink<MailTemplateTO>() {
+
+ private static final long serialVersionUID = -7978723352517770645L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target, final MailTemplateTO ignore) {
+ TemplateContent<MailTemplateFormat> content = new TemplateContent<>(model.getObject().getKey(),
+ MailTemplateFormat.TEXT);
+ content.setContent(
+ restClient.readTemplateFormat(model.getObject().getKey(), MailTemplateFormat.TEXT));
+
+ utilityModal.header(new ResourceModel("mail.template.text", "TEXT Content"));
+ utilityModal.setContent(new TemplateContentEditorPanel(content, pageRef));
+ utilityModal.show(true);
+ target.add(utilityModal);
+ }
+ }, ActionLink.ActionType.TEXT, StandardEntitlement.MAIL_TEMPLATE_UPDATE);
+
+ panel.add(new ActionLink<MailTemplateTO>() {
+
+ private static final long serialVersionUID = -3722207913631435501L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target, final MailTemplateTO ignore) {
+ try {
+ restClient.deleteTemplate(model.getObject().getKey());
+ SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
+ target.add(container);
+ } catch (SyncopeClientException e) {
+ LOG.error("While deleting object {}", model.getObject().getKey(), e);
+ SyncopeConsoleSession.get().error(StringUtils.isBlank(e.getMessage()) ? e.getClass().
+ getName() : e.getMessage());
+ }
+ ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
+ }
+ }, ActionLink.ActionType.DELETE, StandardEntitlement.MAIL_TEMPLATE_DELETE, true);
+
+ return panel;
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/2e7e2cee/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationDirectoryPanel.java
index c6de77f..740a36d 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationDirectoryPanel.java
@@ -34,13 +34,12 @@ import org.apache.syncope.client.console.notifications.NotificationDirectoryPane
import org.apache.syncope.client.console.pages.BasePage;
import org.apache.syncope.client.console.panels.DirectoryPanel;
import org.apache.syncope.client.console.rest.NotificationRestClient;
-import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.ActionColumn;
import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.BooleanPropertyColumn;
import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.CollectionPropertyColumn;
import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.KeyPropertyColumn;
import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
-import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
import org.apache.syncope.client.console.wizards.AjaxWizard;
import org.apache.syncope.common.lib.SyncopeClientException;
import org.apache.syncope.common.lib.to.NotificationTO;
@@ -54,7 +53,6 @@ import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
import org.apache.wicket.model.AbstractReadOnlyModel;
import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.ResourceModel;
import org.apache.wicket.model.StringResourceModel;
public class NotificationDirectoryPanel
@@ -87,8 +85,7 @@ public class NotificationDirectoryPanel
@Override
protected List<IColumn<NotificationTO, String>> getColumns() {
List<IColumn<NotificationTO, String>> columns = new ArrayList<>();
- columns.add(new KeyPropertyColumn<NotificationTO>(
- new StringResourceModel("key", this), "key", "key"));
+ columns.add(new KeyPropertyColumn<NotificationTO>(new StringResourceModel("key", this), "key"));
columns.add(new PropertyColumn<NotificationTO, String>(
new StringResourceModel("sender", this), "sender", "sender"));
columns.add(new PropertyColumn<NotificationTO, String>(
@@ -96,69 +93,62 @@ public class NotificationDirectoryPanel
columns.add(new PropertyColumn<NotificationTO, String>(
new StringResourceModel("template", this), "template", "template"));
columns.add(new CollectionPropertyColumn<NotificationTO>(
- new StringResourceModel("events", this), "events", "events"));
+ new StringResourceModel("events", this), "events"));
columns.add(new BooleanPropertyColumn<NotificationTO>(
new StringResourceModel("active", this), "active", "active"));
+ return columns;
+ }
- columns.add(new ActionColumn<NotificationTO, String>(new ResourceModel("actions", "")) {
+ @Override
+ public ActionsPanel<NotificationTO> getActions(final IModel<NotificationTO> model) {
+ final ActionsPanel<NotificationTO> panel = super.getActions(model);
- private static final long serialVersionUID = -3503023501954863131L;
+ panel.add(new ActionLink<NotificationTO>() {
+
+ private static final long serialVersionUID = -7978723352517770645L;
@Override
- public ActionLinksPanel<NotificationTO> getActions(
- final String componentId, final IModel<NotificationTO> model) {
-
- final ActionLinksPanel.Builder<NotificationTO> panel = ActionLinksPanel.builder();
-
- panel.add(new ActionLink<NotificationTO>() {
-
- private static final long serialVersionUID = -7978723352517770645L;
-
- @Override
- public void onClick(final AjaxRequestTarget target, final NotificationTO ignore) {
- target.add(utilityModal.setContent(
- new NotificationTasks(model.getObject().getKey(), pageRef)));
- utilityModal.header(new StringResourceModel("notification.tasks", model));
- utilityModal.show(true);
- target.add(utilityModal);
- }
- }, ActionLink.ActionType.NOTIFICATION_TASKS, StandardEntitlement.TASK_LIST);
-
- panel.add(new ActionLink<NotificationTO>() {
-
- private static final long serialVersionUID = -7978723352517770645L;
-
- @Override
- public void onClick(final AjaxRequestTarget target, final NotificationTO ignore) {
- send(NotificationDirectoryPanel.this, Broadcast.EXACT,
- new AjaxWizard.EditItemActionEvent<>(
- new NotificationWrapper(restClient.read(model.getObject().getKey())), target));
- }
- }, ActionLink.ActionType.EDIT, StandardEntitlement.NOTIFICATION_UPDATE);
-
- panel.add(new ActionLink<NotificationTO>() {
-
- private static final long serialVersionUID = -3722207913631435501L;
-
- @Override
- public void onClick(final AjaxRequestTarget target, final NotificationTO ignore) {
- try {
- restClient.delete(model.getObject().getKey());
- SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
- target.add(container);
- } catch (SyncopeClientException e) {
- LOG.error("While deleting object {}", model.getObject().getKey(), e);
- SyncopeConsoleSession.get().error(StringUtils.isBlank(e.getMessage()) ? e.getClass().
- getName() : e.getMessage());
- }
- ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
- }
- }, ActionLink.ActionType.DELETE, StandardEntitlement.NOTIFICATION_DELETE);
-
- return panel.build(componentId);
+ public void onClick(final AjaxRequestTarget target, final NotificationTO ignore) {
+ send(NotificationDirectoryPanel.this, Broadcast.EXACT,
+ new AjaxWizard.EditItemActionEvent<>(
+ new NotificationWrapper(restClient.read(model.getObject().getKey())), target));
}
- });
- return columns;
+ }, ActionLink.ActionType.EDIT, StandardEntitlement.NOTIFICATION_UPDATE);
+
+ panel.add(new ActionLink<NotificationTO>() {
+
+ private static final long serialVersionUID = -7978723352517770645L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target, final NotificationTO ignore) {
+ target.add(utilityModal.setContent(
+ new NotificationTasks(model.getObject().getKey(), pageRef)));
+ utilityModal.header(new StringResourceModel("notification.tasks", model));
+ utilityModal.show(true);
+ target.add(utilityModal);
+ }
+ }, ActionLink.ActionType.NOTIFICATION_TASKS, StandardEntitlement.TASK_LIST);
+
+ panel.add(new ActionLink<NotificationTO>() {
+
+ private static final long serialVersionUID = -3722207913631435501L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target, final NotificationTO ignore) {
+ try {
+ restClient.delete(model.getObject().getKey());
+ SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
+ target.add(container);
+ } catch (SyncopeClientException e) {
+ LOG.error("While deleting object {}", model.getObject().getKey(), e);
+ SyncopeConsoleSession.get().error(StringUtils.isBlank(e.getMessage()) ? e.getClass().
+ getName() : e.getMessage());
+ }
+ ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
+ }
+ }, ActionLink.ActionType.DELETE, StandardEntitlement.NOTIFICATION_DELETE, true);
+
+ return panel;
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/2e7e2cee/client/console/src/main/java/org/apache/syncope/client/console/pages/Parameters.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/Parameters.java b/client/console/src/main/java/org/apache/syncope/client/console/pages/Parameters.java
index e03c5b6..856db28 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/pages/Parameters.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/pages/Parameters.java
@@ -19,7 +19,7 @@
package org.apache.syncope.client.console.pages;
import org.apache.syncope.client.console.BookmarkablePageLinkBuilder;
-import org.apache.syncope.client.console.panels.ParametersPanel;
+import org.apache.syncope.client.console.panels.ParametersDirectoryPanel;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.request.mapper.parameter.PageParameters;
@@ -27,7 +27,7 @@ public class Parameters extends BasePage {
private static final long serialVersionUID = 4116733316105009166L;
- private final ParametersPanel parametersPanel;
+ private final ParametersDirectoryPanel parametersPanel;
public Parameters(final PageParameters parameters) {
super(parameters);
@@ -38,7 +38,7 @@ public class Parameters extends BasePage {
content.setOutputMarkupId(true);
body.add(content);
- parametersPanel = new ParametersPanel("parametersPanel", getPageReference());
+ parametersPanel = new ParametersDirectoryPanel("parametersPanel", getPageReference());
parametersPanel.setOutputMarkupId(true);
content.add(parametersPanel);
http://git-wip-us.apache.org/repos/asf/syncope/blob/2e7e2cee/client/console/src/main/java/org/apache/syncope/client/console/pages/Roles.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/Roles.java b/client/console/src/main/java/org/apache/syncope/client/console/pages/Roles.java
index 0f4295c..d02345c 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/pages/Roles.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/pages/Roles.java
@@ -44,7 +44,7 @@ public class Roles extends BasePage {
private static final long serialVersionUID = -5960765294082359003L;
- }.disableCheckBoxes().addNewItemPanelBuilder(
+ }.addNewItemPanelBuilder(
new RoleWizardBuilder(new RoleTO(), getPageReference()), true).build("rolesPanel");
content.add(rolesPanel);
http://git-wip-us.apache.org/repos/asf/syncope/blob/2e7e2cee/client/console/src/main/java/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel.java
index d5489ac..86714ee 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel.java
@@ -34,11 +34,10 @@ import org.apache.syncope.client.console.commons.SortableDataProviderComparator;
import org.apache.syncope.client.console.pages.BasePage;
import org.apache.syncope.client.console.panels.AccessTokenDirectoryPanel.AccessTokenDataProvider;
import org.apache.syncope.client.console.rest.AccessTokenRestClient;
-import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.ActionColumn;
import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.DatePropertyColumn;
import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.KeyPropertyColumn;
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
-import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
import org.apache.syncope.client.console.wizards.WizardMgtPanel;
import org.apache.syncope.common.lib.SyncopeClientException;
import org.apache.syncope.common.lib.to.AccessTokenTO;
@@ -55,6 +54,7 @@ import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.ResourceModel;
+import org.apache.wicket.model.StringResourceModel;
public class AccessTokenDirectoryPanel
extends DirectoryPanel<AccessTokenTO, AccessTokenTO, AccessTokenDataProvider, AccessTokenRestClient> {
@@ -83,8 +83,10 @@ public class AccessTokenDirectoryPanel
@Override
protected List<IColumn<AccessTokenTO, String>> getColumns() {
List<IColumn<AccessTokenTO, String>> columns = new ArrayList<>();
-
- columns.add(new KeyPropertyColumn<AccessTokenTO>(new ResourceModel("key"), "key", "key"));
+ columns.add(new KeyPropertyColumn<AccessTokenTO>(
+ new StringResourceModel(Constants.KEY_FIELD_NAME, this),
+ Constants.KEY_FIELD_NAME,
+ Constants.KEY_FIELD_NAME));
columns.add(new PropertyColumn<AccessTokenTO, String>(new ResourceModel("owner"), "owner", "owner"));
@@ -107,58 +109,33 @@ public class AccessTokenDirectoryPanel
columns.add(new DatePropertyColumn<AccessTokenTO>(new ResourceModel("expiryTime"), "expiryTime", "expiryTime"));
+ return columns;
+ }
- columns.add(new ActionColumn<AccessTokenTO, String>(new ResourceModel("actions", "")) {
+ @Override
+ public ActionsPanel<AccessTokenTO> getActions(final IModel<AccessTokenTO> model) {
+ final ActionsPanel<AccessTokenTO> panel = super.getActions(model);
- private static final long serialVersionUID = 6532399418012695495L;
+ panel.add(new ActionLink<AccessTokenTO>() {
- @Override
- public ActionLinksPanel<AccessTokenTO> getActions(
- final String componentId, final IModel<AccessTokenTO> model) {
-
- final ActionLinksPanel.Builder<AccessTokenTO> panel = ActionLinksPanel.builder();
-
- panel.add(new ActionLink<AccessTokenTO>() {
-
- private static final long serialVersionUID = -7978723352517770644L;
-
- @Override
- public void onClick(final AjaxRequestTarget target, final AccessTokenTO ignore) {
- try {
- restClient.delete(model.getObject().getKey());
- SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
- target.add(container);
- } catch (SyncopeClientException e) {
- LOG.error("While deleting object {}", model.getObject().getKey(), e);
- SyncopeConsoleSession.get().error(StringUtils.isBlank(e.getMessage()) ? e.getClass().
- getName() : e.getMessage());
- }
- ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
- }
- }, ActionLink.ActionType.DELETE, StandardEntitlement.ACCESS_TOKEN_DELETE);
-
- return panel.build(componentId);
- }
+ private static final long serialVersionUID = -7978723352517770644L;
@Override
- public ActionLinksPanel<AccessTokenTO> getHeader(final String componentId) {
- final ActionLinksPanel.Builder<AccessTokenTO> panel = ActionLinksPanel.builder();
-
- return panel.add(new ActionLink<AccessTokenTO>() {
-
- private static final long serialVersionUID = -8766205612892810375L;
-
- @Override
- public void onClick(final AjaxRequestTarget target, final AccessTokenTO ignore) {
- if (target != null) {
- target.add(container);
- }
- }
- }, ActionLink.ActionType.RELOAD, StandardEntitlement.ACCESS_TOKEN_LIST).build(componentId);
+ public void onClick(final AjaxRequestTarget target, final AccessTokenTO ignore) {
+ try {
+ restClient.delete(model.getObject().getKey());
+ SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
+ target.add(container);
+ } catch (SyncopeClientException e) {
+ LOG.error("While deleting object {}", model.getObject().getKey(), e);
+ SyncopeConsoleSession.get().error(StringUtils.isBlank(e.getMessage()) ? e.getClass().
+ getName() : e.getMessage());
+ }
+ ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
}
- });
+ }, ActionLink.ActionType.DELETE, StandardEntitlement.ACCESS_TOKEN_DELETE, true);
- return columns;
+ return panel;
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/2e7e2cee/client/console/src/main/java/org/apache/syncope/client/console/panels/ActionDataTablePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ActionDataTablePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ActionDataTablePanel.java
index 8c465f3..9aa2a69 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ActionDataTablePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ActionDataTablePanel.java
@@ -28,7 +28,7 @@ import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.
import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink.ActionType;
-import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.form.AjaxButton;
@@ -47,7 +47,7 @@ public class ActionDataTablePanel<T extends Serializable, S> extends DataTablePa
private final Form<T> bulkActionForm;
- private final ActionLinksPanel<Serializable> actionPanel;
+ private final ActionsPanel<Serializable> actionPanel;
public ActionDataTablePanel(
final String id,
@@ -87,7 +87,7 @@ public class ActionDataTablePanel<T extends Serializable, S> extends DataTablePa
final WebMarkupContainer actionPanelContainer = new WebMarkupContainer("actionPanelContainer");
bulkActionForm.add(actionPanelContainer);
- actionPanel = ActionLinksPanel.builder().build("actions");
+ actionPanel = new ActionsPanel<>("actions", null);
actionPanelContainer.add(actionPanel);
if (dataTable.getRowCount() == 0) {
@@ -107,12 +107,7 @@ public class ActionDataTablePanel<T extends Serializable, S> extends DataTablePa
public void addAction(
final ActionLink<Serializable> action, final ActionType type, final String entitlements) {
- actionPanel.add(action, type, entitlements, true);
- }
-
- public void addAction(
- final ActionLink<Serializable> action, final ActionType type, final String pageId, final boolean enabled) {
- actionPanel.add(action, type, pageId, enabled);
+ actionPanel.add(action, type, entitlements);
}
public void addCancelButton(final BaseModal<?> modal) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/2e7e2cee/client/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java
index 0736e86..fc2cb45 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java
@@ -34,6 +34,8 @@ import org.apache.syncope.client.console.rest.RestClient;
import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.CheckGroupColumn;
import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.AjaxFallbackDataTable;
import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
+import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksTogglePanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.PageReference;
import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -46,6 +48,7 @@ import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.form.CheckGroup;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.panel.Fragment;
+import org.apache.wicket.model.IModel;
import org.apache.wicket.model.ResourceModel;
public final class AjaxDataTablePanel<T extends Serializable, S> extends DataTablePanel<T, S> {
@@ -151,6 +154,14 @@ public final class AjaxDataTablePanel<T extends Serializable, S> extends DataTab
this.multiLevelPanel = multiLevelPanel;
this.baseModal = baseModal;
}
+
+ protected ActionsPanel<T> getActions(final IModel<T> model) {
+ return null;
+ }
+
+ protected ActionLinksTogglePanel<T> getTogglePanel() {
+ return null;
+ }
}
private AjaxDataTablePanel(final String id, final Builder<T, S> builder) {
@@ -200,8 +211,23 @@ public final class AjaxDataTablePanel<T extends Serializable, S> extends DataTab
builder.columns.add(0, new CheckGroupColumn<T, S>(group));
}
- dataTable = new AjaxFallbackDataTable<>(
- "dataTable", builder.columns, builder.dataProvider, builder.rowsPerPage, builder.container);
+ dataTable = new AjaxFallbackDataTable<T, S>(
+ "dataTable", builder.columns, builder.dataProvider, builder.rowsPerPage, builder.container) {
+
+ private static final long serialVersionUID = -7370603907251344224L;
+
+ @Override
+ protected ActionsPanel<T> getActions(final IModel<T> model) {
+ return builder.getActions(model);
+ }
+
+ @Override
+ protected ActionLinksTogglePanel<T> getTogglePanel() {
+ return builder.getTogglePanel();
+ }
+
+ };
+
dataTable.add(new AttributeModifier("class", "table table-bordered table-hover dataTable"));
group.add(dataTable);
@@ -221,7 +247,7 @@ public final class AjaxDataTablePanel<T extends Serializable, S> extends DataTab
builder.pageRef,
new ArrayList<>(group.getModelObject()),
// serialization problem with sublist only
- new ArrayList<>(builder.columns.subList(1, builder.columns.size() - 1)),
+ new ArrayList<>(builder.columns.subList(1, builder.columns.size())),
builder.bulkActions,
builder.bulkActionExecutor,
builder.itemKeyField)));
http://git-wip-us.apache.org/repos/asf/syncope/blob/2e7e2cee/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
index e4a48dc..0bbaf55 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
@@ -29,6 +29,7 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.syncope.client.console.SyncopeConsoleSession;
import org.apache.syncope.client.console.commons.AnyDataProvider;
+import org.apache.syncope.client.console.commons.Constants;
import org.apache.syncope.client.console.commons.SerializableTransformer;
import org.apache.syncope.client.console.commons.status.ConnObjectWrapper;
import org.apache.syncope.client.console.commons.status.StatusBean;
@@ -121,9 +122,9 @@ public abstract class AnyDirectoryPanel<A extends AnyTO, E extends AbstractAnyRe
final Field field,
final List<IColumn<A, String>> columns) {
- if ("key".equalsIgnoreCase(name)) {
+ if (Constants.KEY_FIELD_NAME.equalsIgnoreCase(name)) {
columns.add(new KeyPropertyColumn<A>(new ResourceModel(name, name), name, name));
- } else if ("token".equalsIgnoreCase(name)) {
+ } else if (Constants.DEFAULT_TOKEN_FIELD_NAME.equalsIgnoreCase(name)) {
columns.add(new TokenColumn<A>(new ResourceModel(name, name), name));
} else if (field != null
&& (field.getType().equals(Boolean.class) || field.getType().equals(boolean.class))) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/2e7e2cee/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyObjectDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyObjectDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyObjectDirectoryPanel.java
index ff4d622..8ea0cea 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyObjectDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyObjectDirectoryPanel.java
@@ -31,11 +31,11 @@ import org.apache.syncope.client.console.pages.BasePage;
import org.apache.syncope.client.console.rest.AnyObjectRestClient;
import org.apache.syncope.client.console.status.AnyStatusModal;
import org.apache.syncope.client.console.tasks.AnyPropagationTasks;
-import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.ActionColumn;
import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.AttrColumn;
+import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.KeyPropertyColumn;
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink.ActionType;
-import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
import org.apache.syncope.client.console.wizards.AjaxWizard;
import org.apache.syncope.client.console.wizards.WizardMgtPanel;
import org.apache.syncope.client.console.wizards.any.AnyWrapper;
@@ -71,20 +71,50 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO, AnyO
}
@Override
+ public ActionsPanel<Serializable> getHeader(final String componentId) {
+ final ActionsPanel<Serializable> panel = super.getHeader(componentId);
+
+ panel.add(new ActionLink<Serializable>() {
+
+ private static final long serialVersionUID = -7978723352517770644L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target, final Serializable ignore) {
+ target.add(displayAttributeModal.setContent(new AnyObjectDisplayAttributesModalPanel<>(
+ displayAttributeModal, page.getPageReference(), pSchemaNames, dSchemaNames, type)));
+ displayAttributeModal.addSubmitButton();
+ displayAttributeModal.header(new ResourceModel("any.attr.display"));
+ displayAttributeModal.show(true);
+ }
+
+ @Override
+ protected boolean statusCondition(final Serializable modelObject) {
+ return wizardInModal;
+ }
+ }, ActionType.CHANGE_VIEW, AnyEntitlement.READ.getFor(type)).hideLabel();
+ return panel;
+ }
+
+ @Override
protected List<IColumn<AnyObjectTO, String>> getColumns() {
final List<IColumn<AnyObjectTO, String>> columns = new ArrayList<>();
+ final List<IColumn<AnyObjectTO, String>> prefcolumns = new ArrayList<>();
+
+ columns.add(new KeyPropertyColumn<AnyObjectTO>(
+ new ResourceModel(Constants.KEY_FIELD_NAME, Constants.KEY_FIELD_NAME), Constants.KEY_FIELD_NAME));
for (String name : prefMan.getList(
getRequest(), String.format(Constants.PREF_ANY_OBJECT_DETAILS_VIEW, type))) {
-
- addPropertyColumn(name, ReflectionUtils.findField(AnyObjectTO.class, name), columns);
+ if (!Constants.KEY_FIELD_NAME.equalsIgnoreCase(name)) {
+ addPropertyColumn(name, ReflectionUtils.findField(AnyObjectTO.class, name), prefcolumns);
+ }
}
for (String name : prefMan.getList(
getRequest(), String.format(Constants.PREF_ANY_OBJECT_PLAIN_ATTRS_VIEW, type))) {
if (pSchemaNames.contains(name)) {
- columns.add(new AttrColumn<AnyObjectTO>(name, SchemaType.PLAIN));
+ prefcolumns.add(new AttrColumn<AnyObjectTO>(name, SchemaType.PLAIN));
}
}
@@ -92,171 +122,132 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO, AnyO
getRequest(), String.format(Constants.PREF_ANY_OBJECT_DER_ATTRS_VIEW, type))) {
if (dSchemaNames.contains(name)) {
- columns.add(new AttrColumn<AnyObjectTO>(name, SchemaType.DERIVED));
+ prefcolumns.add(new AttrColumn<AnyObjectTO>(name, SchemaType.DERIVED));
}
}
// Add defaults in case of no selection
- if (columns.isEmpty()) {
+ if (prefcolumns.isEmpty()) {
for (String name : AnyObjectDisplayAttributesModalPanel.DEFAULT_SELECTION) {
- addPropertyColumn(name, ReflectionUtils.findField(AnyObjectTO.class, name), columns);
+ addPropertyColumn(name, ReflectionUtils.findField(AnyObjectTO.class, name), prefcolumns);
}
- prefMan.setList(getRequest(), getResponse(),
- String.format(Constants.PREF_ANY_OBJECT_DETAILS_VIEW, type),
+ prefMan.setList(getRequest(), getResponse(), Constants.PREF_ANY_OBJECT_DETAILS_VIEW,
Arrays.asList(AnyObjectDisplayAttributesModalPanel.DEFAULT_SELECTION));
}
- columns.add(new ActionColumn<AnyObjectTO, String>(new ResourceModel("actions")) {
+ columns.addAll(prefcolumns);
+ return columns;
+ }
+
+ @Override
+ public ActionsPanel<AnyObjectTO> getActions(final IModel<AnyObjectTO> model) {
+ final ActionsPanel<AnyObjectTO> panel = super.getActions(model);
+
+ panel.add(new ActionLink<AnyObjectTO>() {
- private static final long serialVersionUID = -3503023501954863131L;
+ private static final long serialVersionUID = -7978723352517770644L;
@Override
- public ActionLinksPanel<AnyObjectTO> getActions(final String componentId, final IModel<AnyObjectTO> model) {
- final ActionLinksPanel.Builder<AnyObjectTO> panel = ActionLinksPanel.builder();
-
- panel.add(new ActionLink<AnyObjectTO>() {
-
- private static final long serialVersionUID = -7978723352517770644L;
-
- @Override
- public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) {
- send(AnyObjectDirectoryPanel.this, Broadcast.EXACT,
- new AjaxWizard.EditItemActionEvent<>(
- new AnyWrapper<>(new AnyObjectRestClient().read(model.getObject().getKey())),
- target));
- }
- }, ActionType.EDIT, AnyEntitlement.READ.getFor(type)).add(new ActionLink<AnyObjectTO>() {
-
- private static final long serialVersionUID = -7978723352517770645L;
-
- @Override
- public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) {
- final AnyObjectTO clone = SerializationUtils.clone(model.getObject());
- clone.setKey(null);
- send(AnyObjectDirectoryPanel.this, Broadcast.EXACT,
- new AjaxWizard.NewItemActionEvent<>(new AnyWrapper<>(clone), target));
- }
-
- @Override
- protected boolean statusCondition(final AnyObjectTO modelObject) {
- return addAjaxLink.isVisibleInHierarchy();
- }
- }, ActionType.CLONE, AnyEntitlement.CREATE.getFor(type)).add(new ActionLink<AnyObjectTO>() {
-
- private static final long serialVersionUID = -7978723352517770646L;
-
- @Override
- public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) {
- try {
- restClient.delete(model.getObject().getETagValue(), model.getObject().getKey());
- SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
- target.add(container);
- } catch (SyncopeClientException e) {
- LOG.error("While deleting object {}", model.getObject().getKey(), e);
- SyncopeConsoleSession.get().error(StringUtils.isBlank(e.getMessage())
- ? e.getClass().getName() : e.getMessage());
- }
- ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
- }
- }, ActionType.DELETE, AnyEntitlement.DELETE.getFor(type));
-
- if (wizardInModal) {
- panel.add(new ActionLink<AnyObjectTO>() {
-
- private static final long serialVersionUID = -7978723352517770645L;
-
- @Override
- public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) {
- final IModel<AnyWrapper<AnyObjectTO>> formModel = new CompoundPropertyModel<>(
- new AnyWrapper<>(model.getObject()));
- altDefaultModal.setFormModel(formModel);
-
- target.add(altDefaultModal.setContent(new AnyStatusModal<>(
- altDefaultModal,
- pageRef,
- formModel.getObject().getInnerObject(),
- "resourceName",
- false)));
-
- altDefaultModal.header(new Model<>(
- getString("any.edit", new Model<>(new AnyWrapper<>(model.getObject())))));
-
- altDefaultModal.show(true);
- }
- }, ActionType.MANAGE_RESOURCES, AnyEntitlement.READ.getFor(type)).add(
- new ActionLink<AnyObjectTO>() {
-
- private static final long serialVersionUID = -7978723352517770644L;
-
- @Override
- public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) {
- target.add(utilityModal.setContent(new AnyPropagationTasks(
- utilityModal, AnyTypeKind.ANY_OBJECT, model.getObject().getKey(), pageRef)));
-
- utilityModal.header(new StringResourceModel("any.propagation.tasks", model));
- utilityModal.show(true);
- }
- }, ActionType.PROPAGATION_TASKS, StandardEntitlement.TASK_LIST).add(new ActionLink<AnyObjectTO>() {
-
- private static final long serialVersionUID = -7978723352517770644L;
-
- @Override
- public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) {
- target.add(utilityModal.setContent(
- new NotificationTasks(AnyTypeKind.ANY_OBJECT, model.getObject().getKey(),
- pageRef)));
- utilityModal.header(new StringResourceModel("any.notification.tasks", model));
- utilityModal.show(true);
- target.add(utilityModal);
- }
- }, ActionType.NOTIFICATION_TASKS, StandardEntitlement.TASK_LIST);
- }
+ public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) {
+ send(AnyObjectDirectoryPanel.this, Broadcast.EXACT,
+ new AjaxWizard.EditItemActionEvent<>(
+ new AnyWrapper<>(new AnyObjectRestClient().read(model.getObject().getKey())),
+ target));
+ }
+ }, ActionType.EDIT, AnyEntitlement.READ.getFor(type));
+ panel.add(new ActionLink<AnyObjectTO>() {
- return panel.build(componentId, model.getObject());
+ private static final long serialVersionUID = -7978723352517770645L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) {
+ final AnyObjectTO clone = SerializationUtils.clone(model.getObject());
+ clone.setKey(null);
+ send(AnyObjectDirectoryPanel.this, Broadcast.EXACT,
+ new AjaxWizard.NewItemActionEvent<>(new AnyWrapper<>(clone), target));
}
@Override
- public ActionLinksPanel<Serializable> getHeader(final String componentId) {
- final ActionLinksPanel.Builder<Serializable> panel = ActionLinksPanel.builder();
-
- panel.add(new ActionLink<Serializable>() {
-
- private static final long serialVersionUID = -7978723352517770644L;
-
- @Override
- public void onClick(final AjaxRequestTarget target, final Serializable ignore) {
- target.add(displayAttributeModal.setContent(new AnyObjectDisplayAttributesModalPanel<>(
- displayAttributeModal, page.getPageReference(), pSchemaNames, dSchemaNames, type)));
- displayAttributeModal.addSubmitButton();
- displayAttributeModal.header(new ResourceModel("any.attr.display"));
- displayAttributeModal.show(true);
- }
-
- @Override
- protected boolean statusCondition(final Serializable modelObject) {
- return wizardInModal;
- }
- }, ActionType.CHANGE_VIEW, AnyEntitlement.READ.getFor(type)).add(
- new ActionLink<Serializable>() {
-
- private static final long serialVersionUID = -7978723352517770644L;
-
- @Override
- public void onClick(final AjaxRequestTarget target, final Serializable ignore) {
- if (target != null) {
- target.add(container);
- }
- }
- }, ActionType.RELOAD, AnyEntitlement.SEARCH.getFor(type));
-
- return panel.build(componentId);
+ protected boolean statusCondition(final AnyObjectTO modelObject) {
+ return addAjaxLink.isVisibleInHierarchy();
}
+ }, ActionType.CLONE, AnyEntitlement.CREATE.getFor(type));
+
+ if (wizardInModal) {
+ panel.add(new ActionLink<AnyObjectTO>() {
+
+ private static final long serialVersionUID = -7978723352517770645L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) {
+ final IModel<AnyWrapper<AnyObjectTO>> formModel = new CompoundPropertyModel<>(
+ new AnyWrapper<>(model.getObject()));
+ altDefaultModal.setFormModel(formModel);
+
+ target.add(altDefaultModal.setContent(new AnyStatusModal<>(
+ altDefaultModal,
+ pageRef,
+ formModel.getObject().getInnerObject(),
+ "resourceName",
+ false)));
+
+ altDefaultModal.header(new Model<>(
+ getString("any.edit", new Model<>(new AnyWrapper<>(model.getObject())))));
+
+ altDefaultModal.show(true);
+ }
+ }, ActionType.MANAGE_RESOURCES, AnyEntitlement.READ.getFor(type));
+ panel.add(
+ new ActionLink<AnyObjectTO>() {
+
+ private static final long serialVersionUID = -7978723352517770644L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) {
+ target.add(utilityModal.setContent(new AnyPropagationTasks(
+ utilityModal, AnyTypeKind.ANY_OBJECT, model.getObject().getKey(), pageRef)));
+
+ utilityModal.header(new StringResourceModel("any.propagation.tasks", model));
+ utilityModal.show(true);
+ }
+ }, ActionType.PROPAGATION_TASKS, StandardEntitlement.TASK_LIST);
+ panel.add(new ActionLink<AnyObjectTO>() {
+
+ private static final long serialVersionUID = -7978723352517770644L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) {
+ target.add(utilityModal.setContent(
+ new NotificationTasks(AnyTypeKind.ANY_OBJECT, model.getObject().getKey(),
+ pageRef)));
+ utilityModal.header(new StringResourceModel("any.notification.tasks", model));
+ utilityModal.show(true);
+ target.add(utilityModal);
+ }
+ }, ActionType.NOTIFICATION_TASKS, StandardEntitlement.TASK_LIST);
}
- );
- return columns;
+ panel.add(new ActionLink<AnyObjectTO>() {
+
+ private static final long serialVersionUID = -7978723352517770646L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) {
+ try {
+ restClient.delete(model.getObject().getETagValue(), model.getObject().getKey());
+ SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
+ target.add(container);
+ } catch (SyncopeClientException e) {
+ LOG.error("While deleting object {}", model.getObject().getKey(), e);
+ SyncopeConsoleSession.get().error(StringUtils.isBlank(e.getMessage())
+ ? e.getClass().getName() : e.getMessage());
+ }
+ ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
+ }
+ }, ActionType.DELETE, AnyEntitlement.DELETE.getFor(type), true);
+ return panel;
}
public static class Builder extends AnyDirectoryPanel.Builder<AnyObjectTO, AnyObjectRestClient> {