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 2014/06/17 16:20:21 UTC
svn commit: r1603184 -
/syncope/trunk/core/src/main/java/org/apache/syncope/core/propagation/impl/DBPasswordPropagationActions.java
Author: ilgrosso
Date: Tue Jun 17 14:20:20 2014
New Revision: 1603184
URL: http://svn.apache.org/r1603184
Log:
[SYNCOPE-505] Using known constants
Modified:
syncope/trunk/core/src/main/java/org/apache/syncope/core/propagation/impl/DBPasswordPropagationActions.java
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/propagation/impl/DBPasswordPropagationActions.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/propagation/impl/DBPasswordPropagationActions.java?rev=1603184&r1=1603183&r2=1603184&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/propagation/impl/DBPasswordPropagationActions.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/propagation/impl/DBPasswordPropagationActions.java Tue Jun 17 14:20:20 2014
@@ -18,9 +18,7 @@
*/
package org.apache.syncope.core.propagation.impl;
-import java.util.ArrayList;
import java.util.HashSet;
-import java.util.List;
import java.util.Set;
import org.apache.syncope.common.types.AttributableType;
@@ -28,11 +26,13 @@ import org.apache.syncope.core.persisten
import org.apache.syncope.core.persistence.beans.user.SyncopeUser;
import org.apache.syncope.core.persistence.dao.UserDAO;
import org.apache.syncope.core.propagation.DefaultPropagationActions;
+import org.apache.syncope.core.propagation.PropagationTaskExecutor;
import org.identityconnectors.common.security.GuardedString;
import org.identityconnectors.framework.common.objects.Attribute;
import org.identityconnectors.framework.common.objects.AttributeBuilder;
import org.identityconnectors.framework.common.objects.AttributeUtil;
import org.identityconnectors.framework.common.objects.ConnectorObject;
+import org.identityconnectors.framework.common.objects.OperationalAttributes;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -44,34 +44,33 @@ import org.springframework.transaction.a
*/
public class DBPasswordPropagationActions extends DefaultPropagationActions {
- protected static final Logger LOG = LoggerFactory.getLogger(DBPasswordPropagationActions.class);
+ private static final Logger LOG = LoggerFactory.getLogger(DBPasswordPropagationActions.class);
@Autowired
- protected UserDAO userDAO;
+ private UserDAO userDAO;
- @Transactional(readOnly = true)
+ @Transactional
@Override
public void before(final PropagationTask task, final ConnectorObject beforeObj) {
super.before(task, beforeObj);
if (AttributableType.USER == task.getSubjectType()) {
SyncopeUser user = userDAO.find(task.getSubjectId());
-
if (user != null && user.getPassword() != null) {
- Attribute missing = AttributeUtil.find("__MANDATORY_MISSING__", task.getAttributes());
+ Attribute missing = AttributeUtil.find(
+ AttributeUtil.createSpecialName(PropagationTaskExecutor.MANDATORY_MISSING_ATTR_NAME),
+ task.getAttributes());
if (missing != null && missing.getValue() != null && missing.getValue().size() == 1
- && missing.getValue().get(0).equals("__PASSWORD__")) {
- List<Object> values = new ArrayList<Object>(1);
- values.add(new GuardedString(user.getPassword().toCharArray()));
-
- Attribute passwordAttribute = AttributeBuilder.build("__PASSWORD__", values);
-
+ && missing.getValue().get(0).equals(OperationalAttributes.PASSWORD_NAME)) {
+
+ Attribute passwordAttribute = AttributeBuilder.buildPassword(
+ new GuardedString(user.getPassword().toCharArray()));
+
Set<Attribute> attributes = new HashSet<Attribute>(task.getAttributes());
attributes.add(passwordAttribute);
attributes.remove(missing);
task.setAttributes(attributes);
}
-
}
}
}