Skip to content

Commit 6537710

Browse files
committed
[SYNCOPE-1912] Fixing resource assignment
1 parent 16c9539 commit 6537710

1 file changed

Lines changed: 5 additions & 7 deletions

File tree

‎core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/DefaultPropagationManager.java‎

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -226,11 +226,9 @@ public List<PropagationTaskInfo> getUserUpdateTasks(
226226
public List<PropagationTaskInfo> getUserUpdateTasks(final UserWorkflowResult<Pair<UserUR, Boolean>> wfResult) {
227227
UserUR userUR = wfResult.getResult().getLeft();
228228

229-
Collection<String> assignedResources = anyUtilsFactory.getInstance(AnyTypeKind.USER).
230-
dao().findAllResourceKeys(userUR.getKey());
231229
List<String> urPwdResources = userUR.getPassword() == null
232230
? List.of()
233-
: userUR.getPassword().getResources().stream().filter(assignedResources::contains).distinct().toList();
231+
: userUR.getPassword().getResources().stream().distinct().toList();
234232

235233
List<String> laPwdResources = userUR.getLinkedAccounts().stream().
236234
filter(laur -> laur.getOperation() == PatchOperation.ADD_REPLACE).
@@ -253,13 +251,13 @@ public List<PropagationTaskInfo> getUserUpdateTasks(final UserWorkflowResult<Pai
253251

254252
PropagationByResource<String> urNoPwdPropByRes = new PropagationByResource<>();
255253
urNoPwdPropByRes.merge(wfResult.getPropByRes());
256-
urNoPwdPropByRes.removeAll(urPwdResources);
257254
urNoPwdPropByRes.purge();
255+
urNoPwdPropByRes.removeAll(urPwdResources);
258256

259257
PropagationByResource<Pair<String, String>> laNoPwdPropByRes = new PropagationByResource<>();
260258
laNoPwdPropByRes.merge(wfResult.getPropByLinkedAccount());
261-
laNoPwdPropByRes.removeIf(p -> laPwdResources.contains(p.getLeft()));
262259
laNoPwdPropByRes.purge();
260+
laNoPwdPropByRes.removeIf(p -> laPwdResources.contains(p.getLeft()));
263261

264262
if (!urNoPwdPropByRes.isEmpty() || !laNoPwdPropByRes.isEmpty()) {
265263
UserWorkflowResult<Pair<UserUR, Boolean>> noPwdWFResult = new UserWorkflowResult<>(
@@ -273,13 +271,13 @@ public List<PropagationTaskInfo> getUserUpdateTasks(final UserWorkflowResult<Pai
273271

274272
PropagationByResource<String> urPwdPropByRes = new PropagationByResource<>();
275273
urPwdPropByRes.merge(wfResult.getPropByRes());
276-
urPwdPropByRes.retainAll(urPwdResources);
277274
urPwdPropByRes.purge();
275+
urPwdPropByRes.retainAll(urPwdResources);
278276

279277
PropagationByResource<Pair<String, String>> laPwdPropByRes = new PropagationByResource<>();
280278
laPwdPropByRes.merge(wfResult.getPropByLinkedAccount());
281-
laPwdPropByRes.removeIf(p -> !laPwdResources.contains(p.getLeft()));
282279
laPwdPropByRes.purge();
280+
laPwdPropByRes.removeIf(p -> !laPwdResources.contains(p.getLeft()));
283281

284282
if (!urPwdPropByRes.isEmpty() || !laPwdPropByRes.isEmpty()) {
285283
UserWorkflowResult<Pair<UserUR, Boolean>> pwdWFResult = new UserWorkflowResult<>(

0 commit comments

Comments
 (0)