mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

vharseko
18.52.2018 8424b75303306daa62423f217e0d1dc5890e814e
Sorted predictive attributes name order for LDIF (version control)
4 files modified
44 ■■■■ changed files
opendj-core/src/main/java/org/forgerock/opendj/ldif/LDIFEntryWriter.java 12 ●●●● patch | view | raw | blame | history
opendj-core/src/test/java/org/forgerock/opendj/ldif/LDIFEntryWriterTestCase.java 18 ●●●● patch | view | raw | blame | history
opendj-ldap-toolkit/src/test/resources/expected_output.ldif 6 ●●●● patch | view | raw | blame | history
opendj-ldap-toolkit/src/test/resources/expected_output_80_column.ldif 8 ●●●● patch | view | raw | blame | history
opendj-core/src/main/java/org/forgerock/opendj/ldif/LDIFEntryWriter.java
@@ -20,10 +20,13 @@
import java.io.OutputStream;
import java.io.StringWriter;
import java.io.Writer;
import java.util.AbstractMap;
import java.util.List;
import java.util.TreeMap;
import org.forgerock.opendj.ldap.Attribute;
import org.forgerock.opendj.ldap.AttributeDescription;
import org.forgerock.opendj.ldap.ByteSequence;
import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.DN;
import org.forgerock.opendj.ldap.Entry;
@@ -269,6 +272,8 @@
        }
        writeKeyAndValue("dn", entry.getName().toString());
        final TreeMap<String,AbstractMap.SimpleEntry<String,ByteSequence>> attr=new TreeMap<>(); //sort by key:value
        for (final Attribute attribute : entry.getAllAttributes()) {
            // Filter the attribute if required.
            if (isAttributeExcluded(attribute.getAttributeDescription())) {
@@ -277,13 +282,16 @@
            final String attributeDescription = attribute.getAttributeDescriptionAsString();
            if (attribute.isEmpty()) {
                writeKeyAndValue(attributeDescription, ByteString.empty());
                attr.put(attributeDescription+attr.size(), new AbstractMap.SimpleEntry<String,ByteSequence>(attributeDescription,ByteString.empty()) );
            } else {
                for (final ByteString value : attribute) {
                    writeKeyAndValue(attributeDescription, value);
                    attr.put(attributeDescription+attr.size(), new AbstractMap.SimpleEntry<String,ByteSequence>(attributeDescription,value));
                }
            }
        }
        for (AbstractMap.SimpleEntry<String,ByteSequence> kv : attr.values()) {
             writeKeyAndValue(kv.getKey(), kv.getValue());
        }
        // Make sure there is a blank line after the entry.
        impl.println();
opendj-core/src/test/java/org/forgerock/opendj/ldif/LDIFEntryWriterTestCase.java
@@ -752,10 +752,20 @@
        writer.close();
        final String[] expected =
                new String[] { "dn: cn=John Doe,ou=people,dc=example,dc=com", "objectClass: top",
                    "objectClass: person", "objectClass: inetOrgPerson", "cn: John Doe", "sn: Doe",
                    "givenName: John", "description: one two", "description: three four",
                    "description: five six", "typeOnly: ", "localized;lang-fr:: w6dlZGlsbGE=", "", };
                new String[] { "dn: cn=John Doe,ou=people,dc=example,dc=com",
                        "cn: John Doe",
                        "description: one two",
                        "description: three four",
                        "description: five six",
                        "givenName: John",
                        "localized;lang-fr:: w6dlZGlsbGE=",
                        "objectClass: top",
                        "objectClass: person",
                        "objectClass: inetOrgPerson",
                        "sn: Doe",
                        "typeOnly: ",
                        "", };
        Assert.assertEquals(actual.size(), expected.length);
        for (int i = 0; i < expected.length; i++) {
opendj-ldap-toolkit/src/test/resources/expected_output.ldif
@@ -3,9 +3,9 @@
dn: coretokenid=tokenId,dc=example,dc=com
coretokenid: tokenId
coretokenobject: {"redirectURI":["http://fake.com"],"acr":[],"clientID":["clientOIDC"],"lineFoldingTest":["This line should have been correctly folded"],"tokenName":["refresh_token"],"authModules":["LDAP"],"realm":["/myrealm"],"id":["fakeid"],"userName":["johndoe"],"tokenType":["Bearer"]}
coretokenstring07: Bearer
coretokenstring08: /myrealm
objectClass: top
objectClass: frCoreToken
coretokenstring08: /myrealm
coretokenstring07: Bearer
coretokenobject: {"redirectURI":["http://fake.com"],"acr":[],"clientID":["clientOIDC"],"lineFoldingTest":["This line should have been correctly folded"],"tokenName":["refresh_token"],"authModules":["LDAP"],"realm":["/myrealm"],"id":["fakeid"],"userName":["johndoe"],"tokenType":["Bearer"]}
opendj-ldap-toolkit/src/test/resources/expected_output_80_column.ldif
@@ -3,12 +3,12 @@
dn: coretokenid=tokenId,dc=example,dc=com
coretokenid: tokenId
objectClass: top
objectClass: frCoreToken
coretokenstring08: /myrealm
coretokenstring07: Bearer
coretokenobject: {"redirectURI":["http://fake.com"],"acr":[],"clientID":["client
 OIDC"],"lineFoldingTest":["This line should have been correctly folded"],"token
 Name":["refresh_token"],"authModules":["LDAP"],"realm":["/myrealm"],"id":["fake
 id"],"userName":["johndoe"],"tokenType":["Bearer"]}
coretokenstring07: Bearer
coretokenstring08: /myrealm
objectClass: top
objectClass: frCoreToken