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 2010/01/04 13:45:28 UTC
svn commit: r895618 - in /directory/shared/branches/shared-schema/ldap/src:
main/antlr/distinguishedName.g
test/java/org/apache/directory/shared/ldap/name/LdapDNTest.java
Author: elecharny
Date: Mon Jan 4 12:45:28 2010
New Revision: 895618
URL: http://svn.apache.org/viewvc?rev=895618&view=rev
Log:
Some fix to get the AVA handling the leading spaces
Modified:
directory/shared/branches/shared-schema/ldap/src/main/antlr/distinguishedName.g
directory/shared/branches/shared-schema/ldap/src/test/java/org/apache/directory/shared/ldap/name/LdapDNTest.java
Modified: directory/shared/branches/shared-schema/ldap/src/main/antlr/distinguishedName.g
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/antlr/distinguishedName.g?rev=895618&r1=895617&r2=895618&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/antlr/distinguishedName.g (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/antlr/distinguishedName.g Mon Jan 4 12:45:28 2010
@@ -253,14 +253,12 @@
}
:
(
- ( SPACE { upName += " "; } )*
tmp = attributeTypeAndValue[rdn]
{
upName += tmp;
}
(
PLUS { upName += "+"; }
- ( SPACE { upName += " "; } )*
tmp = attributeTypeAndValue[rdn]
{
upName += tmp;
@@ -290,6 +288,7 @@
}
:
(
+ ( SPACE { upName += " "; } )*
type = attributeType { upName += type; }
( SPACE { upName += " "; } )*
EQUALS { upName += "="; }
Modified: directory/shared/branches/shared-schema/ldap/src/test/java/org/apache/directory/shared/ldap/name/LdapDNTest.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/test/java/org/apache/directory/shared/ldap/name/LdapDNTest.java?rev=895618&r1=895617&r2=895618&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/test/java/org/apache/directory/shared/ldap/name/LdapDNTest.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/test/java/org/apache/directory/shared/ldap/name/LdapDNTest.java Mon Jan 4 12:45:28 2010
@@ -3444,9 +3444,9 @@
{
LdapDN dn1 = new LdapDN( "ou=A\\ ,ou=system" );
assertEquals( "ou=A\\ ,ou=system", dn1.getName() );
- assertEquals( "ou=A\\ ,ou=system", dn1.getNormName() );
- assertEquals( "ou=A\\ ", dn1.getRdn().getUpName() );
- assertEquals( "ou=A\\ ", dn1.getRdn().getNormName() );
+ assertEquals( "ou=A ,ou=system", dn1.getNormName() );
+ assertEquals( "ou=A ", dn1.getRdn().getUpName() );
+ assertEquals( "ou=A ", dn1.getRdn().getNormName() );
LdapDN dn2 = new LdapDN( "ou=A\\20,ou=system" );
assertEquals( "ou=A\\20,ou=system", dn2.getName() );
@@ -3618,33 +3618,71 @@
@Test
- public void testNormalizeAsciiCompositeWithEscaped() throws Exception
+ public void testNormalizeCompositeWithEscaped() throws Exception
{
- LdapDN dn = new LdapDN( " OU = Ex\\+mple + ou = T\\+ST , ou = COM " );
+ LdapDN dn = new LdapDN( " OU = Ex\\+mple + ou = T\\+ST\\ , ou = COM " );
+ // ------------------------------------------------------------------
// Before normalization
- assertEquals( " OU = Ex\\+mple + ou = T\\+ST , ou = COM ", dn.getName() );
- assertEquals( "ou=Ex\\+mple+ou=T\\+ST,ou=COM", dn.getNormName() );
+ assertEquals( " OU = Ex\\+mple + ou = T\\+ST\\ , ou = COM ", dn.getName() );
+ assertEquals( "ou=Ex\\+mple+ou=T\\+ST\\ ,ou=COM", dn.getNormName() );
// Check the first RDN
Rdn rdn = dn.getRdn();
+ assertEquals( " OU = Ex\\+mple + ou = T\\+ST\\ ", rdn.getUpName() );
+ assertEquals( "ou=Ex\\+mple+ou=T\\+ST\\ ", rdn.getNormName() );
+
assertEquals( "OU", rdn.getUpType() );
assertEquals( "ou", rdn.getNormType() );
assertEquals( "Ex+mple",rdn.getUpValue() );
assertEquals( "Ex+mple",rdn.getNormValue() );
+ // The first ATAV
+ AttributeTypeAndValue atav = rdn.getAtav();
+
+ assertEquals( " OU = Ex\\+mple ", atav.getUpName() );
+ assertEquals( "ou=Ex\\+mple", atav.getNormName() );
+
+ assertEquals( "ou", atav.getNormType() );
+ assertEquals( "OU", atav.getUpType() );
+
+ assertEquals( "Ex+mple", atav.getUpValue().get() );
+ assertEquals( "Ex+mple", atav.getNormValue().get() );
+
+ assertEquals( 2, rdn.getNbAtavs() );
+
+ // The second ATAV
+ for ( AttributeTypeAndValue ava : rdn )
+ {
+ if ( "Ex+mple".equals( ava.getNormValue().get() ) )
+ {
+ // Skip the first one
+ continue;
+ }
+
+ assertEquals( " ou = T\\+ST\\ ", ava.getUpName() );
+ assertEquals( "ou=T\\+ST\\ ", ava.getNormName() );
+
+ assertEquals( "ou", ava.getUpType() );
+ assertEquals( "ou", ava.getNormType() );
+
+ assertEquals( "T+ST ", ava.getUpValue().get() );
+ assertEquals( "T+ST ", ava.getNormValue().get() );
+ }
+
+ // ------------------------------------------------------------------
// Now normalize the DN
dn.normalize( oidOids );
- assertEquals( " OU = Ex\\+mple + ou = T\\+ST , ou = COM ", dn.getName() );
- assertEquals( "2.5.4.11=ex\\+mple+2.5.4.11=t\\+st,2.5.4.11=com", dn.getNormName() );
+ assertEquals( " OU = Ex\\+mple + ou = T\\+ST\\ , ou = COM ", dn.getName() );
+ assertEquals( "2.5.4.11=ex\\+mple+2.5.4.11=t\\+st\\ ,2.5.4.11=com", dn.getNormName() );
+ // Check the first RDN
rdn = dn.getRdn();
- assertEquals( " OU = Ex\\+mple + ou = T\\+ST ", rdn.getUpName() );
- assertEquals( "2.5.4.11=ex\\+mple+2.5.4.11=t\\+st", rdn.getNormName() );
+ assertEquals( " OU = Ex\\+mple + ou = T\\+ST\\ ", rdn.getUpName() );
+ assertEquals( "2.5.4.11=ex\\+mple+2.5.4.11=t\\+st\\ ", rdn.getNormName() );
- // Check the first RDN
assertEquals( "OU", rdn.getUpType() );
assertEquals( "2.5.4.11", rdn.getNormType() );
@@ -3652,9 +3690,9 @@
assertEquals( "ex+mple",rdn.getNormValue() );
// The first ATAV
- AttributeTypeAndValue atav = rdn.getAtav();
+ atav = rdn.getAtav();
- assertEquals( "OU = Ex\\+mple ", atav.getUpName() );
+ assertEquals( " OU = Ex\\+mple ", atav.getUpName() );
assertEquals( "2.5.4.11=ex\\+mple", atav.getNormName() );
assertEquals( "2.5.4.11", atav.getNormType() );
@@ -3668,20 +3706,20 @@
// The second ATAV
for ( AttributeTypeAndValue ava : rdn )
{
- if ( "ex+mple".equals( atav.getNormValue().get() ) )
+ if ( "ex+mple".equals( ava.getNormValue().get() ) )
{
// Skip the first one
continue;
}
- assertEquals( "ou = T\\+ST ", atav.getUpName() );
- assertEquals( "2.5.4.11=t\\+st", atav.getNormName() );
+ assertEquals( " ou = T\\+ST\\ ", ava.getUpName() );
+ assertEquals( "2.5.4.11=t\\+st\\ ", ava.getNormName() );
- assertEquals( "ou", atav.getUpType() );
- assertEquals( "2.5.4.11", atav.getNormType() );
+ assertEquals( "ou", ava.getUpType() );
+ assertEquals( "2.5.4.11", ava.getNormType() );
- assertEquals( "T+ST", atav.getUpValue().get() );
- assertEquals( "t+st", atav.getNormValue().get() );
+ assertEquals( "T+ST ", ava.getUpValue().get() );
+ assertEquals( "t+st ", ava.getNormValue().get() );
}
}
}