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 65377100fc [SYNCOPE-1912] Fixing resource assignment
65377100fc is described below
commit 65377100fcc8a7fa34737677eff7e6c22d10d78e
Author: Francesco Chicchiriccò <[email protected]>
AuthorDate: Mon Sep 15 12:32:03 2025 +0200
[SYNCOPE-1912] Fixing resource assignment
---
.../java/propagation/DefaultPropagationManager.java | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/DefaultPropagationManager.java
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/DefaultPropagationManager.java
index c4536f16f9..0565d3d574 100644
---
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/DefaultPropagationManager.java
+++
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/DefaultPropagationManager.java
@@ -226,11 +226,9 @@ public class DefaultPropagationManager implements
PropagationManager {
public List<PropagationTaskInfo> getUserUpdateTasks(final
UserWorkflowResult<Pair<UserUR, Boolean>> wfResult) {
UserUR userUR = wfResult.getResult().getLeft();
- Collection<String> assignedResources =
anyUtilsFactory.getInstance(AnyTypeKind.USER).
- dao().findAllResourceKeys(userUR.getKey());
List<String> urPwdResources = userUR.getPassword() == null
? List.of()
- :
userUR.getPassword().getResources().stream().filter(assignedResources::contains).distinct().toList();
+ :
userUR.getPassword().getResources().stream().distinct().toList();
List<String> laPwdResources = userUR.getLinkedAccounts().stream().
filter(laur -> laur.getOperation() ==
PatchOperation.ADD_REPLACE).
@@ -253,13 +251,13 @@ public class DefaultPropagationManager implements
PropagationManager {
PropagationByResource<String> urNoPwdPropByRes = new
PropagationByResource<>();
urNoPwdPropByRes.merge(wfResult.getPropByRes());
- urNoPwdPropByRes.removeAll(urPwdResources);
urNoPwdPropByRes.purge();
+ urNoPwdPropByRes.removeAll(urPwdResources);
PropagationByResource<Pair<String, String>> laNoPwdPropByRes = new
PropagationByResource<>();
laNoPwdPropByRes.merge(wfResult.getPropByLinkedAccount());
- laNoPwdPropByRes.removeIf(p ->
laPwdResources.contains(p.getLeft()));
laNoPwdPropByRes.purge();
+ laNoPwdPropByRes.removeIf(p ->
laPwdResources.contains(p.getLeft()));
if (!urNoPwdPropByRes.isEmpty() || !laNoPwdPropByRes.isEmpty()) {
UserWorkflowResult<Pair<UserUR, Boolean>> noPwdWFResult = new
UserWorkflowResult<>(
@@ -273,13 +271,13 @@ public class DefaultPropagationManager implements
PropagationManager {
PropagationByResource<String> urPwdPropByRes = new
PropagationByResource<>();
urPwdPropByRes.merge(wfResult.getPropByRes());
- urPwdPropByRes.retainAll(urPwdResources);
urPwdPropByRes.purge();
+ urPwdPropByRes.retainAll(urPwdResources);
PropagationByResource<Pair<String, String>> laPwdPropByRes = new
PropagationByResource<>();
laPwdPropByRes.merge(wfResult.getPropByLinkedAccount());
- laPwdPropByRes.removeIf(p ->
!laPwdResources.contains(p.getLeft()));
laPwdPropByRes.purge();
+ laPwdPropByRes.removeIf(p ->
!laPwdResources.contains(p.getLeft()));
if (!urPwdPropByRes.isEmpty() || !laPwdPropByRes.isEmpty()) {
UserWorkflowResult<Pair<UserUR, Boolean>> pwdWFResult = new
UserWorkflowResult<>(