]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.security.core/src/org/argeo/util/naming/LdifWriter.java
Improve and simplify OSGi Boot
[lgpl/argeo-commons.git] / org.argeo.security.core / src / org / argeo / util / naming / LdifWriter.java
index 76586c3b3efa980cc2cbeb7d93ffa3f9996057dc..37d90b4e442946056e005a8ea054bf5a06bd5b84 100644 (file)
@@ -6,6 +6,8 @@ import java.io.IOException;
 import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import java.io.Writer;
+import java.util.Base64;
+import java.util.Map;
 
 import javax.naming.NamingEnumeration;
 import javax.naming.NamingException;
@@ -14,7 +16,6 @@ import javax.naming.directory.Attributes;
 import javax.naming.ldap.LdapName;
 import javax.naming.ldap.Rdn;
 
-import org.apache.commons.codec.binary.Base64;
 import org.argeo.osgi.useradmin.UserDirectoryException;
 
 /** Basic LDIF writer */
@@ -57,11 +58,16 @@ public class LdifWriter {
                }
        }
 
+       public void write(Map<LdapName, Attributes> entries) throws IOException {
+               for (LdapName dn : entries.keySet())
+                       writeEntry(dn, entries.get(dn));
+       }
+
        protected void writeAttribute(Attribute attribute) throws NamingException, IOException {
                for (NamingEnumeration<?> attrValues = attribute.getAll(); attrValues.hasMore();) {
                        Object value = attrValues.next();
                        if (value instanceof byte[]) {
-                               String encoded = Base64.encodeBase64String((byte[]) value);
+                               String encoded = Base64.getEncoder().encodeToString((byte[]) value);
                                writer.append(attribute.getID()).append("::").append(encoded).append('\n');
                        } else {
                                writer.append(attribute.getID()).append(':').append(value.toString()).append('\n');