]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.enterprise/src/org/argeo/naming/LdifWriter.java
Improve naming utils
[lgpl/argeo-commons.git] / org.argeo.enterprise / src / org / argeo / naming / LdifWriter.java
index 6bd4809dbcacaf2881a57d16d9a09b4a71927af8..892fa885d8f46611de39d0d173bda5edc944482d 100644 (file)
@@ -1,11 +1,11 @@
 package org.argeo.naming;
 
-import static org.argeo.osgi.useradmin.LdifName.dn;
-
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import java.io.Writer;
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.util.Base64;
 import java.util.Map;
 
@@ -20,6 +20,7 @@ import org.argeo.osgi.useradmin.UserDirectoryException;
 
 /** Basic LDIF writer */
 public class LdifWriter {
+       private final static Charset DEFAULT_CHARSET = StandardCharsets.UTF_8;
        private final Writer writer;
 
        /** Writer must be closed by caller */
@@ -29,7 +30,7 @@ public class LdifWriter {
 
        /** Stream must be closed by caller */
        public LdifWriter(OutputStream out) {
-               this(new OutputStreamWriter(out));
+               this(new OutputStreamWriter(out, DEFAULT_CHARSET));
        }
 
        public void writeEntry(LdapName name, Attributes attributes) throws IOException {
@@ -41,13 +42,13 @@ public class LdifWriter {
                                throw new UserDirectoryException(
                                                "Attribute " + nameAttr.getID() + "=" + nameAttr.get() + " not consistent with DN " + name);
 
-                       writer.append(dn.name() + ":").append(name.toString()).append('\n');
+                       writer.append(LdapAttrs.DN + ":").append(name.toString()).append('\n');
                        Attribute objectClassAttr = attributes.get("objectClass");
                        if (objectClassAttr != null)
                                writeAttribute(objectClassAttr);
                        for (NamingEnumeration<? extends Attribute> attrs = attributes.getAll(); attrs.hasMore();) {
                                Attribute attribute = attrs.next();
-                               if (attribute.getID().equals(dn.name()) || attribute.getID().equals("objectClass"))
+                               if (attribute.getID().equals(LdapAttrs.DN) || attribute.getID().equals("objectClass"))
                                        continue;// skip DN attribute
                                writeAttribute(attribute);
                        }