X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.enterprise%2Fsrc%2Forg%2Fargeo%2Fnaming%2FLdifWriter.java;h=6a3fea12f29fa8b438700ddc72d6cc225a59a880;hb=5fbf45d98df87b3d3d1e24fd7f3073acb0d6f840;hp=3a297e5db0c1a34e688dc0e69fafc1a3042f744f;hpb=b334cd41b64d0658aae9125c58d6a1194eccb087;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.enterprise/src/org/argeo/naming/LdifWriter.java b/org.argeo.enterprise/src/org/argeo/naming/LdifWriter.java index 3a297e5db..6a3fea12f 100644 --- a/org.argeo.enterprise/src/org/argeo/naming/LdifWriter.java +++ b/org.argeo.enterprise/src/org/argeo/naming/LdifWriter.java @@ -4,6 +4,8 @@ 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; @@ -18,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 */ @@ -27,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 { @@ -39,7 +42,7 @@ public class LdifWriter { throw new UserDirectoryException( "Attribute " + nameAttr.getID() + "=" + nameAttr.get() + " not consistent with DN " + name); - writer.append(LdapAttrs.DN + ":").append(name.toString()).append('\n'); + writer.append(LdapAttrs.DN + ": ").append(name.toString()).append('\n'); Attribute objectClassAttr = attributes.get("objectClass"); if (objectClassAttr != null) writeAttribute(objectClassAttr); @@ -66,9 +69,9 @@ public class LdifWriter { Object value = attrValues.next(); if (value instanceof byte[]) { String encoded = Base64.getEncoder().encodeToString((byte[]) value); - writer.append(attribute.getID()).append("::").append(encoded).append('\n'); + writer.append(attribute.getID()).append(":: ").append(encoded).append('\n'); } else { - writer.append(attribute.getID()).append(':').append(value.toString()).append('\n'); + writer.append(attribute.getID()).append(": ").append(value.toString()).append('\n'); } } }