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 2017/09/15 12:04:24 UTC
[1/2] syncope git commit: [SYNCOPE-1207] Further cleanup: now audit
and notifications contain the actual patch applied
Repository: syncope
Updated Branches:
refs/heads/2_0_X 86fc76eb9 -> e06b0f251
refs/heads/master c4ba54c96 -> 6da490da5
[SYNCOPE-1207] Further cleanup: now audit and notifications contain the actual patch applied
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/e06b0f25
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/e06b0f25
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/e06b0f25
Branch: refs/heads/2_0_X
Commit: e06b0f251f27463588724ac3036ab99554689629
Parents: 86fc76e
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Fri Sep 15 14:00:31 2017 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Fri Sep 15 14:00:31 2017 +0200
----------------------------------------------------------------------
.../DefaultAnyObjectProvisioningManager.java | 10 +++----
.../java/DefaultGroupProvisioningManager.java | 11 ++++----
.../pushpull/AbstractPullResultHandler.java | 29 +++++++++++++-------
.../pushpull/AbstractSyncopeResultHandler.java | 2 +-
.../AnyObjectPullResultHandlerImpl.java | 2 +-
.../AnyObjectPushResultHandlerImpl.java | 2 +-
.../pushpull/GroupPullResultHandlerImpl.java | 2 +-
.../pushpull/GroupPushResultHandlerImpl.java | 2 +-
.../pushpull/UserPullResultHandlerImpl.java | 5 ++--
.../pushpull/UserPushResultHandlerImpl.java | 5 ++--
.../activiti/ActivitiUserWorkflowAdapter.java | 9 ++----
.../core/workflow/activiti/task/Update.java | 15 ++++++++++
.../workflow/api/AnyObjectWorkflowAdapter.java | 2 +-
.../core/workflow/api/GroupWorkflowAdapter.java | 2 +-
.../flowable/FlowableUserWorkflowAdapter.java | 9 ++----
.../core/workflow/flowable/task/Update.java | 15 ++++++++++
.../java/AbstractAnyObjectWorkflowAdapter.java | 7 +++--
.../java/AbstractGroupWorkflowAdapter.java | 6 ++--
.../java/DefaultAnyObjectWorkflowAdapter.java | 15 ++++++++--
.../java/DefaultGroupWorkflowAdapter.java | 15 ++++++++--
.../java/DefaultUserWorkflowAdapter.java | 19 +++++++++----
.../CamelAnyObjectProvisioningManager.java | 4 +--
.../camel/CamelGroupProvisioningManager.java | 4 +--
.../camel/CamelUserProvisioningManager.java | 6 ++--
.../camel/producer/UpdateProducer.java | 7 +++--
.../syncope/fit/core/UserIssuesITCase.java | 2 +-
26 files changed, 132 insertions(+), 75 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultAnyObjectProvisioningManager.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultAnyObjectProvisioningManager.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultAnyObjectProvisioningManager.java
index 0af0b81..b8ef377 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultAnyObjectProvisioningManager.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultAnyObjectProvisioningManager.java
@@ -98,11 +98,11 @@ public class DefaultAnyObjectProvisioningManager implements AnyObjectProvisionin
public Pair<AnyObjectPatch, List<PropagationStatus>> update(
final AnyObjectPatch anyObjectPatch, final Set<String> excludedResources, final boolean nullPriorityAsync) {
- WorkflowResult<String> updated = awfAdapter.update(anyObjectPatch);
+ WorkflowResult<AnyObjectPatch> updated = awfAdapter.update(anyObjectPatch);
List<PropagationTask> tasks = propagationManager.getUpdateTasks(
AnyTypeKind.ANY_OBJECT,
- updated.getResult(),
+ updated.getResult().getKey(),
false,
null,
updated.getPropByRes(),
@@ -110,7 +110,7 @@ public class DefaultAnyObjectProvisioningManager implements AnyObjectProvisionin
excludedResources);
PropagationReporter propagationReporter = taskExecutor.execute(tasks, nullPriorityAsync);
- return Pair.of(anyObjectPatch, propagationReporter.getStatuses());
+ return Pair.of(updated.getResult(), propagationReporter.getStatuses());
}
@Override
@@ -149,12 +149,12 @@ public class DefaultAnyObjectProvisioningManager implements AnyObjectProvisionin
@Override
public String unlink(final AnyObjectPatch anyObjectPatch) {
- return awfAdapter.update(anyObjectPatch).getResult();
+ return awfAdapter.update(anyObjectPatch).getResult().getKey();
}
@Override
public String link(final AnyObjectPatch anyObjectPatch) {
- return awfAdapter.update(anyObjectPatch).getResult();
+ return awfAdapter.update(anyObjectPatch).getResult().getKey();
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java
index 0fbcd29..4d85bc4 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java
@@ -122,11 +122,11 @@ public class DefaultGroupProvisioningManager implements GroupProvisioningManager
public Pair<GroupPatch, List<PropagationStatus>> update(
final GroupPatch groupPatch, final Set<String> excludedResources, final boolean nullPriorityAsync) {
- WorkflowResult<String> updated = gwfAdapter.update(groupPatch);
+ WorkflowResult<GroupPatch> updated = gwfAdapter.update(groupPatch);
List<PropagationTask> tasks = propagationManager.getUpdateTasks(
AnyTypeKind.GROUP,
- updated.getResult(),
+ updated.getResult().getKey(),
false,
null,
updated.getPropByRes(),
@@ -134,7 +134,7 @@ public class DefaultGroupProvisioningManager implements GroupProvisioningManager
excludedResources);
PropagationReporter propagationReporter = taskExecutor.execute(tasks, nullPriorityAsync);
- return Pair.of(groupPatch, propagationReporter.getStatuses());
+ return Pair.of(updated.getResult(), propagationReporter.getStatuses());
}
@Override
@@ -186,8 +186,7 @@ public class DefaultGroupProvisioningManager implements GroupProvisioningManager
@Override
public String unlink(final GroupPatch groupPatch) {
- WorkflowResult<String> updated = gwfAdapter.update(groupPatch);
- return updated.getResult();
+ return gwfAdapter.update(groupPatch).getResult().getKey();
}
@Override
@@ -229,7 +228,7 @@ public class DefaultGroupProvisioningManager implements GroupProvisioningManager
@Override
public String link(final GroupPatch groupPatch) {
- return gwfAdapter.update(groupPatch).getResult();
+ return gwfAdapter.update(groupPatch).getResult().getKey();
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractPullResultHandler.java
----------------------------------------------------------------------
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 85507bb..6b6f922 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
@@ -328,6 +328,7 @@ public abstract class AbstractPullResultHandler extends AbstractSyncopeResultHan
if (!profile.isDryRun()) {
Result resultStatus;
Object output;
+ AnyPatch effectivePatch = null;
if (before == null) {
resultStatus = Result.FAILURE;
@@ -346,7 +347,8 @@ public abstract class AbstractPullResultHandler extends AbstractSyncopeResultHan
workingDelta = action.beforeUpdate(profile, workingDelta, before, anyPatch);
}
- AnyTO updated = AnyOperations.patch(before, doUpdate(before, anyPatch, workingDelta, result));
+ effectivePatch = doUpdate(before, anyPatch, workingDelta, result);
+ AnyTO updated = AnyOperations.patch(before, effectivePatch);
for (PullActions action : profile.getActions()) {
action.after(profile, workingDelta, updated, result);
@@ -375,7 +377,8 @@ public abstract class AbstractPullResultHandler extends AbstractSyncopeResultHan
resultStatus = Result.FAILURE;
}
}
- finalize(MatchingRule.toEventName(MatchingRule.UPDATE), resultStatus, before, output, workingDelta);
+ finalize(MatchingRule.toEventName(MatchingRule.UPDATE),
+ resultStatus, before, output, workingDelta, effectivePatch);
}
results.add(result);
}
@@ -531,8 +534,9 @@ public abstract class AbstractPullResultHandler extends AbstractSyncopeResultHan
}
if (!profile.isDryRun()) {
- Object output;
Result resultStatus;
+ Object output;
+ AnyPatch effectivePatch = null;
if (before == null) {
resultStatus = Result.FAILURE;
@@ -551,12 +555,13 @@ public abstract class AbstractPullResultHandler extends AbstractSyncopeResultHan
}
}
- AnyPatch patch = newPatch(before.getKey());
- patch.getResources().add(new StringPatchItem.Builder().
+ AnyPatch anyPatch = newPatch(before.getKey());
+ anyPatch.getResources().add(new StringPatchItem.Builder().
operation(unlink ? PatchOperation.DELETE : PatchOperation.ADD_REPLACE).
value(profile.getTask().getResource().getKey()).build());
- output = getAnyTO(update(patch).getResult());
+ effectivePatch = update(anyPatch).getResult();
+ output = AnyOperations.patch(before, effectivePatch);
for (PullActions action : profile.getActions()) {
action.after(profile, delta, AnyTO.class.cast(output), result);
@@ -585,7 +590,8 @@ public abstract class AbstractPullResultHandler extends AbstractSyncopeResultHan
}
finalize(unlink
? MatchingRule.toEventName(MatchingRule.UNLINK)
- : MatchingRule.toEventName(MatchingRule.LINK), resultStatus, before, output, delta);
+ : MatchingRule.toEventName(MatchingRule.LINK),
+ resultStatus, before, output, delta, effectivePatch);
}
results.add(result);
}
@@ -813,7 +819,8 @@ public abstract class AbstractPullResultHandler extends AbstractSyncopeResultHan
final Result result,
final Object before,
final Object output,
- final SyncDelta delta) {
+ final SyncDelta delta,
+ final Object... furtherInput) {
synchronized (this) {
this.latestResult = result;
@@ -826,7 +833,8 @@ public abstract class AbstractPullResultHandler extends AbstractSyncopeResultHan
result,
before,
output,
- delta);
+ delta,
+ furtherInput);
auditManager.audit(AuditElements.EventCategoryType.PULL,
getAnyUtils().getAnyTypeKind().name().toLowerCase(),
@@ -835,6 +843,7 @@ public abstract class AbstractPullResultHandler extends AbstractSyncopeResultHan
result,
before,
output,
- delta);
+ delta,
+ furtherInput);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractSyncopeResultHandler.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractSyncopeResultHandler.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractSyncopeResultHandler.java
index 61e37e1..76bfe3e 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractSyncopeResultHandler.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractSyncopeResultHandler.java
@@ -108,7 +108,7 @@ public abstract class AbstractSyncopeResultHandler<T extends ProvisioningTask, A
protected abstract AnyPatch newPatch(String key);
- protected abstract WorkflowResult<String> update(AnyPatch patch);
+ protected abstract WorkflowResult<? extends AnyPatch> update(AnyPatch patch);
@Override
public void setProfile(final ProvisioningProfile<T, A> profile) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AnyObjectPullResultHandlerImpl.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AnyObjectPullResultHandlerImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AnyObjectPullResultHandlerImpl.java
index 6a6c93d..3e652ee 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AnyObjectPullResultHandlerImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AnyObjectPullResultHandlerImpl.java
@@ -81,7 +81,7 @@ public class AnyObjectPullResultHandlerImpl extends AbstractPullResultHandler im
}
@Override
- protected WorkflowResult<String> update(final AnyPatch patch) {
+ protected WorkflowResult<? extends AnyPatch> update(final AnyPatch patch) {
return awfAdapter.update((AnyObjectPatch) patch);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AnyObjectPushResultHandlerImpl.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AnyObjectPushResultHandlerImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AnyObjectPushResultHandlerImpl.java
index b4c3c74..48f464a 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AnyObjectPushResultHandlerImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AnyObjectPushResultHandlerImpl.java
@@ -63,7 +63,7 @@ public class AnyObjectPushResultHandlerImpl extends AbstractPushResultHandler im
}
@Override
- protected WorkflowResult<String> update(final AnyPatch patch) {
+ protected WorkflowResult<? extends AnyObjectPatch> update(final AnyPatch patch) {
return awfAdapter.update((AnyObjectPatch) patch);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/GroupPullResultHandlerImpl.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/GroupPullResultHandlerImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/GroupPullResultHandlerImpl.java
index b008efa..3e2b5bd 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/GroupPullResultHandlerImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/GroupPullResultHandlerImpl.java
@@ -91,7 +91,7 @@ public class GroupPullResultHandlerImpl extends AbstractPullResultHandler implem
}
@Override
- protected WorkflowResult<String> update(final AnyPatch patch) {
+ protected WorkflowResult<? extends AnyPatch> update(final AnyPatch patch) {
return gwfAdapter.update((GroupPatch) patch);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/GroupPushResultHandlerImpl.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/GroupPushResultHandlerImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/GroupPushResultHandlerImpl.java
index 74b40ad..01a112d 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/GroupPushResultHandlerImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/GroupPushResultHandlerImpl.java
@@ -63,7 +63,7 @@ public class GroupPushResultHandlerImpl extends AbstractPushResultHandler implem
}
@Override
- protected WorkflowResult<String> update(final AnyPatch patch) {
+ protected WorkflowResult<? extends AnyPatch> update(final AnyPatch patch) {
return gwfAdapter.update((GroupPatch) patch);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/UserPullResultHandlerImpl.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/UserPullResultHandlerImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/UserPullResultHandlerImpl.java
index 349f863..fa299a0 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/UserPullResultHandlerImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/UserPullResultHandlerImpl.java
@@ -81,10 +81,9 @@ public class UserPullResultHandlerImpl extends AbstractPullResultHandler impleme
}
@Override
- protected WorkflowResult<String> update(final AnyPatch patch) {
+ protected WorkflowResult<? extends AnyPatch> update(final AnyPatch patch) {
WorkflowResult<Pair<UserPatch, Boolean>> update = uwfAdapter.update((UserPatch) patch);
- return new WorkflowResult<>(
- update.getResult().getLeft().getKey(), update.getPropByRes(), update.getPerformedTasks());
+ return new WorkflowResult<>(update.getResult().getLeft(), update.getPropByRes(), update.getPerformedTasks());
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/UserPushResultHandlerImpl.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/UserPushResultHandlerImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/UserPushResultHandlerImpl.java
index 60dd98b..b89850f 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/UserPushResultHandlerImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/UserPushResultHandlerImpl.java
@@ -91,10 +91,9 @@ public class UserPushResultHandlerImpl extends AbstractPushResultHandler impleme
}
@Override
- protected WorkflowResult<String> update(final AnyPatch patch) {
+ protected WorkflowResult<? extends AnyPatch> update(final AnyPatch patch) {
WorkflowResult<Pair<UserPatch, Boolean>> update = uwfAdapter.update((UserPatch) patch);
- return new WorkflowResult<>(
- update.getResult().getLeft().getKey(), update.getPropByRes(), update.getPerformedTasks());
+ return new WorkflowResult<>(update.getResult().getLeft(), update.getPropByRes(), update.getPerformedTasks());
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/core/workflow-activiti/src/main/java/org/apache/syncope/core/workflow/activiti/ActivitiUserWorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/core/workflow-activiti/src/main/java/org/apache/syncope/core/workflow/activiti/ActivitiUserWorkflowAdapter.java b/core/workflow-activiti/src/main/java/org/apache/syncope/core/workflow/activiti/ActivitiUserWorkflowAdapter.java
index 319b886..e327a15 100644
--- a/core/workflow-activiti/src/main/java/org/apache/syncope/core/workflow/activiti/ActivitiUserWorkflowAdapter.java
+++ b/core/workflow-activiti/src/main/java/org/apache/syncope/core/workflow/activiti/ActivitiUserWorkflowAdapter.java
@@ -286,8 +286,7 @@ public class ActivitiUserWorkflowAdapter extends AbstractUserWorkflowAdapter {
Set<String> tasks = getPerformedTasks(user);
- return new WorkflowResult<Pair<String, Boolean>>(
- Pair.of(user.getKey(), propagateEnable), propByRes, tasks);
+ return new WorkflowResult<>(Pair.of(user.getKey(), propagateEnable), propByRes, tasks);
}
protected Set<String> doExecuteTask(final User user, final String task, final Map<String, Object> moreVariables) {
@@ -356,8 +355,7 @@ public class ActivitiUserWorkflowAdapter extends AbstractUserWorkflowAdapter {
Boolean propagateEnable = engine.getRuntimeService().getVariable(
user.getWorkflowId(), PROPAGATE_ENABLE, Boolean.class);
- return new WorkflowResult<Pair<UserPatch, Boolean>>(
- Pair.of(updatedPatch, propagateEnable), propByRes, tasks);
+ return new WorkflowResult<>(Pair.of(updatedPatch, propagateEnable), propByRes, tasks);
}
@Override
@@ -426,8 +424,7 @@ public class ActivitiUserWorkflowAdapter extends AbstractUserWorkflowAdapter {
Boolean propagateEnable = engine.getRuntimeService().getVariable(
user.getWorkflowId(), PROPAGATE_ENABLE, Boolean.class);
- return new WorkflowResult<Pair<UserPatch, Boolean>>(
- Pair.of(updatedPatch, propagateEnable), propByRes, tasks);
+ return new WorkflowResult<>(Pair.of(updatedPatch, propagateEnable), propByRes, tasks);
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/core/workflow-activiti/src/main/java/org/apache/syncope/core/workflow/activiti/task/Update.java
----------------------------------------------------------------------
diff --git a/core/workflow-activiti/src/main/java/org/apache/syncope/core/workflow/activiti/task/Update.java b/core/workflow-activiti/src/main/java/org/apache/syncope/core/workflow/activiti/task/Update.java
index 163cf1c..b73179b 100644
--- a/core/workflow-activiti/src/main/java/org/apache/syncope/core/workflow/activiti/task/Update.java
+++ b/core/workflow-activiti/src/main/java/org/apache/syncope/core/workflow/activiti/task/Update.java
@@ -18,7 +18,12 @@
*/
package org.apache.syncope.core.workflow.activiti.task;
+import java.util.Set;
+import org.apache.syncope.common.lib.AnyOperations;
+import org.apache.syncope.common.lib.patch.PasswordPatch;
import org.apache.syncope.common.lib.patch.UserPatch;
+import org.apache.syncope.common.lib.to.AttrTO;
+import org.apache.syncope.common.lib.to.UserTO;
import org.apache.syncope.core.provisioning.api.PropagationByResource;
import org.apache.syncope.core.persistence.api.entity.user.User;
import org.apache.syncope.core.provisioning.api.data.UserDataBinder;
@@ -39,7 +44,17 @@ public class Update extends AbstractActivitiServiceTask {
UserPatch userPatch = engine.getRuntimeService().
getVariable(executionId, ActivitiUserWorkflowAdapter.USER_PATCH, UserPatch.class);
+ UserTO original = dataBinder.getUserTO(user, true);
+
PropagationByResource propByRes = dataBinder.update(user, userPatch);
+ PasswordPatch password = userPatch.getPassword();
+ Set<AttrTO> virAttrs = userPatch.getVirAttrs();
+
+ UserTO updated = dataBinder.getUserTO(user.getKey());
+ userPatch = AnyOperations.diff(updated, original, false);
+ userPatch.setPassword(password);
+ userPatch.getVirAttrs().clear();
+ userPatch.getVirAttrs().addAll(virAttrs);
// report updated user and propagation by resource as result
engine.getRuntimeService().setVariable(executionId, ActivitiUserWorkflowAdapter.USER, user);
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/AnyObjectWorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/AnyObjectWorkflowAdapter.java b/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/AnyObjectWorkflowAdapter.java
index 22dac48..3a9f21f 100644
--- a/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/AnyObjectWorkflowAdapter.java
+++ b/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/AnyObjectWorkflowAdapter.java
@@ -50,7 +50,7 @@ public interface AnyObjectWorkflowAdapter extends WorkflowAdapter {
* @param anyObjectPatch modification set to be performed
* @return anyObject just updated and propagations to be performed
*/
- WorkflowResult<String> update(AnyObjectPatch anyObjectPatch);
+ WorkflowResult<AnyObjectPatch> update(AnyObjectPatch anyObjectPatch);
/**
* Delete a anyObject.
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/GroupWorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/GroupWorkflowAdapter.java b/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/GroupWorkflowAdapter.java
index df0740b..72595f6 100644
--- a/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/GroupWorkflowAdapter.java
+++ b/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/GroupWorkflowAdapter.java
@@ -50,7 +50,7 @@ public interface GroupWorkflowAdapter extends WorkflowAdapter {
* @param groupPatch modification set to be performed
* @return group just updated and propagations to be performed
*/
- WorkflowResult<String> update(GroupPatch groupPatch);
+ WorkflowResult<GroupPatch> update(GroupPatch groupPatch);
/**
* Delete a group.
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/core/workflow-flowable/src/main/java/org/apache/syncope/core/workflow/flowable/FlowableUserWorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/core/workflow-flowable/src/main/java/org/apache/syncope/core/workflow/flowable/FlowableUserWorkflowAdapter.java b/core/workflow-flowable/src/main/java/org/apache/syncope/core/workflow/flowable/FlowableUserWorkflowAdapter.java
index 469ce90..7307bd0 100644
--- a/core/workflow-flowable/src/main/java/org/apache/syncope/core/workflow/flowable/FlowableUserWorkflowAdapter.java
+++ b/core/workflow-flowable/src/main/java/org/apache/syncope/core/workflow/flowable/FlowableUserWorkflowAdapter.java
@@ -286,8 +286,7 @@ public class FlowableUserWorkflowAdapter extends AbstractUserWorkflowAdapter {
Set<String> tasks = getPerformedTasks(user);
- return new WorkflowResult<Pair<String, Boolean>>(
- Pair.of(user.getKey(), propagateEnable), propByRes, tasks);
+ return new WorkflowResult<>(Pair.of(user.getKey(), propagateEnable), propByRes, tasks);
}
protected Set<String> doExecuteTask(final User user, final String task, final Map<String, Object> moreVariables) {
@@ -356,8 +355,7 @@ public class FlowableUserWorkflowAdapter extends AbstractUserWorkflowAdapter {
Boolean propagateEnable = engine.getRuntimeService().getVariable(
user.getWorkflowId(), PROPAGATE_ENABLE, Boolean.class);
- return new WorkflowResult<Pair<UserPatch, Boolean>>(
- Pair.of(updatedPatch, propagateEnable), propByRes, tasks);
+ return new WorkflowResult<>(Pair.of(updatedPatch, propagateEnable), propByRes, tasks);
}
@Override
@@ -426,8 +424,7 @@ public class FlowableUserWorkflowAdapter extends AbstractUserWorkflowAdapter {
Boolean propagateEnable = engine.getRuntimeService().getVariable(
user.getWorkflowId(), PROPAGATE_ENABLE, Boolean.class);
- return new WorkflowResult<Pair<UserPatch, Boolean>>(
- Pair.of(updatedPatch, propagateEnable), propByRes, tasks);
+ return new WorkflowResult<>(Pair.of(updatedPatch, propagateEnable), propByRes, tasks);
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/core/workflow-flowable/src/main/java/org/apache/syncope/core/workflow/flowable/task/Update.java
----------------------------------------------------------------------
diff --git a/core/workflow-flowable/src/main/java/org/apache/syncope/core/workflow/flowable/task/Update.java b/core/workflow-flowable/src/main/java/org/apache/syncope/core/workflow/flowable/task/Update.java
index 7f5d9d2..7f1c114 100644
--- a/core/workflow-flowable/src/main/java/org/apache/syncope/core/workflow/flowable/task/Update.java
+++ b/core/workflow-flowable/src/main/java/org/apache/syncope/core/workflow/flowable/task/Update.java
@@ -18,7 +18,12 @@
*/
package org.apache.syncope.core.workflow.flowable.task;
+import java.util.Set;
+import org.apache.syncope.common.lib.AnyOperations;
+import org.apache.syncope.common.lib.patch.PasswordPatch;
import org.apache.syncope.common.lib.patch.UserPatch;
+import org.apache.syncope.common.lib.to.AttrTO;
+import org.apache.syncope.common.lib.to.UserTO;
import org.apache.syncope.core.provisioning.api.PropagationByResource;
import org.apache.syncope.core.persistence.api.entity.user.User;
import org.apache.syncope.core.provisioning.api.data.UserDataBinder;
@@ -39,7 +44,17 @@ public class Update extends AbstractFlowableServiceTask {
UserPatch userPatch = engine.getRuntimeService().
getVariable(executionId, FlowableUserWorkflowAdapter.USER_PATCH, UserPatch.class);
+ UserTO original = dataBinder.getUserTO(user, true);
+
PropagationByResource propByRes = dataBinder.update(user, userPatch);
+ PasswordPatch password = userPatch.getPassword();
+ Set<AttrTO> virAttrs = userPatch.getVirAttrs();
+
+ UserTO updated = dataBinder.getUserTO(user.getKey());
+ userPatch = AnyOperations.diff(updated, original, false);
+ userPatch.setPassword(password);
+ userPatch.getVirAttrs().clear();
+ userPatch.getVirAttrs().addAll(virAttrs);
// report updated user and propagation by resource as result
engine.getRuntimeService().setVariable(executionId, FlowableUserWorkflowAdapter.USER, user);
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractAnyObjectWorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractAnyObjectWorkflowAdapter.java b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractAnyObjectWorkflowAdapter.java
index dcc2e82..f502fb3 100644
--- a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractAnyObjectWorkflowAdapter.java
+++ b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractAnyObjectWorkflowAdapter.java
@@ -56,11 +56,12 @@ public abstract class AbstractAnyObjectWorkflowAdapter
return doCreate(anyObjectTO);
}
- protected abstract WorkflowResult<String> doUpdate(AnyObject anyObject, AnyObjectPatch anyObjectPatch);
+ protected abstract WorkflowResult<AnyObjectPatch> doUpdate(AnyObject anyObject, AnyObjectPatch anyObjectPatch);
@Override
- public WorkflowResult<String> update(final AnyObjectPatch anyObjectPatch) {
- WorkflowResult<String> result = doUpdate(anyObjectDAO.authFind(anyObjectPatch.getKey()), anyObjectPatch);
+ public WorkflowResult<AnyObjectPatch> update(final AnyObjectPatch anyObjectPatch) {
+ WorkflowResult<AnyObjectPatch> result =
+ doUpdate(anyObjectDAO.authFind(anyObjectPatch.getKey()), anyObjectPatch);
// re-read to ensure that requester's administration rights are still valid
anyObjectDAO.authFind(anyObjectPatch.getKey());
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractGroupWorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractGroupWorkflowAdapter.java b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractGroupWorkflowAdapter.java
index 3f5394b..153fb8a 100644
--- a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractGroupWorkflowAdapter.java
+++ b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractGroupWorkflowAdapter.java
@@ -55,11 +55,11 @@ public abstract class AbstractGroupWorkflowAdapter implements GroupWorkflowAdapt
return doCreate(groupTO);
}
- protected abstract WorkflowResult<String> doUpdate(Group group, GroupPatch groupPatch);
+ protected abstract WorkflowResult<GroupPatch> doUpdate(Group group, GroupPatch groupPatch);
@Override
- public WorkflowResult<String> update(final GroupPatch groupPatch) {
- WorkflowResult<String> result = doUpdate(groupDAO.authFind(groupPatch.getKey()), groupPatch);
+ public WorkflowResult<GroupPatch> update(final GroupPatch groupPatch) {
+ WorkflowResult<GroupPatch> result = doUpdate(groupDAO.authFind(groupPatch.getKey()), groupPatch);
// re-read to ensure that requester's administration rights are still valid
groupDAO.authFind(groupPatch.getKey());
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultAnyObjectWorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultAnyObjectWorkflowAdapter.java b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultAnyObjectWorkflowAdapter.java
index 8dd536f..e1a6ad5 100644
--- a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultAnyObjectWorkflowAdapter.java
+++ b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultAnyObjectWorkflowAdapter.java
@@ -21,8 +21,11 @@ package org.apache.syncope.core.workflow.java;
import java.io.OutputStream;
import java.util.Collections;
import java.util.List;
+import java.util.Set;
+import org.apache.syncope.common.lib.AnyOperations;
import org.apache.syncope.common.lib.patch.AnyObjectPatch;
import org.apache.syncope.common.lib.to.AnyObjectTO;
+import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.WorkflowDefinitionTO;
import org.apache.syncope.common.lib.to.WorkflowFormTO;
import org.apache.syncope.core.provisioning.api.PropagationByResource;
@@ -55,12 +58,18 @@ public class DefaultAnyObjectWorkflowAdapter extends AbstractAnyObjectWorkflowAd
}
@Override
- protected WorkflowResult<String> doUpdate(final AnyObject anyObject, final AnyObjectPatch anyObjectPatch) {
+ protected WorkflowResult<AnyObjectPatch> doUpdate(final AnyObject anyObject, final AnyObjectPatch anyObjectPatch) {
+ AnyObjectTO original = dataBinder.getAnyObjectTO(anyObject, true);
+
PropagationByResource propByRes = dataBinder.update(anyObject, anyObjectPatch);
+ Set<AttrTO> virAttrs = anyObjectPatch.getVirAttrs();
- AnyObject updated = anyObjectDAO.save(anyObject);
+ AnyObjectTO updated = dataBinder.getAnyObjectTO(anyObjectDAO.save(anyObject), true);
+ AnyObjectPatch effectivePatch = AnyOperations.diff(updated, original, false);
+ effectivePatch.getVirAttrs().clear();
+ effectivePatch.getVirAttrs().addAll(virAttrs);
- return new WorkflowResult<>(updated.getKey(), propByRes, "update");
+ return new WorkflowResult<>(effectivePatch, propByRes, "update");
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultGroupWorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultGroupWorkflowAdapter.java b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultGroupWorkflowAdapter.java
index 86a7330..ef05edd 100644
--- a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultGroupWorkflowAdapter.java
+++ b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultGroupWorkflowAdapter.java
@@ -21,7 +21,10 @@ package org.apache.syncope.core.workflow.java;
import java.io.OutputStream;
import java.util.Collections;
import java.util.List;
+import java.util.Set;
+import org.apache.syncope.common.lib.AnyOperations;
import org.apache.syncope.common.lib.patch.GroupPatch;
+import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.GroupTO;
import org.apache.syncope.common.lib.to.WorkflowDefinitionTO;
import org.apache.syncope.common.lib.to.WorkflowFormTO;
@@ -55,12 +58,18 @@ public class DefaultGroupWorkflowAdapter extends AbstractGroupWorkflowAdapter {
}
@Override
- protected WorkflowResult<String> doUpdate(final Group group, final GroupPatch groupPatch) {
+ protected WorkflowResult<GroupPatch> doUpdate(final Group group, final GroupPatch groupPatch) {
+ GroupTO original = dataBinder.getGroupTO(group, true);
+
PropagationByResource propByRes = dataBinder.update(group, groupPatch);
+ Set<AttrTO> virAttrs = groupPatch.getVirAttrs();
- Group updated = groupDAO.save(group);
+ GroupTO updated = dataBinder.getGroupTO(groupDAO.save(group), true);
+ GroupPatch effectivePatch = AnyOperations.diff(updated, original, false);
+ effectivePatch.getVirAttrs().clear();
+ effectivePatch.getVirAttrs().addAll(virAttrs);
- return new WorkflowResult<>(updated.getKey(), propByRes, "update");
+ return new WorkflowResult<>(effectivePatch, propByRes, "update");
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultUserWorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultUserWorkflowAdapter.java b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultUserWorkflowAdapter.java
index 7fc8754..bf2ddab 100644
--- a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultUserWorkflowAdapter.java
+++ b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultUserWorkflowAdapter.java
@@ -21,9 +21,12 @@ package org.apache.syncope.core.workflow.java;
import java.io.OutputStream;
import java.util.Collections;
import java.util.List;
+import java.util.Set;
import org.apache.commons.lang3.tuple.Pair;
+import org.apache.syncope.common.lib.AnyOperations;
import org.apache.syncope.common.lib.patch.PasswordPatch;
import org.apache.syncope.common.lib.patch.UserPatch;
+import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.UserTO;
import org.apache.syncope.common.lib.to.WorkflowDefinitionTO;
import org.apache.syncope.common.lib.to.WorkflowFormTO;
@@ -83,8 +86,7 @@ public class DefaultUserWorkflowAdapter extends AbstractUserWorkflowAdapter {
PropagationByResource propByRes = new PropagationByResource();
propByRes.set(ResourceOperation.CREATE, userDAO.findAllResourceKeys(user.getKey()));
- return new WorkflowResult<Pair<String, Boolean>>(
- Pair.of(user.getKey(), propagateEnable), propByRes, "create");
+ return new WorkflowResult<>(Pair.of(user.getKey(), propagateEnable), propByRes, "create");
}
@Override
@@ -102,12 +104,19 @@ public class DefaultUserWorkflowAdapter extends AbstractUserWorkflowAdapter {
@Override
protected WorkflowResult<Pair<UserPatch, Boolean>> doUpdate(final User user, final UserPatch userPatch) {
+ UserTO original = dataBinder.getUserTO(user, true);
+
PropagationByResource propByRes = dataBinder.update(user, userPatch);
+ PasswordPatch password = userPatch.getPassword();
+ Set<AttrTO> virAttrs = userPatch.getVirAttrs();
- userDAO.save(user);
+ UserTO updated = dataBinder.getUserTO(userDAO.save(user), true);
+ UserPatch effectivePatch = AnyOperations.diff(updated, original, false);
+ effectivePatch.setPassword(password);
+ effectivePatch.getVirAttrs().clear();
+ effectivePatch.getVirAttrs().addAll(virAttrs);
- return new WorkflowResult<Pair<UserPatch, Boolean>>(
- Pair.of(userPatch, !user.isSuspended()), propByRes, "update");
+ return new WorkflowResult<>(Pair.of(effectivePatch, !user.isSuspended()), propByRes, "update");
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelAnyObjectProvisioningManager.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelAnyObjectProvisioningManager.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelAnyObjectProvisioningManager.java
index d89e4d2..8d1c24b 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelAnyObjectProvisioningManager.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelAnyObjectProvisioningManager.java
@@ -135,7 +135,7 @@ public class CamelAnyObjectProvisioningManager
throw (RuntimeException) exchange.getProperty(Exchange.EXCEPTION_CAUGHT);
}
- return exchange.getIn().getBody(String.class);
+ return exchange.getIn().getBody(AnyObjectPatch.class).getKey();
}
@Override
@@ -150,7 +150,7 @@ public class CamelAnyObjectProvisioningManager
throw (RuntimeException) exchange.getProperty(Exchange.EXCEPTION_CAUGHT);
}
- return exchange.getIn().getBody(String.class);
+ return exchange.getIn().getBody(AnyObjectPatch.class).getKey();
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelGroupProvisioningManager.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelGroupProvisioningManager.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelGroupProvisioningManager.java
index 4f6620e..430a351 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelGroupProvisioningManager.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelGroupProvisioningManager.java
@@ -154,7 +154,7 @@ public class CamelGroupProvisioningManager
throw (RuntimeException) exchange.getProperty(Exchange.EXCEPTION_CAUGHT);
}
- return exchange.getIn().getBody(String.class);
+ return exchange.getIn().getBody(GroupPatch.class).getKey();
}
@Override
@@ -169,7 +169,7 @@ public class CamelGroupProvisioningManager
throw (RuntimeException) exchange.getProperty(Exchange.EXCEPTION_CAUGHT);
}
- return exchange.getIn().getBody(String.class);
+ return exchange.getIn().getBody(GroupPatch.class).getKey();
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelUserProvisioningManager.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelUserProvisioningManager.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelUserProvisioningManager.java
index f5c20f2..4118864 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelUserProvisioningManager.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelUserProvisioningManager.java
@@ -154,8 +154,7 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag
throw (RuntimeException) exchange.getProperty(Exchange.EXCEPTION_CAUGHT);
}
- exchange.getIn().setBody((exchange.getIn().getBody(UserPatch.class).getKey()));
- return exchange.getIn().getBody(String.class);
+ return exchange.getIn().getBody(UserPatch.class).getKey();
}
@Override
@@ -258,8 +257,7 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag
throw (RuntimeException) exchange.getProperty(Exchange.EXCEPTION_CAUGHT);
}
- exchange.getIn().setBody((exchange.getIn().getBody(UserPatch.class).getKey()));
- return exchange.getIn().getBody(String.class);
+ return exchange.getIn().getBody(UserPatch.class).getKey();
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/UpdateProducer.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/UpdateProducer.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/UpdateProducer.java
index 90fcb29..bbff7e2 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/UpdateProducer.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/UpdateProducer.java
@@ -63,11 +63,12 @@ public class UpdateProducer extends AbstractProducer {
exchange.getOut().setBody(Pair.of(
updated.getResult().getLeft(), propagationReporter.getStatuses()));
} else if (actual instanceof AnyPatch) {
- WorkflowResult<String> updated = (WorkflowResult<String>) exchange.getIn().getBody();
+ WorkflowResult<? extends AnyPatch> updated =
+ (WorkflowResult<? extends AnyPatch>) exchange.getIn().getBody();
List<PropagationTask> tasks = getPropagationManager().getUpdateTasks(
actual instanceof AnyObjectPatch ? AnyTypeKind.ANY_OBJECT : AnyTypeKind.GROUP,
- updated.getResult(),
+ updated.getResult().getKey(),
false,
null,
updated.getPropByRes(),
@@ -76,7 +77,7 @@ public class UpdateProducer extends AbstractProducer {
PropagationReporter propagationReporter =
getPropagationTaskExecutor().execute(tasks, nullPriorityAsync);
- exchange.getOut().setBody(Pair.of(actual, propagationReporter.getStatuses()));
+ exchange.getOut().setBody(Pair.of(updated.getResult(), propagationReporter.getStatuses()));
}
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e06b0f25/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
index a708cb2..b2cf3d9 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
@@ -566,7 +566,7 @@ public class UserIssuesITCase extends AbstractITCase {
}
@Test
- public void isseSYNCOPE136Random() {
+ public void issueSYNCOPE136Random() {
// 1. create user with no resources
UserTO userTO = UserITCase.getUniqueSampleTO("syncope136_Random@apache.org");
userTO.getResources().clear();
[2/2] syncope git commit: [syncope-1207] Further cleanup: now audit
and notifications contain the actual patch applied
Posted by il...@apache.org.
[syncope-1207] Further cleanup: now audit and notifications contain the actual patch applied
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/6da490da
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/6da490da
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/6da490da
Branch: refs/heads/master
Commit: 6da490da5887d1d82404915a48fe617574d5bad8
Parents: c4ba54c
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Fri Sep 15 14:00:31 2017 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Fri Sep 15 14:04:09 2017 +0200
----------------------------------------------------------------------
.../DefaultAnyObjectProvisioningManager.java | 10 +++----
.../java/DefaultGroupProvisioningManager.java | 11 ++++----
.../pushpull/AbstractPullResultHandler.java | 29 +++++++++++++-------
.../pushpull/AbstractSyncopeResultHandler.java | 2 +-
.../AnyObjectPullResultHandlerImpl.java | 2 +-
.../AnyObjectPushResultHandlerImpl.java | 2 +-
.../pushpull/GroupPullResultHandlerImpl.java | 2 +-
.../pushpull/GroupPushResultHandlerImpl.java | 2 +-
.../pushpull/UserPullResultHandlerImpl.java | 5 ++--
.../pushpull/UserPushResultHandlerImpl.java | 5 ++--
.../workflow/api/AnyObjectWorkflowAdapter.java | 2 +-
.../core/workflow/api/GroupWorkflowAdapter.java | 2 +-
.../flowable/FlowableUserWorkflowAdapter.java | 9 ++----
.../core/workflow/flowable/task/Update.java | 15 ++++++++++
.../java/AbstractAnyObjectWorkflowAdapter.java | 7 +++--
.../java/AbstractGroupWorkflowAdapter.java | 6 ++--
.../java/DefaultAnyObjectWorkflowAdapter.java | 15 ++++++++--
.../java/DefaultGroupWorkflowAdapter.java | 15 ++++++++--
.../java/DefaultUserWorkflowAdapter.java | 15 ++++++++--
.../CamelAnyObjectProvisioningManager.java | 4 +--
.../camel/CamelGroupProvisioningManager.java | 4 +--
.../camel/CamelUserProvisioningManager.java | 6 ++--
.../camel/producer/UpdateProducer.java | 7 +++--
.../syncope/fit/core/UserIssuesITCase.java | 2 +-
24 files changed, 113 insertions(+), 66 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultAnyObjectProvisioningManager.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultAnyObjectProvisioningManager.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultAnyObjectProvisioningManager.java
index ed4fc0a..e126281 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultAnyObjectProvisioningManager.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultAnyObjectProvisioningManager.java
@@ -98,11 +98,11 @@ public class DefaultAnyObjectProvisioningManager implements AnyObjectProvisionin
public Pair<AnyObjectPatch, List<PropagationStatus>> update(
final AnyObjectPatch anyObjectPatch, final Set<String> excludedResources, final boolean nullPriorityAsync) {
- WorkflowResult<String> updated = awfAdapter.update(anyObjectPatch);
+ WorkflowResult<AnyObjectPatch> updated = awfAdapter.update(anyObjectPatch);
List<PropagationTask> tasks = propagationManager.getUpdateTasks(
AnyTypeKind.ANY_OBJECT,
- updated.getResult(),
+ updated.getResult().getKey(),
false,
null,
updated.getPropByRes(),
@@ -110,7 +110,7 @@ public class DefaultAnyObjectProvisioningManager implements AnyObjectProvisionin
excludedResources);
PropagationReporter propagationReporter = taskExecutor.execute(tasks, nullPriorityAsync);
- return Pair.of(anyObjectPatch, propagationReporter.getStatuses());
+ return Pair.of(updated.getResult(), propagationReporter.getStatuses());
}
@Override
@@ -149,12 +149,12 @@ public class DefaultAnyObjectProvisioningManager implements AnyObjectProvisionin
@Override
public String unlink(final AnyObjectPatch anyObjectPatch) {
- return awfAdapter.update(anyObjectPatch).getResult();
+ return awfAdapter.update(anyObjectPatch).getResult().getKey();
}
@Override
public String link(final AnyObjectPatch anyObjectPatch) {
- return awfAdapter.update(anyObjectPatch).getResult();
+ return awfAdapter.update(anyObjectPatch).getResult().getKey();
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java
index 208cb00..7ff1156 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java
@@ -123,11 +123,11 @@ public class DefaultGroupProvisioningManager implements GroupProvisioningManager
public Pair<GroupPatch, List<PropagationStatus>> update(
final GroupPatch groupPatch, final Set<String> excludedResources, final boolean nullPriorityAsync) {
- WorkflowResult<String> updated = gwfAdapter.update(groupPatch);
+ WorkflowResult<GroupPatch> updated = gwfAdapter.update(groupPatch);
List<PropagationTask> tasks = propagationManager.getUpdateTasks(
AnyTypeKind.GROUP,
- updated.getResult(),
+ updated.getResult().getKey(),
false,
null,
updated.getPropByRes(),
@@ -135,7 +135,7 @@ public class DefaultGroupProvisioningManager implements GroupProvisioningManager
excludedResources);
PropagationReporter propagationReporter = taskExecutor.execute(tasks, nullPriorityAsync);
- return Pair.of(groupPatch, propagationReporter.getStatuses());
+ return Pair.of(updated.getResult(), propagationReporter.getStatuses());
}
@Override
@@ -185,8 +185,7 @@ public class DefaultGroupProvisioningManager implements GroupProvisioningManager
@Override
public String unlink(final GroupPatch groupPatch) {
- WorkflowResult<String> updated = gwfAdapter.update(groupPatch);
- return updated.getResult();
+ return gwfAdapter.update(groupPatch).getResult().getKey();
}
@Override
@@ -230,7 +229,7 @@ public class DefaultGroupProvisioningManager implements GroupProvisioningManager
@Override
public String link(final GroupPatch groupPatch) {
- return gwfAdapter.update(groupPatch).getResult();
+ return gwfAdapter.update(groupPatch).getResult().getKey();
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractPullResultHandler.java
----------------------------------------------------------------------
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 c31f094..b6fe9ac 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
@@ -328,6 +328,7 @@ public abstract class AbstractPullResultHandler extends AbstractSyncopeResultHan
if (!profile.isDryRun()) {
Result resultStatus;
Object output;
+ AnyPatch effectivePatch = null;
if (before == null) {
resultStatus = Result.FAILURE;
@@ -346,7 +347,8 @@ public abstract class AbstractPullResultHandler extends AbstractSyncopeResultHan
workingDelta = action.beforeUpdate(profile, workingDelta, before, anyPatch);
}
- AnyTO updated = AnyOperations.patch(before, doUpdate(before, anyPatch, workingDelta, result));
+ effectivePatch = doUpdate(before, anyPatch, workingDelta, result);
+ AnyTO updated = AnyOperations.patch(before, effectivePatch);
for (PullActions action : profile.getActions()) {
action.after(profile, workingDelta, updated, result);
@@ -375,7 +377,8 @@ public abstract class AbstractPullResultHandler extends AbstractSyncopeResultHan
resultStatus = Result.FAILURE;
}
}
- finalize(MatchingRule.toEventName(MatchingRule.UPDATE), resultStatus, before, output, workingDelta);
+ finalize(MatchingRule.toEventName(MatchingRule.UPDATE),
+ resultStatus, before, output, workingDelta, effectivePatch);
}
results.add(result);
}
@@ -531,8 +534,9 @@ public abstract class AbstractPullResultHandler extends AbstractSyncopeResultHan
}
if (!profile.isDryRun()) {
- Object output;
Result resultStatus;
+ Object output;
+ AnyPatch effectivePatch = null;
if (before == null) {
resultStatus = Result.FAILURE;
@@ -551,12 +555,13 @@ public abstract class AbstractPullResultHandler extends AbstractSyncopeResultHan
}
}
- AnyPatch patch = newPatch(before.getKey());
- patch.getResources().add(new StringPatchItem.Builder().
+ AnyPatch anyPatch = newPatch(before.getKey());
+ anyPatch.getResources().add(new StringPatchItem.Builder().
operation(unlink ? PatchOperation.DELETE : PatchOperation.ADD_REPLACE).
value(profile.getTask().getResource().getKey()).build());
- output = getAnyTO(update(patch).getResult());
+ effectivePatch = update(anyPatch).getResult();
+ output = AnyOperations.patch(before, effectivePatch);
for (PullActions action : profile.getActions()) {
action.after(profile, delta, AnyTO.class.cast(output), result);
@@ -585,7 +590,8 @@ public abstract class AbstractPullResultHandler extends AbstractSyncopeResultHan
}
finalize(unlink
? MatchingRule.toEventName(MatchingRule.UNLINK)
- : MatchingRule.toEventName(MatchingRule.LINK), resultStatus, before, output, delta);
+ : MatchingRule.toEventName(MatchingRule.LINK),
+ resultStatus, before, output, delta, effectivePatch);
}
results.add(result);
}
@@ -813,7 +819,8 @@ public abstract class AbstractPullResultHandler extends AbstractSyncopeResultHan
final Result result,
final Object before,
final Object output,
- final SyncDelta delta) {
+ final SyncDelta delta,
+ final Object... furtherInput) {
synchronized (this) {
this.latestResult = result;
@@ -826,7 +833,8 @@ public abstract class AbstractPullResultHandler extends AbstractSyncopeResultHan
result,
before,
output,
- delta);
+ delta,
+ furtherInput);
auditManager.audit(AuditElements.EventCategoryType.PULL,
getAnyUtils().getAnyTypeKind().name().toLowerCase(),
@@ -835,6 +843,7 @@ public abstract class AbstractPullResultHandler extends AbstractSyncopeResultHan
result,
before,
output,
- delta);
+ delta,
+ furtherInput);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractSyncopeResultHandler.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractSyncopeResultHandler.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractSyncopeResultHandler.java
index 61e37e1..76bfe3e 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractSyncopeResultHandler.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractSyncopeResultHandler.java
@@ -108,7 +108,7 @@ public abstract class AbstractSyncopeResultHandler<T extends ProvisioningTask, A
protected abstract AnyPatch newPatch(String key);
- protected abstract WorkflowResult<String> update(AnyPatch patch);
+ protected abstract WorkflowResult<? extends AnyPatch> update(AnyPatch patch);
@Override
public void setProfile(final ProvisioningProfile<T, A> profile) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AnyObjectPullResultHandlerImpl.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AnyObjectPullResultHandlerImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AnyObjectPullResultHandlerImpl.java
index 6a6c93d..3e652ee 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AnyObjectPullResultHandlerImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AnyObjectPullResultHandlerImpl.java
@@ -81,7 +81,7 @@ public class AnyObjectPullResultHandlerImpl extends AbstractPullResultHandler im
}
@Override
- protected WorkflowResult<String> update(final AnyPatch patch) {
+ protected WorkflowResult<? extends AnyPatch> update(final AnyPatch patch) {
return awfAdapter.update((AnyObjectPatch) patch);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AnyObjectPushResultHandlerImpl.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AnyObjectPushResultHandlerImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AnyObjectPushResultHandlerImpl.java
index b4c3c74..48f464a 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AnyObjectPushResultHandlerImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AnyObjectPushResultHandlerImpl.java
@@ -63,7 +63,7 @@ public class AnyObjectPushResultHandlerImpl extends AbstractPushResultHandler im
}
@Override
- protected WorkflowResult<String> update(final AnyPatch patch) {
+ protected WorkflowResult<? extends AnyObjectPatch> update(final AnyPatch patch) {
return awfAdapter.update((AnyObjectPatch) patch);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/GroupPullResultHandlerImpl.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/GroupPullResultHandlerImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/GroupPullResultHandlerImpl.java
index b008efa..3e2b5bd 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/GroupPullResultHandlerImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/GroupPullResultHandlerImpl.java
@@ -91,7 +91,7 @@ public class GroupPullResultHandlerImpl extends AbstractPullResultHandler implem
}
@Override
- protected WorkflowResult<String> update(final AnyPatch patch) {
+ protected WorkflowResult<? extends AnyPatch> update(final AnyPatch patch) {
return gwfAdapter.update((GroupPatch) patch);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/GroupPushResultHandlerImpl.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/GroupPushResultHandlerImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/GroupPushResultHandlerImpl.java
index 74b40ad..01a112d 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/GroupPushResultHandlerImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/GroupPushResultHandlerImpl.java
@@ -63,7 +63,7 @@ public class GroupPushResultHandlerImpl extends AbstractPushResultHandler implem
}
@Override
- protected WorkflowResult<String> update(final AnyPatch patch) {
+ protected WorkflowResult<? extends AnyPatch> update(final AnyPatch patch) {
return gwfAdapter.update((GroupPatch) patch);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/UserPullResultHandlerImpl.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/UserPullResultHandlerImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/UserPullResultHandlerImpl.java
index 349f863..fa299a0 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/UserPullResultHandlerImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/UserPullResultHandlerImpl.java
@@ -81,10 +81,9 @@ public class UserPullResultHandlerImpl extends AbstractPullResultHandler impleme
}
@Override
- protected WorkflowResult<String> update(final AnyPatch patch) {
+ protected WorkflowResult<? extends AnyPatch> update(final AnyPatch patch) {
WorkflowResult<Pair<UserPatch, Boolean>> update = uwfAdapter.update((UserPatch) patch);
- return new WorkflowResult<>(
- update.getResult().getLeft().getKey(), update.getPropByRes(), update.getPerformedTasks());
+ return new WorkflowResult<>(update.getResult().getLeft(), update.getPropByRes(), update.getPerformedTasks());
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/UserPushResultHandlerImpl.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/UserPushResultHandlerImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/UserPushResultHandlerImpl.java
index 60dd98b..b89850f 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/UserPushResultHandlerImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/UserPushResultHandlerImpl.java
@@ -91,10 +91,9 @@ public class UserPushResultHandlerImpl extends AbstractPushResultHandler impleme
}
@Override
- protected WorkflowResult<String> update(final AnyPatch patch) {
+ protected WorkflowResult<? extends AnyPatch> update(final AnyPatch patch) {
WorkflowResult<Pair<UserPatch, Boolean>> update = uwfAdapter.update((UserPatch) patch);
- return new WorkflowResult<>(
- update.getResult().getLeft().getKey(), update.getPropByRes(), update.getPerformedTasks());
+ return new WorkflowResult<>(update.getResult().getLeft(), update.getPropByRes(), update.getPerformedTasks());
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/AnyObjectWorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/AnyObjectWorkflowAdapter.java b/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/AnyObjectWorkflowAdapter.java
index 22dac48..3a9f21f 100644
--- a/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/AnyObjectWorkflowAdapter.java
+++ b/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/AnyObjectWorkflowAdapter.java
@@ -50,7 +50,7 @@ public interface AnyObjectWorkflowAdapter extends WorkflowAdapter {
* @param anyObjectPatch modification set to be performed
* @return anyObject just updated and propagations to be performed
*/
- WorkflowResult<String> update(AnyObjectPatch anyObjectPatch);
+ WorkflowResult<AnyObjectPatch> update(AnyObjectPatch anyObjectPatch);
/**
* Delete a anyObject.
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/GroupWorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/GroupWorkflowAdapter.java b/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/GroupWorkflowAdapter.java
index df0740b..72595f6 100644
--- a/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/GroupWorkflowAdapter.java
+++ b/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/GroupWorkflowAdapter.java
@@ -50,7 +50,7 @@ public interface GroupWorkflowAdapter extends WorkflowAdapter {
* @param groupPatch modification set to be performed
* @return group just updated and propagations to be performed
*/
- WorkflowResult<String> update(GroupPatch groupPatch);
+ WorkflowResult<GroupPatch> update(GroupPatch groupPatch);
/**
* Delete a group.
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/core/workflow-flowable/src/main/java/org/apache/syncope/core/workflow/flowable/FlowableUserWorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/core/workflow-flowable/src/main/java/org/apache/syncope/core/workflow/flowable/FlowableUserWorkflowAdapter.java b/core/workflow-flowable/src/main/java/org/apache/syncope/core/workflow/flowable/FlowableUserWorkflowAdapter.java
index 44cd847..2862380 100644
--- a/core/workflow-flowable/src/main/java/org/apache/syncope/core/workflow/flowable/FlowableUserWorkflowAdapter.java
+++ b/core/workflow-flowable/src/main/java/org/apache/syncope/core/workflow/flowable/FlowableUserWorkflowAdapter.java
@@ -278,8 +278,7 @@ public class FlowableUserWorkflowAdapter extends AbstractUserWorkflowAdapter {
Set<String> tasks = getPerformedTasks(user);
- return new WorkflowResult<>(
- Pair.of(user.getKey(), propagateEnable), propByRes, tasks);
+ return new WorkflowResult<>(Pair.of(user.getKey(), propagateEnable), propByRes, tasks);
}
protected Set<String> doExecuteTask(final User user, final String task, final Map<String, Object> moreVariables) {
@@ -348,8 +347,7 @@ public class FlowableUserWorkflowAdapter extends AbstractUserWorkflowAdapter {
Boolean propagateEnable = engine.getRuntimeService().getVariable(
user.getWorkflowId(), PROPAGATE_ENABLE, Boolean.class);
- return new WorkflowResult<>(
- Pair.of(updatedPatch, propagateEnable), propByRes, tasks);
+ return new WorkflowResult<>(Pair.of(updatedPatch, propagateEnable), propByRes, tasks);
}
@Override
@@ -418,8 +416,7 @@ public class FlowableUserWorkflowAdapter extends AbstractUserWorkflowAdapter {
Boolean propagateEnable = engine.getRuntimeService().getVariable(
user.getWorkflowId(), PROPAGATE_ENABLE, Boolean.class);
- return new WorkflowResult<>(
- Pair.of(updatedPatch, propagateEnable), propByRes, tasks);
+ return new WorkflowResult<>(Pair.of(updatedPatch, propagateEnable), propByRes, tasks);
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/core/workflow-flowable/src/main/java/org/apache/syncope/core/workflow/flowable/task/Update.java
----------------------------------------------------------------------
diff --git a/core/workflow-flowable/src/main/java/org/apache/syncope/core/workflow/flowable/task/Update.java b/core/workflow-flowable/src/main/java/org/apache/syncope/core/workflow/flowable/task/Update.java
index 7f5d9d2..7f1c114 100644
--- a/core/workflow-flowable/src/main/java/org/apache/syncope/core/workflow/flowable/task/Update.java
+++ b/core/workflow-flowable/src/main/java/org/apache/syncope/core/workflow/flowable/task/Update.java
@@ -18,7 +18,12 @@
*/
package org.apache.syncope.core.workflow.flowable.task;
+import java.util.Set;
+import org.apache.syncope.common.lib.AnyOperations;
+import org.apache.syncope.common.lib.patch.PasswordPatch;
import org.apache.syncope.common.lib.patch.UserPatch;
+import org.apache.syncope.common.lib.to.AttrTO;
+import org.apache.syncope.common.lib.to.UserTO;
import org.apache.syncope.core.provisioning.api.PropagationByResource;
import org.apache.syncope.core.persistence.api.entity.user.User;
import org.apache.syncope.core.provisioning.api.data.UserDataBinder;
@@ -39,7 +44,17 @@ public class Update extends AbstractFlowableServiceTask {
UserPatch userPatch = engine.getRuntimeService().
getVariable(executionId, FlowableUserWorkflowAdapter.USER_PATCH, UserPatch.class);
+ UserTO original = dataBinder.getUserTO(user, true);
+
PropagationByResource propByRes = dataBinder.update(user, userPatch);
+ PasswordPatch password = userPatch.getPassword();
+ Set<AttrTO> virAttrs = userPatch.getVirAttrs();
+
+ UserTO updated = dataBinder.getUserTO(user.getKey());
+ userPatch = AnyOperations.diff(updated, original, false);
+ userPatch.setPassword(password);
+ userPatch.getVirAttrs().clear();
+ userPatch.getVirAttrs().addAll(virAttrs);
// report updated user and propagation by resource as result
engine.getRuntimeService().setVariable(executionId, FlowableUserWorkflowAdapter.USER, user);
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractAnyObjectWorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractAnyObjectWorkflowAdapter.java b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractAnyObjectWorkflowAdapter.java
index dcc2e82..f502fb3 100644
--- a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractAnyObjectWorkflowAdapter.java
+++ b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractAnyObjectWorkflowAdapter.java
@@ -56,11 +56,12 @@ public abstract class AbstractAnyObjectWorkflowAdapter
return doCreate(anyObjectTO);
}
- protected abstract WorkflowResult<String> doUpdate(AnyObject anyObject, AnyObjectPatch anyObjectPatch);
+ protected abstract WorkflowResult<AnyObjectPatch> doUpdate(AnyObject anyObject, AnyObjectPatch anyObjectPatch);
@Override
- public WorkflowResult<String> update(final AnyObjectPatch anyObjectPatch) {
- WorkflowResult<String> result = doUpdate(anyObjectDAO.authFind(anyObjectPatch.getKey()), anyObjectPatch);
+ public WorkflowResult<AnyObjectPatch> update(final AnyObjectPatch anyObjectPatch) {
+ WorkflowResult<AnyObjectPatch> result =
+ doUpdate(anyObjectDAO.authFind(anyObjectPatch.getKey()), anyObjectPatch);
// re-read to ensure that requester's administration rights are still valid
anyObjectDAO.authFind(anyObjectPatch.getKey());
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractGroupWorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractGroupWorkflowAdapter.java b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractGroupWorkflowAdapter.java
index 3f5394b..153fb8a 100644
--- a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractGroupWorkflowAdapter.java
+++ b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractGroupWorkflowAdapter.java
@@ -55,11 +55,11 @@ public abstract class AbstractGroupWorkflowAdapter implements GroupWorkflowAdapt
return doCreate(groupTO);
}
- protected abstract WorkflowResult<String> doUpdate(Group group, GroupPatch groupPatch);
+ protected abstract WorkflowResult<GroupPatch> doUpdate(Group group, GroupPatch groupPatch);
@Override
- public WorkflowResult<String> update(final GroupPatch groupPatch) {
- WorkflowResult<String> result = doUpdate(groupDAO.authFind(groupPatch.getKey()), groupPatch);
+ public WorkflowResult<GroupPatch> update(final GroupPatch groupPatch) {
+ WorkflowResult<GroupPatch> result = doUpdate(groupDAO.authFind(groupPatch.getKey()), groupPatch);
// re-read to ensure that requester's administration rights are still valid
groupDAO.authFind(groupPatch.getKey());
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultAnyObjectWorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultAnyObjectWorkflowAdapter.java b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultAnyObjectWorkflowAdapter.java
index ada196f..8899b06 100644
--- a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultAnyObjectWorkflowAdapter.java
+++ b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultAnyObjectWorkflowAdapter.java
@@ -21,8 +21,11 @@ package org.apache.syncope.core.workflow.java;
import java.io.OutputStream;
import java.util.Collections;
import java.util.List;
+import java.util.Set;
+import org.apache.syncope.common.lib.AnyOperations;
import org.apache.syncope.common.lib.patch.AnyObjectPatch;
import org.apache.syncope.common.lib.to.AnyObjectTO;
+import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.WorkflowDefinitionTO;
import org.apache.syncope.common.lib.to.WorkflowFormTO;
import org.apache.syncope.core.provisioning.api.PropagationByResource;
@@ -50,12 +53,18 @@ public class DefaultAnyObjectWorkflowAdapter extends AbstractAnyObjectWorkflowAd
}
@Override
- protected WorkflowResult<String> doUpdate(final AnyObject anyObject, final AnyObjectPatch anyObjectPatch) {
+ protected WorkflowResult<AnyObjectPatch> doUpdate(final AnyObject anyObject, final AnyObjectPatch anyObjectPatch) {
+ AnyObjectTO original = dataBinder.getAnyObjectTO(anyObject, true);
+
PropagationByResource propByRes = dataBinder.update(anyObject, anyObjectPatch);
+ Set<AttrTO> virAttrs = anyObjectPatch.getVirAttrs();
- AnyObject updated = anyObjectDAO.save(anyObject);
+ AnyObjectTO updated = dataBinder.getAnyObjectTO(anyObjectDAO.save(anyObject), true);
+ AnyObjectPatch effectivePatch = AnyOperations.diff(updated, original, false);
+ effectivePatch.getVirAttrs().clear();
+ effectivePatch.getVirAttrs().addAll(virAttrs);
- return new WorkflowResult<>(updated.getKey(), propByRes, "update");
+ return new WorkflowResult<>(effectivePatch, propByRes, "update");
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultGroupWorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultGroupWorkflowAdapter.java b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultGroupWorkflowAdapter.java
index 7ebbf3d..b61bbf3 100644
--- a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultGroupWorkflowAdapter.java
+++ b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultGroupWorkflowAdapter.java
@@ -21,7 +21,10 @@ package org.apache.syncope.core.workflow.java;
import java.io.OutputStream;
import java.util.Collections;
import java.util.List;
+import java.util.Set;
+import org.apache.syncope.common.lib.AnyOperations;
import org.apache.syncope.common.lib.patch.GroupPatch;
+import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.GroupTO;
import org.apache.syncope.common.lib.to.WorkflowDefinitionTO;
import org.apache.syncope.common.lib.to.WorkflowFormTO;
@@ -50,12 +53,18 @@ public class DefaultGroupWorkflowAdapter extends AbstractGroupWorkflowAdapter {
}
@Override
- protected WorkflowResult<String> doUpdate(final Group group, final GroupPatch groupPatch) {
+ protected WorkflowResult<GroupPatch> doUpdate(final Group group, final GroupPatch groupPatch) {
+ GroupTO original = dataBinder.getGroupTO(group, true);
+
PropagationByResource propByRes = dataBinder.update(group, groupPatch);
+ Set<AttrTO> virAttrs = groupPatch.getVirAttrs();
- Group updated = groupDAO.save(group);
+ GroupTO updated = dataBinder.getGroupTO(groupDAO.save(group), true);
+ GroupPatch effectivePatch = AnyOperations.diff(updated, original, false);
+ effectivePatch.getVirAttrs().clear();
+ effectivePatch.getVirAttrs().addAll(virAttrs);
- return new WorkflowResult<>(updated.getKey(), propByRes, "update");
+ return new WorkflowResult<>(effectivePatch, propByRes, "update");
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultUserWorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultUserWorkflowAdapter.java b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultUserWorkflowAdapter.java
index 97c338a..6365c33 100644
--- a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultUserWorkflowAdapter.java
+++ b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultUserWorkflowAdapter.java
@@ -21,9 +21,12 @@ package org.apache.syncope.core.workflow.java;
import java.io.OutputStream;
import java.util.Collections;
import java.util.List;
+import java.util.Set;
import org.apache.commons.lang3.tuple.Pair;
+import org.apache.syncope.common.lib.AnyOperations;
import org.apache.syncope.common.lib.patch.PasswordPatch;
import org.apache.syncope.common.lib.patch.UserPatch;
+import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.UserTO;
import org.apache.syncope.common.lib.to.WorkflowDefinitionTO;
import org.apache.syncope.common.lib.to.WorkflowFormTO;
@@ -96,11 +99,19 @@ public class DefaultUserWorkflowAdapter extends AbstractUserWorkflowAdapter {
@Override
protected WorkflowResult<Pair<UserPatch, Boolean>> doUpdate(final User user, final UserPatch userPatch) {
+ UserTO original = dataBinder.getUserTO(user, true);
+
PropagationByResource propByRes = dataBinder.update(user, userPatch);
+ PasswordPatch password = userPatch.getPassword();
+ Set<AttrTO> virAttrs = userPatch.getVirAttrs();
- userDAO.save(user);
+ UserTO updated = dataBinder.getUserTO(userDAO.save(user), true);
+ UserPatch effectivePatch = AnyOperations.diff(updated, original, false);
+ effectivePatch.setPassword(password);
+ effectivePatch.getVirAttrs().clear();
+ effectivePatch.getVirAttrs().addAll(virAttrs);
- return new WorkflowResult<>(Pair.of(userPatch, !user.isSuspended()), propByRes, "update");
+ return new WorkflowResult<>(Pair.of(effectivePatch, !user.isSuspended()), propByRes, "update");
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelAnyObjectProvisioningManager.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelAnyObjectProvisioningManager.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelAnyObjectProvisioningManager.java
index d89e4d2..8d1c24b 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelAnyObjectProvisioningManager.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelAnyObjectProvisioningManager.java
@@ -135,7 +135,7 @@ public class CamelAnyObjectProvisioningManager
throw (RuntimeException) exchange.getProperty(Exchange.EXCEPTION_CAUGHT);
}
- return exchange.getIn().getBody(String.class);
+ return exchange.getIn().getBody(AnyObjectPatch.class).getKey();
}
@Override
@@ -150,7 +150,7 @@ public class CamelAnyObjectProvisioningManager
throw (RuntimeException) exchange.getProperty(Exchange.EXCEPTION_CAUGHT);
}
- return exchange.getIn().getBody(String.class);
+ return exchange.getIn().getBody(AnyObjectPatch.class).getKey();
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelGroupProvisioningManager.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelGroupProvisioningManager.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelGroupProvisioningManager.java
index 4f6620e..430a351 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelGroupProvisioningManager.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelGroupProvisioningManager.java
@@ -154,7 +154,7 @@ public class CamelGroupProvisioningManager
throw (RuntimeException) exchange.getProperty(Exchange.EXCEPTION_CAUGHT);
}
- return exchange.getIn().getBody(String.class);
+ return exchange.getIn().getBody(GroupPatch.class).getKey();
}
@Override
@@ -169,7 +169,7 @@ public class CamelGroupProvisioningManager
throw (RuntimeException) exchange.getProperty(Exchange.EXCEPTION_CAUGHT);
}
- return exchange.getIn().getBody(String.class);
+ return exchange.getIn().getBody(GroupPatch.class).getKey();
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelUserProvisioningManager.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelUserProvisioningManager.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelUserProvisioningManager.java
index 7f721a5..b6ebe66 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelUserProvisioningManager.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelUserProvisioningManager.java
@@ -154,8 +154,7 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag
throw (RuntimeException) exchange.getProperty(Exchange.EXCEPTION_CAUGHT);
}
- exchange.getIn().setBody((exchange.getIn().getBody(UserPatch.class).getKey()));
- return exchange.getIn().getBody(String.class);
+ return exchange.getIn().getBody(UserPatch.class).getKey();
}
@Override
@@ -258,8 +257,7 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag
throw (RuntimeException) exchange.getProperty(Exchange.EXCEPTION_CAUGHT);
}
- exchange.getIn().setBody((exchange.getIn().getBody(UserPatch.class).getKey()));
- return exchange.getIn().getBody(String.class);
+ return exchange.getIn().getBody(UserPatch.class).getKey();
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/UpdateProducer.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/UpdateProducer.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/UpdateProducer.java
index 90fcb29..bbff7e2 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/UpdateProducer.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/UpdateProducer.java
@@ -63,11 +63,12 @@ public class UpdateProducer extends AbstractProducer {
exchange.getOut().setBody(Pair.of(
updated.getResult().getLeft(), propagationReporter.getStatuses()));
} else if (actual instanceof AnyPatch) {
- WorkflowResult<String> updated = (WorkflowResult<String>) exchange.getIn().getBody();
+ WorkflowResult<? extends AnyPatch> updated =
+ (WorkflowResult<? extends AnyPatch>) exchange.getIn().getBody();
List<PropagationTask> tasks = getPropagationManager().getUpdateTasks(
actual instanceof AnyObjectPatch ? AnyTypeKind.ANY_OBJECT : AnyTypeKind.GROUP,
- updated.getResult(),
+ updated.getResult().getKey(),
false,
null,
updated.getPropByRes(),
@@ -76,7 +77,7 @@ public class UpdateProducer extends AbstractProducer {
PropagationReporter propagationReporter =
getPropagationTaskExecutor().execute(tasks, nullPriorityAsync);
- exchange.getOut().setBody(Pair.of(actual, propagationReporter.getStatuses()));
+ exchange.getOut().setBody(Pair.of(updated.getResult(), propagationReporter.getStatuses()));
}
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/6da490da/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
index a21bfa5..ca81a1d 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
@@ -565,7 +565,7 @@ public class UserIssuesITCase extends AbstractITCase {
}
@Test
- public void isseSYNCOPE136Random() {
+ public void issueSYNCOPE136Random() {
// 1. create user with no resources
UserTO userTO = UserITCase.getUniqueSampleTO("syncope136_Random@apache.org");
userTO.getResources().clear();