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 1b94827b11 [SYNCOPE-1755] Skip delete operation in case of NO_MATCH
(#457)
1b94827b11 is described below
commit 1b94827b11c920a5bf5a99354b86fd81cca392d4
Author: Fabio Martelli <[email protected]>
AuthorDate: Fri May 5 12:28:21 2023 +0200
[SYNCOPE-1755] Skip delete operation in case of NO_MATCH (#457)
---
.../core/provisioning/java/pushpull/AbstractPullResultHandler.java | 5 ++++-
.../provisioning/java/pushpull/DefaultUserPullResultHandler.java | 4 ++--
2 files changed, 6 insertions(+), 3 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 2188301bb8..0555329892 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
@@ -835,7 +835,10 @@ public abstract class AbstractPullResultHandler extends
AbstractSyncopeResultHan
break;
case DELETE:
- profile.getResults().addAll(delete(delta, matches, provision));
+ // Skip DELETE in case of PullCorrelationRule.NO_MATCH
+ if (matches.get(0).getAny() != null) {
+ profile.getResults().addAll(delete(delta, matches,
provision));
+ }
break;
default:
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 eed81e015f..c57126b530 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
@@ -136,11 +136,11 @@ public class DefaultUserPullResultHandler extends
AbstractPullResultHandler impl
final Provision provision) throws JobExecutionException {
for (PullMatch match : matches) {
- User user = (User) match.getAny();
- if (user == null) {
+ if (match.getAny() == null) {
LOG.error("Could not find linking user, cannot process match
{}", match);
return;
}
+ User user = (User) match.getAny();
Optional<? extends LinkedAccount> found =
user.getLinkedAccount(provision.getResource().getKey(),
delta.getUid().getUidValue());