You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ka...@apache.org on 2015/09/18 19:06:39 UTC

svn commit: r1703906 - /directory/sandbox/kayyagari/passwd-reset/src/main/java/org/apache/directory/PasswordResetter.java

Author: kayyagari
Date: Fri Sep 18 17:06:39 2015
New Revision: 1703906

URL: http://svn.apache.org/viewvc?rev=1703906&view=rev
Log:
removed ppolicy attributes

Modified:
    directory/sandbox/kayyagari/passwd-reset/src/main/java/org/apache/directory/PasswordResetter.java

Modified: directory/sandbox/kayyagari/passwd-reset/src/main/java/org/apache/directory/PasswordResetter.java
URL: http://svn.apache.org/viewvc/directory/sandbox/kayyagari/passwd-reset/src/main/java/org/apache/directory/PasswordResetter.java?rev=1703906&r1=1703905&r2=1703906&view=diff
==============================================================================
--- directory/sandbox/kayyagari/passwd-reset/src/main/java/org/apache/directory/PasswordResetter.java (original)
+++ directory/sandbox/kayyagari/passwd-reset/src/main/java/org/apache/directory/PasswordResetter.java Fri Sep 18 17:06:39 2015
@@ -13,6 +13,10 @@
  */
 package org.apache.directory;
 
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
 import org.apache.directory.api.ldap.model.constants.SchemaConstants;
 import org.apache.directory.api.ldap.model.entry.Attribute;
 import org.apache.directory.api.ldap.model.entry.DefaultAttribute;
@@ -62,19 +66,33 @@ public class PasswordResetter {
 
         try {
             Dn dn = new Dn(ds.getSchemaManager(), userDn);
-            Entry entry = session.lookup(dn, SchemaConstants.ALL_USER_ATTRIBUTES);
+            Entry entry = session.lookup(dn, SchemaConstants.ALL_ATTRIBUTES_ARRAY);
             if(entry == null) {
                 System.out.println( "No such user exists" );
             }
             else {
+                System.out.println( "Modifying entry:\n" + entry );
                 AttributeType atTpe = ds.getSchemaManager().lookupAttributeTypeRegistry(SchemaConstants.USER_PASSWORD_AT);
                 Attribute pwdAt = new DefaultAttribute(atTpe);
                 pwdAt.add(Strings.getBytesUtf8(password));
                 
-                Modification mod = new DefaultModification(ModificationOperation.REPLACE_ATTRIBUTE, pwdAt);
                 
-                session.modify(dn, mod);
                 
+                List<Modification> mods = new ArrayList<Modification>();
+                Iterator<Attribute> itr = entry.iterator();
+                while(itr.hasNext()) {
+                    Attribute at = itr.next();
+                    String name = at.getUpId();
+                    if(name.startsWith("pwd")) {
+                        System.out.println( "removing attribute " +  name);
+                        Modification m = new DefaultModification(ModificationOperation.REMOVE_ATTRIBUTE, at);
+                        mods.add(m);
+                    }
+                }
+                
+                Modification mod = new DefaultModification(ModificationOperation.REPLACE_ATTRIBUTE, pwdAt);
+                mods.add(mod);
+                session.modify(dn, mods);
                 System.out.println("Successfully modified password");
             }
         }