You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by md...@apache.org on 2015/08/28 17:26:36 UTC

[6/9] syncope git commit: [SYNCOPE-686] Fix was not working with DefaultUserWorkflowAdapter

[SYNCOPE-686] Fix was not working with DefaultUserWorkflowAdapter


Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/8338f8fa
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/8338f8fa
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/8338f8fa

Branch: refs/heads/SYNCOPE-156
Commit: 8338f8fa4586f9f87368772ab060c39cd18352df
Parents: 02d4888
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Fri Aug 28 13:00:35 2015 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Fri Aug 28 13:00:35 2015 +0200

----------------------------------------------------------------------
 .../workflow/java/DefaultUserWorkflowAdapter.java    | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/8338f8fa/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 3d56daf..ef40bd5 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
@@ -107,18 +107,19 @@ public class DefaultUserWorkflowAdapter extends AbstractUserWorkflowAdapter {
     @Override
     protected WorkflowResult<Pair<UserMod, Boolean>> doUpdate(final User user, final UserMod userMod) {
         // update password internally only if required
-        UserMod actualMod = SerializationUtils.clone(userMod);
-        if (actualMod.getPwdPropRequest() != null && !actualMod.getPwdPropRequest().isOnSyncope()) {
-            actualMod.setPassword(null);
+        UserMod updatedMod = SerializationUtils.clone(userMod);
+        String updatedPwd = updatedMod.getPassword();
+        if (updatedMod.getPwdPropRequest() != null && !updatedMod.getPwdPropRequest().isOnSyncope()) {
+            updatedMod.setPassword(null);
         }
         // update User
-        PropagationByResource propByRes = dataBinder.update(user, actualMod);
+        PropagationByResource propByRes = dataBinder.update(user, updatedMod);
+        updatedMod.setPassword(updatedPwd);
 
-        User updated = userDAO.save(user);
+        userDAO.save(user);
 
-        userMod.setKey(updated.getKey());
         return new WorkflowResult<Pair<UserMod, Boolean>>(
-                new ImmutablePair<>(userMod, !user.isSuspended()), propByRes, "update");
+                new ImmutablePair<>(updatedMod, !user.isSuspended()), propByRes, "update");
     }
 
     @Override