You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2014/02/22 08:34:39 UTC

svn commit: r1570807 - in /directory/shared/trunk/ldap/model/src: main/java/org/apache/directory/api/ldap/model/ldif/LdifReader.java test/java/org/apache/directory/api/ldap/model/ldif/LdifReaderTest.java

Author: elecharny
Date: Sat Feb 22 07:34:38 2014
New Revision: 1570807

URL: http://svn.apache.org/r1570807
Log:
Fix for DIRAPI-175 : we now accept LDIF with entry not having any attribute (typiclly what we get when we do a search with 1.1)

Modified:
    directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/ldif/LdifReader.java
    directory/shared/trunk/ldap/model/src/test/java/org/apache/directory/api/ldap/model/ldif/LdifReaderTest.java

Modified: directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/ldif/LdifReader.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/ldif/LdifReader.java?rev=1570807&r1=1570806&r2=1570807&view=diff
==============================================================================
--- directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/ldif/LdifReader.java (original)
+++ directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/ldif/LdifReader.java Sat Feb 22 07:34:38 2014
@@ -1328,7 +1328,7 @@ public class LdifReader implements Itera
         Iterator<String> iter = lines.iterator();
 
         // This flag is used to distinguish between an entry and a change
-        int type = UNKNOWN;
+        int type = LDIF_ENTRY;
 
         // The following boolean is used to check that a control is *not*
         // found elswhere than just after the dn

Modified: directory/shared/trunk/ldap/model/src/test/java/org/apache/directory/api/ldap/model/ldif/LdifReaderTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/model/src/test/java/org/apache/directory/api/ldap/model/ldif/LdifReaderTest.java?rev=1570807&r1=1570806&r2=1570807&view=diff
==============================================================================
--- directory/shared/trunk/ldap/model/src/test/java/org/apache/directory/api/ldap/model/ldif/LdifReaderTest.java (original)
+++ directory/shared/trunk/ldap/model/src/test/java/org/apache/directory/api/ldap/model/ldif/LdifReaderTest.java Sat Feb 22 07:34:38 2014
@@ -2314,4 +2314,44 @@ public class LdifReaderTest
         attr = entry.get( "envvars" );
         assertNull( attr.get().getValue() );
     }
+
+
+    /**
+     * Test a LDIF generated by a request with 1.1
+     */
+    @Test
+    public void testLdifParserNoAttribute() throws Exception
+    {
+        String ldif =
+            "version:   1\n" +
+            "dn: cn=test1\n" +
+            "\n" +
+            "dn: cn=test2\n" +
+            "\n" +
+            "dn: cn=test3";
+
+        LdifReader reader = new LdifReader();
+        List<LdifEntry> entries = reader.parseLdif( ldif );
+        reader.close();
+
+        assertNotNull( entries );
+
+        // Check test 1
+        LdifEntry entry = entries.get( 0 );
+        assertTrue( entry.isLdifContent() );
+        assertEquals( "cn=test1", entry.getDn().getName() );
+        assertEquals( 0, entry.size() );
+
+        // Check test 2
+        entry = entries.get( 1 );
+        assertTrue( entry.isLdifContent() );
+        assertEquals( "cn=test2", entry.getDn().getName() );
+        assertEquals( 0, entry.size() );
+
+        // Check test 3
+        entry = entries.get( 2 );
+        assertTrue( entry.isLdifContent() );
+        assertEquals( "cn=test3", entry.getDn().getName() );
+        assertEquals( 0, entry.size() );
+    }
 }