You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2005/08/12 06:30:25 UTC
svn commit: r232201 - in /directory/shared/ldap/trunk/common/src:
java/org/apache/ldap/common/ldif/LdifParserImpl.java
test/org/apache/ldap/common/ldif/LdifParserImplTest.java
Author: akarasulu
Date: Thu Aug 11 21:30:20 2005
New Revision: 232201
URL: http://svn.apache.org/viewcvs?rev=232201&view=rev
Log:
Added code to handle comments. For the issue DIRLDAP-24:
http://issues.apache.org/jira/browse/DIRLDAP-24
Modified:
directory/shared/ldap/trunk/common/src/java/org/apache/ldap/common/ldif/LdifParserImpl.java
directory/shared/ldap/trunk/common/src/test/org/apache/ldap/common/ldif/LdifParserImplTest.java
Modified: directory/shared/ldap/trunk/common/src/java/org/apache/ldap/common/ldif/LdifParserImpl.java
URL: http://svn.apache.org/viewcvs/directory/shared/ldap/trunk/common/src/java/org/apache/ldap/common/ldif/LdifParserImpl.java?rev=232201&r1=232200&r2=232201&view=diff
==============================================================================
--- directory/shared/ldap/trunk/common/src/java/org/apache/ldap/common/ldif/LdifParserImpl.java (original)
+++ directory/shared/ldap/trunk/common/src/java/org/apache/ldap/common/ldif/LdifParserImpl.java Thu Aug 11 21:30:20 2005
@@ -84,6 +84,24 @@
{
while ( ( line = in.readLine() ) != null )
{
+ // check and see if we have a comment on this line and if so
+ // we need to forgo the entire line or chop off the comment
+ int asteriskIndex = line.indexOf( '#' );
+ if ( asteriskIndex != -1 )
+ {
+ if ( asteriskIndex < 3 )
+ {
+ continue;
+ }
+
+ line = line.substring( 0, asteriskIndex ).trim();
+
+ if ( line.equals( "" ) )
+ {
+ continue;
+ }
+ }
+
// Try to advance to ':' if one exists.
if ( ( index = line.indexOf( ':' ) ) == -1 )
{
@@ -92,7 +110,7 @@
+ "attribute value pair.\n{" + ldif + "}",
ResultCodeEnum.OTHER );
}
-
+
// Capture data while at first colon.
attrName = line.substring( 0, index ).trim();
Modified: directory/shared/ldap/trunk/common/src/test/org/apache/ldap/common/ldif/LdifParserImplTest.java
URL: http://svn.apache.org/viewcvs/directory/shared/ldap/trunk/common/src/test/org/apache/ldap/common/ldif/LdifParserImplTest.java?rev=232201&r1=232200&r2=232201&view=diff
==============================================================================
--- directory/shared/ldap/trunk/common/src/test/org/apache/ldap/common/ldif/LdifParserImplTest.java (original)
+++ directory/shared/ldap/trunk/common/src/test/org/apache/ldap/common/ldif/LdifParserImplTest.java Thu Aug 11 21:30:20 2005
@@ -39,6 +39,32 @@
Attribute attr = attrs.get( "objectClass" );
assertTrue( attr.contains( "apApplication" ) );
assertTrue( attr.contains( "top" ) );
+ }
+
+ public void testLdifParserComments() throws NamingException
+ {
+ String ldif = "#comment\n" +
+ "dn: cn=app1,ou=applications,ou=conf,dc=apache,dc=org\n" +
+ "cn: app1#another comment\n" +
+ "objectClass: top\n" +
+ "objectClass: apApplication\n" +
+ "displayName: app1\n" +
+ "serviceType: http\n" +
+ "dependencies:\n" +
+ "httpHeaders:\n" +
+ "startupOptions:\n" +
+ "envVars:";
+ LdifParser parser = new LdifParserImpl();
+ Attributes attrs = new LockableAttributesImpl();
+ parser.parse( attrs, ldif );
+
+ assertNotNull( attrs );
+
+ Attribute attr = attrs.get( "objectClass" );
+ assertTrue( attr.contains( "apApplication" ) );
+ assertTrue( attr.contains( "top" ) );
+
+ assertEquals( "app1", attrs.get( "cn" ).get() );
}
}