You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2019/12/20 16:00:57 UTC
[syncope] branch 2_1_X updated: [SYNCOPE-1517] Initial changes
(part three)
This is an automated email from the ASF dual-hosted git repository.
ilgrosso pushed a commit to branch 2_1_X
in repository https://gitbox.apache.org/repos/asf/syncope.git
The following commit(s) were added to refs/heads/2_1_X by this push:
new 19b9bf6 [SYNCOPE-1517] Initial changes (part three)
19b9bf6 is described below
commit 19b9bf6f95e104652abc1993e2f768244d9d3f85
Author: Francesco Chicchiriccò <il...@apache.org>
AuthorDate: Fri Dec 20 17:00:42 2019 +0100
[SYNCOPE-1517] Initial changes (part three)
---
.../client/console/audit/AuditHistoryDetails.java | 17 ++++++++++++-----
.../console/audit/AuditHistoryDirectoryPanel.java | 6 +++---
.../syncope/client/console/audit/AuditHistoryModal.java | 6 +++---
.../client/console/panels/AnyObjectDirectoryPanel.java | 3 ++-
.../client/console/panels/GroupDirectoryPanel.java | 3 ++-
.../client/console/panels/UserDirectoryPanel.java | 3 ++-
.../client/console/topology/TopologyTogglePanel.java | 6 ++++--
7 files changed, 28 insertions(+), 16 deletions(-)
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/audit/AuditHistoryDetails.java b/client/console/src/main/java/org/apache/syncope/client/console/audit/AuditHistoryDetails.java
index cf37124..8d491df 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/audit/AuditHistoryDetails.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/audit/AuditHistoryDetails.java
@@ -94,16 +94,23 @@ public abstract class AuditHistoryDetails<T extends EntityTO> extends Multilevel
@Override
public void onClick(final AjaxRequestTarget target) {
- restore(currentEntity, target);
-
- mlp.prev(target);
+ try {
+ String json = selected.getBefore() == null
+ ? MAPPER.readTree(selected.getOutput()).get("entity").toPrettyString()
+ : selected.getBefore();
+ restore(json, target);
+
+ mlp.prev(target);
+ } catch (JsonProcessingException e) {
+ throw new WicketRuntimeException(e);
+ }
}
};
- MetaDataRoleAuthorizationStrategy.authorize(restore, RENDER, auditRestoreEntitlement);
+ MetaDataRoleAuthorizationStrategy.authorize(restore, ENABLE, auditRestoreEntitlement);
add(restore);
}
- protected abstract void restore(T entity, AjaxRequestTarget target);
+ protected abstract void restore(String json, AjaxRequestTarget target);
private Model<String> toJSON(final AuditEntryTO auditEntry, final Class<T> reference) {
try {
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/audit/AuditHistoryDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/audit/AuditHistoryDirectoryPanel.java
index ee2066e..394eab4 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/audit/AuditHistoryDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/audit/AuditHistoryDirectoryPanel.java
@@ -118,7 +118,7 @@ public abstract class AuditHistoryDirectoryPanel<T extends EntityTO> extends Dir
resultTableBuilder.setMultiLevelPanel(baseModal, mlp);
}
- protected abstract void restore(T entity, AjaxRequestTarget target);
+ protected abstract void restore(String json, AjaxRequestTarget target);
@Override
protected ActionsPanel<AuditEntryTO> getActions(final IModel<AuditEntryTO> model) {
@@ -144,8 +144,8 @@ public abstract class AuditHistoryDirectoryPanel<T extends EntityTO> extends Dir
private static final long serialVersionUID = -5311898419151367494L;
@Override
- protected void restore(final T entity, final AjaxRequestTarget target) {
- AuditHistoryDirectoryPanel.this.restore(entity, target);
+ protected void restore(final String json, final AjaxRequestTarget target) {
+ AuditHistoryDirectoryPanel.this.restore(json, target);
}
}, target);
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/audit/AuditHistoryModal.java b/client/console/src/main/java/org/apache/syncope/client/console/audit/AuditHistoryModal.java
index 615cecd..8ec4b18 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/audit/AuditHistoryModal.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/audit/AuditHistoryModal.java
@@ -55,11 +55,11 @@ public abstract class AuditHistoryModal<T extends EntityTO> extends Panel implem
private static final long serialVersionUID = 1952220682903768286L;
@Override
- protected void restore(final T entity, final AjaxRequestTarget target) {
- AuditHistoryModal.this.restore(entity, target);
+ protected void restore(final String json, final AjaxRequestTarget target) {
+ AuditHistoryModal.this.restore(json, target);
}
}));
}
- protected abstract void restore(T entity, AjaxRequestTarget target);
+ protected abstract void restore(String json, AjaxRequestTarget target);
}
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 4327d69..78128a6 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
@@ -194,9 +194,10 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO, AnyO
private static final long serialVersionUID = -7440902560249531201L;
@Override
- protected void restore(final AnyObjectTO updated, final AjaxRequestTarget target) {
+ protected void restore(final String json, final AjaxRequestTarget target) {
AnyObjectTO original = model.getObject();
try {
+ AnyObjectTO updated = MAPPER.readValue(json, AnyObjectTO.class);
AnyObjectPatch anyObjectPatch = AnyOperations.diff(updated, original, false);
ProvisioningResult<AnyObjectTO> result =
restClient.update(original.getETagValue(), anyObjectPatch);
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java
index 93d9f03..f81c5fe 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java
@@ -365,9 +365,10 @@ public class GroupDirectoryPanel extends AnyDirectoryPanel<GroupTO, GroupRestCli
private static final long serialVersionUID = -5819724478921691835L;
@Override
- protected void restore(final GroupTO updated, final AjaxRequestTarget target) {
+ protected void restore(final String json, final AjaxRequestTarget target) {
GroupTO original = model.getObject();
try {
+ GroupTO updated = MAPPER.readValue(json, GroupTO.class);
GroupPatch groupPatch = AnyOperations.diff(updated, original, false);
ProvisioningResult<GroupTO> result = restClient.update(original.getETagValue(), groupPatch);
model.getObject().setLastChangeDate(result.getEntity().getLastChangeDate());
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java
index 79b2607..dff5a73 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java
@@ -366,7 +366,7 @@ public class UserDirectoryPanel extends AnyDirectoryPanel<UserTO, UserRestClient
private static final long serialVersionUID = 959378158400669867L;
@Override
- protected void restore(final UserTO updated, final AjaxRequestTarget target) {
+ protected void restore(final String json, final AjaxRequestTarget target) {
// The original audit record masks the password and the security
// answer; so we cannot use the audit record to resurrect the entry based on mask data.
//
@@ -375,6 +375,7 @@ public class UserDirectoryPanel extends AnyDirectoryPanel<UserTO, UserRestClient
// user cannot be restored using audit records.
UserTO original = model.getObject();
try {
+ UserTO updated = MAPPER.readValue(json, UserTO.class);
UserPatch userPatch = AnyOperations.diff(updated, original, false);
userPatch.setPassword(null);
userPatch.setSecurityAnswer(null);
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyTogglePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyTogglePanel.java
index 9f79016..40c8f16 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyTogglePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyTogglePanel.java
@@ -350,8 +350,9 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
private static final long serialVersionUID = -3225348282675513648L;
@Override
- protected void restore(final ConnInstanceTO updated, final AjaxRequestTarget target) {
+ protected void restore(final String json, final AjaxRequestTarget target) {
try {
+ ConnInstanceTO updated = MAPPER.readValue(json, ConnInstanceTO.class);
connectorRestClient.update(updated);
SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
@@ -604,8 +605,9 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
private static final long serialVersionUID = -3712506022627033811L;
@Override
- protected void restore(final ResourceTO updated, final AjaxRequestTarget target) {
+ protected void restore(final String json, final AjaxRequestTarget target) {
try {
+ ResourceTO updated = MAPPER.readValue(json, ResourceTO.class);
resourceRestClient.update(updated);
SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));