This is an automated email from the ASF dual-hosted git repository.

ilgrosso pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git


The following commit(s) were added to refs/heads/master by this push:
     new ca94c61  Ensure to always set uidValue for ProvisioningReport instances
ca94c61 is described below

commit ca94c61dbaff5f88024cba44540cceea176d5b61
Author: Francesco Chicchiriccò <[email protected]>
AuthorDate: Mon Jun 15 11:50:03 2020 +0200

    Ensure to always set uidValue for ProvisioningReport instances
---
 .../java/pushpull/AbstractPullResultHandler.java   |  7 +++++
 .../pushpull/DefaultUserPullResultHandler.java     | 30 ++++++++++------------
 .../pushpull/DefaultUserPushResultHandler.java     |  2 ++
 3 files changed, 22 insertions(+), 17 deletions(-)

diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractPullResultHandler.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractPullResultHandler.java
index ad936fe..36883d2 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractPullResultHandler.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractPullResultHandler.java
@@ -164,6 +164,7 @@ public abstract class AbstractPullResultHandler extends 
AbstractSyncopeResultHan
             ignoreResult.setStatus(ProvisioningReport.Status.IGNORE);
             ignoreResult.setMessage(e.getMessage());
             ignoreResult.setKey(null);
+            ignoreResult.setUidValue(delta.getUid().getUidValue());
             ignoreResult.setName(delta.getObject().getName().getNameValue());
             profile.getResults().add(ignoreResult);
 
@@ -309,6 +310,7 @@ public abstract class AbstractPullResultHandler extends 
AbstractSyncopeResultHan
             result.setAnyType(provision.getAnyType().getKey());
             result.setStatus(ProvisioningReport.Status.SUCCESS);
             result.setKey(match.getAny().getKey());
+            result.setUidValue(delta.getUid().getUidValue());
 
             AnyTO before = getAnyTO(match.getAny());
             if (before == null) {
@@ -418,6 +420,7 @@ public abstract class AbstractPullResultHandler extends 
AbstractSyncopeResultHan
             result.setAnyType(provision.getAnyType().getKey());
             result.setStatus(ProvisioningReport.Status.SUCCESS);
             result.setKey(match.getAny().getKey());
+            result.setUidValue(delta.getUid().getUidValue());
 
             AnyTO before = getAnyTO(match.getAny());
 
@@ -535,6 +538,7 @@ public abstract class AbstractPullResultHandler extends 
AbstractSyncopeResultHan
             result.setAnyType(provision.getAnyType().getKey());
             result.setStatus(ProvisioningReport.Status.SUCCESS);
             result.setKey(match.getAny().getKey());
+            result.setUidValue(delta.getUid().getUidValue());
 
             AnyTO before = getAnyTO(match.getAny());
 
@@ -641,6 +645,7 @@ public abstract class AbstractPullResultHandler extends 
AbstractSyncopeResultHan
                 result.setOperation(ResourceOperation.DELETE);
                 result.setAnyType(provision.getAnyType().getKey());
                 result.setStatus(ProvisioningReport.Status.SUCCESS);
+                result.setUidValue(delta.getUid().getUidValue());
 
                 if (!profile.isDryRun()) {
                     for (PullActions action : profile.getActions()) {
@@ -718,6 +723,7 @@ public abstract class AbstractPullResultHandler extends 
AbstractSyncopeResultHan
             report.setOperation(ResourceOperation.NONE);
             report.setAnyType(provision.getAnyType().getKey());
             report.setStatus(ProvisioningReport.Status.SUCCESS);
+            report.setUidValue(delta.getUid().getUidValue());
             if (message != null && message.length >= 1) {
                 report.setMessage(message[0]);
             }
@@ -731,6 +737,7 @@ public abstract class AbstractPullResultHandler extends 
AbstractSyncopeResultHan
                 report.setOperation(ResourceOperation.NONE);
                 report.setAnyType(provision.getAnyType().getKey());
                 report.setStatus(ProvisioningReport.Status.SUCCESS);
+                report.setUidValue(delta.getUid().getUidValue());
                 if (message != null && message.length >= 1) {
                     report.setMessage(message[0]);
                 }
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultUserPullResultHandler.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultUserPullResultHandler.java
index e85a451..dd95907 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultUserPullResultHandler.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultUserPullResultHandler.java
@@ -240,6 +240,7 @@ public class DefaultUserPullResultHandler extends 
AbstractPullResultHandler impl
         report.setAnyType(MatchType.LINKED_ACCOUNT.name());
         report.setStatus(ProvisioningReport.Status.SUCCESS);
         report.setKey(account.getKey());
+        report.setUidValue(account.getConnObjectKeyValue());
 
         LinkedAccountTO before = userDataBinder.getLinkedAccountTO(account);
 
@@ -319,6 +320,7 @@ public class DefaultUserPullResultHandler extends 
AbstractPullResultHandler impl
         ProvisioningReport report = new ProvisioningReport();
         report.setOperation(ResourceOperation.CREATE);
         report.setName(accountTO.getConnObjectKeyValue());
+        report.setUidValue(accountTO.getConnObjectKeyValue());
         report.setAnyType(MatchType.LINKED_ACCOUNT.name());
         report.setStatus(ProvisioningReport.Status.SUCCESS);
 
@@ -443,6 +445,7 @@ public class DefaultUserPullResultHandler extends 
AbstractPullResultHandler impl
         ProvisioningReport report = new ProvisioningReport();
         report.setOperation(ResourceOperation.UPDATE);
         report.setKey(account.getKey());
+        report.setUidValue(account.getConnObjectKeyValue());
         report.setName(account.getConnObjectKeyValue());
         report.setAnyType(MatchType.LINKED_ACCOUNT.name());
         report.setStatus(ProvisioningReport.Status.SUCCESS);
@@ -575,6 +578,7 @@ public class DefaultUserPullResultHandler extends 
AbstractPullResultHandler impl
         try {
             report.setKey(account.getKey());
             report.setName(account.getConnObjectKeyValue());
+            report.setUidValue(account.getConnObjectKeyValue());
             report.setOperation(ResourceOperation.DELETE);
             report.setAnyType(MatchType.LINKED_ACCOUNT.name());
             report.setStatus(ProvisioningReport.Status.SUCCESS);
@@ -649,24 +653,16 @@ public class DefaultUserPullResultHandler extends 
AbstractPullResultHandler impl
         LOG.debug("Linked account to ignore {}", 
delta.getObject().getUid().getUidValue());
 
         ProvisioningReport report = new ProvisioningReport();
-        if (account == null) {
-            report.setKey(null);
-            report.setName(delta.getObject().getUid().getUidValue());
-            report.setOperation(ResourceOperation.NONE);
-            report.setAnyType(MatchType.LINKED_ACCOUNT.name());
-            report.setStatus(ProvisioningReport.Status.SUCCESS);
-            if (message != null && message.length >= 1) {
-                report.setMessage(message[0]);
-            }
-        } else {
+        report.setName(delta.getUid().getUidValue());
+        report.setUidValue(delta.getUid().getUidValue());
+        report.setOperation(ResourceOperation.NONE);
+        report.setAnyType(MatchType.LINKED_ACCOUNT.name());
+        report.setStatus(ProvisioningReport.Status.SUCCESS);
+        if (message != null && message.length >= 1) {
+            report.setMessage(message[0]);
+        }
+        if (account != null) {
             report.setKey(account.getKey());
-            report.setName(delta.getObject().getUid().getUidValue());
-            report.setOperation(ResourceOperation.NONE);
-            report.setAnyType(MatchType.LINKED_ACCOUNT.name());
-            report.setStatus(ProvisioningReport.Status.SUCCESS);
-            if (message != null && message.length >= 1) {
-                report.setMessage(message[0]);
-            }
         }
 
         end(AnyTypeKind.USER,
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultUserPushResultHandler.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultUserPushResultHandler.java
index 0479822..7260039 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultUserPushResultHandler.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultUserPushResultHandler.java
@@ -194,6 +194,7 @@ public class DefaultUserPushResultHandler extends 
AbstractPushResultHandler impl
                 ignoreResult = new ProvisioningReport();
                 ignoreResult.setKey(account.getKey());
                 ignoreResult.setAnyType(MatchType.LINKED_ACCOUNT.name());
+                ignoreResult.setUidValue(account.getConnObjectKeyValue());
 
                 profile.getResults().add(ignoreResult);
             }
@@ -216,6 +217,7 @@ public class DefaultUserPushResultHandler extends 
AbstractPushResultHandler impl
 
         result.setKey(account.getKey());
         result.setAnyType(MatchType.LINKED_ACCOUNT.name());
+        result.setUidValue(account.getConnObjectKeyValue());
         result.setName(account.getConnObjectKeyValue());
 
         LOG.debug("Pushing linked account {} towards {}", account.getKey(), 
profile.getTask().getResource());

Reply via email to