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 2011/03/22 15:33:58 UTC
svn commit: r1084194 - in /directory/shared/trunk:
integ/src/test/java/org/apache/directory/shared/ldap/model/name/
ldap/model/src/main/java/org/apache/directory/shared/ldap/model/name/
ldap/model/src/test/java/org/apache/directory/shared/ldap/model/name/
Author: elecharny
Date: Tue Mar 22 14:33:57 2011
New Revision: 1084194
URL: http://svn.apache.org/viewvc?rev=1084194&view=rev
Log:
Removed the DnParser and RnParser classes
Removed:
directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/name/DnParser.java
directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/name/RdnParser.java
Modified:
directory/shared/trunk/integ/src/test/java/org/apache/directory/shared/ldap/model/name/SchemaAwareRdnTest.java
directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/name/Dn.java
directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/name/FastDnParser.java
directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/name/Rdn.java
directory/shared/trunk/ldap/model/src/test/java/org/apache/directory/shared/ldap/model/name/FastDnParserTest.java
directory/shared/trunk/ldap/model/src/test/java/org/apache/directory/shared/ldap/model/name/RdnTest.java
Modified: directory/shared/trunk/integ/src/test/java/org/apache/directory/shared/ldap/model/name/SchemaAwareRdnTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/integ/src/test/java/org/apache/directory/shared/ldap/model/name/SchemaAwareRdnTest.java?rev=1084194&r1=1084193&r2=1084194&view=diff
==============================================================================
--- directory/shared/trunk/integ/src/test/java/org/apache/directory/shared/ldap/model/name/SchemaAwareRdnTest.java (original)
+++ directory/shared/trunk/integ/src/test/java/org/apache/directory/shared/ldap/model/name/SchemaAwareRdnTest.java Tue Mar 22 14:33:57 2011
@@ -277,26 +277,6 @@ public class SchemaAwareRdnTest
/**
* Test the clone method for a Rdn.
- */
- @Test
- public void testParseRDNNull()
- {
- Rdn rdn = null;
-
- try
- {
- RdnParser.parse( "cn=d", rdn );
- fail();
- }
- catch ( LdapException ine )
- {
- assertTrue( true );
- }
- }
-
-
- /**
- * Test the clone method for a Rdn.
*
* @throws LdapException
*/
@@ -307,14 +287,14 @@ public class SchemaAwareRdnTest
Rdn rdnClone = (Rdn) rdn.clone();
- RdnParser.parse( "cn=d", rdn );
+ rdn = new Rdn( schemaManager, "cn=d" );
assertEquals( "b", rdnClone.getValue( "Cn" ) );
}
/**
- * Test teh creation of a new Rdn
+ * Test the creation of a new Rdn
*
* @throws org.apache.directory.shared.ldap.model.exception.LdapException
*/
@@ -340,7 +320,7 @@ public class SchemaAwareRdnTest
Rdn rdnClone = (Rdn) rdn.clone();
rdn.clear();
- RdnParser.parse( "l=d", rdn );
+ rdn = new Rdn( schemaManager, "l=d" );
assertEquals( "b", rdnClone.getValue( "2.5.4.3" ) );
assertEquals( "bb", rdnClone.getValue( "SN" ) );
@@ -1151,8 +1131,8 @@ public class SchemaAwareRdnTest
@Test
public void testRdnWithEmptyValue() throws LdapException
{
- assertTrue( RdnParser.isValid("cn=") );
- assertTrue( RdnParser.isValid( "cn=\"\"" ) );
+ assertTrue( Rdn.isValid("cn=") );
+ assertTrue( Rdn.isValid( "cn=\"\"" ) );
assertEquals( "2.5.4.3=", new Rdn( schemaManager, "cn=\"\"" ).getNormName() );
assertEquals( "2.5.4.3=", new Rdn( schemaManager, "cn=" ).getNormName() );
}
@@ -1164,14 +1144,14 @@ public class SchemaAwareRdnTest
@Test
public void testRdnWithEscapedComa() throws LdapException
{
- assertTrue( RdnParser.isValid( "cn=b\\,c" ) );
+ assertTrue( Rdn.isValid( "cn=b\\,c" ) );
assertEquals( "2.5.4.3=b\\,c", new Rdn( schemaManager, "cn=b\\,c" ).getNormName() );
- assertTrue( RdnParser.isValid( "cn=\"b,c\"" ) );
+ assertTrue( Rdn.isValid( "cn=\"b,c\"" ) );
assertEquals( "2.5.4.3=b\\,c", new Rdn( schemaManager, "cn=\"b,c\"" ).getNormName() );
assertEquals( "cn=\"b,c\"", new Rdn( schemaManager, "cn=\"b,c\"" ).getName() );
- assertTrue( RdnParser.isValid( "cn=\"b\\,c\"" ) );
+ assertTrue( Rdn.isValid( "cn=\"b\\,c\"" ) );
Rdn rdn = new Rdn( schemaManager, "cn=\"b\\,c\"" );
assertEquals( "cn=\"b\\,c\"", rdn.getName() );
assertEquals( "2.5.4.3=b\\,c", rdn.getNormName() );
Modified: directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/name/Dn.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/name/Dn.java?rev=1084194&r1=1084193&r2=1084194&view=diff
==============================================================================
--- directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/name/Dn.java (original)
+++ directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/name/Dn.java Tue Mar 22 14:33:57 2011
@@ -279,7 +279,7 @@ public class Dn implements Iterable<Rdn>
// Stores the representations of a Dn : internal (as a string and as a
// byte[]) and external.
upName = sb.toString();
- DnParser.parseInternal( upName, rdns );
+ parseInternal( upName, rdns );
if ( schemaManager != null )
{
@@ -1631,19 +1631,6 @@ public class Dn implements Iterable<Rdn>
/**
- * Check if a DistinguishedName is syntactically valid.
- *
- * @param dn The Dn to validate
- * @return <code>true></code> if the Dn is valid, <code>false</code>
- * otherwise
- */
- public static boolean isValid( String dn )
- {
- return DnParser.validateInternal( dn );
- }
-
-
- /**
* Tells if the Dn has already been normalized or not
*
* @return <code>true</code> if the Dn is already normalized.
@@ -1698,6 +1685,50 @@ public class Dn implements Iterable<Rdn>
}
+ /**
+ * Check if a DistinguishedName is syntactically valid.
+ *
+ * @param dn The Dn to validate
+ * @return <code>true></code> if the Dn is valid, <code>false</code>
+ * otherwise
+ */
+ public static boolean isValid( String name )
+ {
+ Dn dn = new Dn();
+
+ try
+ {
+ parseInternal( name, dn.rdns );
+ return true;
+ }
+ catch ( LdapInvalidDnException e )
+ {
+ return false;
+ }
+ }
+
+
+ /**
+ * Parse a Dn.
+ *
+ * @param name The Dn to be parsed
+ * @param rdns The list that will contain the RDNs
+ * @throws LdapInvalidDnException If the Dn is invalid
+ */
+ private static void parseInternal( String name, List<Rdn> rdns ) throws LdapInvalidDnException
+ {
+ try
+ {
+ FastDnParser.parseDn( name, rdns );
+ }
+ catch ( TooComplexException e )
+ {
+ rdns.clear();
+ new ComplexDnParser().parseDn( name, rdns );
+ }
+ }
+
+
public void readExternal( ObjectInput in ) throws IOException, ClassNotFoundException
{
// Read the UPName
Modified: directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/name/FastDnParser.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/name/FastDnParser.java?rev=1084194&r1=1084193&r2=1084194&view=diff
==============================================================================
--- directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/name/FastDnParser.java (original)
+++ directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/name/FastDnParser.java Tue Mar 22 14:33:57 2011
@@ -45,7 +45,7 @@ public enum FastDnParser
* Gets the name parser singleton instance.
*
* @return the name parser
- */
+ *
public static FastDnParser getNameParser()
{
return INSTANCE;
@@ -59,7 +59,7 @@ public enum FastDnParser
* @return A valid Dn
* @throws org.apache.directory.shared.ldap.model.exception.LdapException If the Dn was invalid
*/
- public Dn parse( String name ) throws LdapException
+ public static Dn parse( String name ) throws LdapException
{
Dn dn = new Dn();
parseDn( name, dn );
@@ -75,14 +75,15 @@ public enum FastDnParser
*
* @throws LdapInvalidDnException the invalid name exception
*/
- public void parseDn( String name, Dn dn ) throws LdapInvalidDnException
+ public static void parseDn( String name, Dn dn ) throws LdapInvalidDnException
{
parseDn(name, dn.rdns);
dn.setUpName( name );
dn.normalizeInternal();
}
- void parseDn( String name, List<Rdn> rdns ) throws LdapInvalidDnException
+
+ public static void parseDn( String name, List<Rdn> rdns ) throws LdapInvalidDnException
{
if ( ( name == null ) || ( name.trim().length() == 0 ) )
{
@@ -128,7 +129,7 @@ public enum FastDnParser
*
* @throws LdapInvalidDnException the invalid name exception
*/
- public void parseRdn( String name, Rdn rdn ) throws LdapInvalidDnException
+ public static void parseRdn( String name, Rdn rdn ) throws LdapInvalidDnException
{
if ( name == null || name.length() == 0 )
{
@@ -147,7 +148,7 @@ public enum FastDnParser
}
- private void parseRdnInternal( String name, Position pos, Rdn rdn ) throws LdapInvalidDnException
+ private static void parseRdnInternal( String name, Position pos, Rdn rdn ) throws LdapInvalidDnException
{
int rdnStart = pos.start;
@@ -193,7 +194,7 @@ public enum FastDnParser
* @param pos the pos
* @throws LdapInvalidDnException
*/
- private void matchSpaces( String name, Position pos ) throws LdapInvalidDnException
+ private static void matchSpaces( String name, Position pos ) throws LdapInvalidDnException
{
while ( hasMoreChars( pos ) )
{
@@ -217,7 +218,7 @@ public enum FastDnParser
*
* @throws LdapInvalidDnException the invalid name exception
*/
- private String matchAttributeType( String name, Position pos ) throws LdapInvalidDnException
+ private static String matchAttributeType( String name, Position pos ) throws LdapInvalidDnException
{
char c = nextChar( name, pos, false );
switch ( c )
@@ -307,7 +308,7 @@ public enum FastDnParser
*
* @throws LdapInvalidDnException the invalid name exception
*/
- private String matchAttributeTypeDescr( String name, Position pos ) throws LdapInvalidDnException
+ private static String matchAttributeTypeDescr( String name, Position pos ) throws LdapInvalidDnException
{
StringBuilder descr = new StringBuilder();
while ( hasMoreChars( pos ) )
@@ -409,7 +410,7 @@ public enum FastDnParser
*
* @throws org.apache.directory.shared.ldap.model.exception.LdapInvalidDnException the invalid name exception
*/
- private String matchAttributeTypeNumericOid( String name, Position pos ) throws LdapInvalidDnException
+ private static String matchAttributeTypeNumericOid( String name, Position pos ) throws LdapInvalidDnException
{
StringBuilder numericOid = new StringBuilder();
int dotCount = 0;
@@ -505,7 +506,7 @@ public enum FastDnParser
*
* @throws LdapInvalidDnException the invalid name exception
*/
- private void matchEquals( String name, Position pos ) throws LdapInvalidDnException
+ private static void matchEquals( String name, Position pos ) throws LdapInvalidDnException
{
char c = nextChar( name, pos, true );
if ( c != '=' )
@@ -527,7 +528,7 @@ public enum FastDnParser
*
* @throws LdapInvalidDnException the invalid name exception
*/
- private String matchValue( String name, Position pos ) throws LdapInvalidDnException
+ private static String matchValue( String name, Position pos ) throws LdapInvalidDnException
{
StringBuilder value = new StringBuilder();
int numTrailingSpaces = 0;
@@ -573,7 +574,7 @@ public enum FastDnParser
* @return the character
* @throws LdapInvalidDnException If no more characters are available
*/
- private char nextChar( String name, Position pos, boolean increment ) throws LdapInvalidDnException
+ private static char nextChar( String name, Position pos, boolean increment ) throws LdapInvalidDnException
{
if ( !hasMoreChars( pos ) )
{
@@ -595,7 +596,7 @@ public enum FastDnParser
*
* @return true, if more characters are available
*/
- private boolean hasMoreChars( Position pos )
+ private static boolean hasMoreChars( Position pos )
{
return pos.start < pos.length;
}
Modified: directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/name/Rdn.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/name/Rdn.java?rev=1084194&r1=1084193&r2=1084194&view=diff
==============================================================================
--- directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/name/Rdn.java (original)
+++ directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/name/Rdn.java Tue Mar 22 14:33:57 2011
@@ -233,7 +233,7 @@ public class Rdn implements Cloneable, E
if ( Strings.isNotEmpty(rdn) )
{
// Parse the string. The Rdn will be updated.
- RdnParser.parse( rdn, this );
+ parse( rdn, this );
// create the internal normalized form
// and store the user provided form
@@ -1341,6 +1341,57 @@ public class Rdn implements Cloneable, E
/**
+ * Validate a NameComponent : <br>
+ * <p>
+ * <name-component> ::= <attributeType> <spaces> '='
+ * <spaces> <attributeValue> <nameComponents>
+ * </p>
+ *
+ * @param dn The string to parse
+ * @return <code>true</code> if the Rdn is valid
+ */
+ public static boolean isValid( String dn )
+ {
+ Rdn rdn = new Rdn();
+ try
+ {
+ parse( dn, rdn );
+ return true;
+ }
+ catch ( LdapInvalidDnException e )
+ {
+ return false;
+ }
+ }
+
+
+ /**
+ * Parse a NameComponent : <br>
+ * <p>
+ * <name-component> ::= <attributeType> <spaces> '='
+ * <spaces> <attributeValue> <nameComponents>
+ * </p>
+ *
+ * @param dn The String to parse
+ * @param rdn The Rdn to fill. Beware that if the Rdn is not empty, the new
+ * AttributeTypeAndValue will be added.
+ * @throws LdapInvalidDnException If the NameComponent is invalid
+ */
+ private static void parse( String dn, Rdn rdn ) throws LdapInvalidDnException
+ {
+ try
+ {
+ FastDnParser.INSTANCE.parseRdn( dn, rdn );
+ }
+ catch ( TooComplexException e )
+ {
+ rdn.clear();
+ new ComplexDnParser().parseRdn( dn, rdn );
+ }
+ }
+
+
+ /**
* Gets the hashcode of this rdn.
*
* @see java.lang.Object#hashCode()
Modified: directory/shared/trunk/ldap/model/src/test/java/org/apache/directory/shared/ldap/model/name/FastDnParserTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/model/src/test/java/org/apache/directory/shared/ldap/model/name/FastDnParserTest.java?rev=1084194&r1=1084193&r2=1084194&view=diff
==============================================================================
--- directory/shared/trunk/ldap/model/src/test/java/org/apache/directory/shared/ldap/model/name/FastDnParserTest.java (original)
+++ directory/shared/trunk/ldap/model/src/test/java/org/apache/directory/shared/ldap/model/name/FastDnParserTest.java Tue Mar 22 14:33:57 2011
@@ -20,20 +20,18 @@
package org.apache.directory.shared.ldap.model.name;
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
import org.apache.directory.shared.ldap.model.exception.LdapException;
-import org.apache.directory.shared.ldap.model.name.Dn;
-import org.apache.directory.shared.ldap.model.name.FastDnParser;
-import org.apache.directory.shared.ldap.model.name.TooComplexException;
import org.apache.directory.shared.util.Strings;
import org.junit.Test;
import org.junit.runner.RunWith;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.junit.Assert.assertNotNull;
+import com.mycila.junit.concurrent.Concurrency;
+import com.mycila.junit.concurrent.ConcurrentJunitRunner;
/**
* Tests the fast Dn parser.
@@ -54,8 +52,7 @@ public class FastDnParserTest
@Test
public void testLdapDNEmpty() throws LdapException
{
- FastDnParser dnParser = FastDnParser.getNameParser();
- assertEquals( "", ( (Dn) dnParser.parse( "" ) ).getName() );
+ assertEquals( "", ( (Dn) FastDnParser.parse( "" ) ).getName() );
}
@@ -66,15 +63,13 @@ public class FastDnParserTest
@Test
public void testLdapDNIncomplete() throws LdapException
{
- FastDnParser dnParser = FastDnParser.getNameParser();
-
// empty Dn is ok
- dnParser.parse( " " );
+ FastDnParser.parse( " " );
// test DNs starting with an descr
try
{
- dnParser.parse( " a" );
+ FastDnParser.parse( " a" );
fail();
}
catch ( LdapException ine )
@@ -83,7 +78,7 @@ public class FastDnParserTest
}
try
{
- dnParser.parse( " a " );
+ FastDnParser.parse( " a " );
fail();
}
catch ( LdapException ine )
@@ -92,21 +87,21 @@ public class FastDnParserTest
}
try
{
- dnParser.parse( " a- " );
+ FastDnParser.parse( " a- " );
fail();
}
catch ( LdapException ine )
{
// expected
}
- dnParser.parse( " a =" );
- dnParser.parse( " a = " );
- dnParser.parse( " a = b" );
+ FastDnParser.parse( " a =" );
+ FastDnParser.parse( " a = " );
+ FastDnParser.parse( " a = b" );
// test DNs starting with an OID
try
{
- dnParser.parse( " 1 = b " );
+ FastDnParser.parse( " 1 = b " );
fail( "OID must contain at least on dot." );
}
catch ( LdapException ine )
@@ -115,7 +110,7 @@ public class FastDnParserTest
}
try
{
- dnParser.parse( " 0" );
+ FastDnParser.parse( " 0" );
fail();
}
catch ( LdapException ine )
@@ -124,7 +119,7 @@ public class FastDnParserTest
}
try
{
- dnParser.parse( " 0." );
+ FastDnParser.parse( " 0." );
fail();
}
catch ( LdapException ine )
@@ -133,7 +128,7 @@ public class FastDnParserTest
}
try
{
- dnParser.parse( " 0.5" );
+ FastDnParser.parse( " 0.5" );
fail();
}
catch ( LdapException ine )
@@ -142,7 +137,7 @@ public class FastDnParserTest
}
try
{
- dnParser.parse( " 0.5 " );
+ FastDnParser.parse( " 0.5 " );
fail();
}
catch ( LdapException ine )
@@ -150,9 +145,9 @@ public class FastDnParserTest
// expected
}
- dnParser.parse( " 0.5=" );
- dnParser.parse( " 0.5 = " );
- dnParser.parse( " 0.5 = b" );
+ FastDnParser.parse( " 0.5=" );
+ FastDnParser.parse( " 0.5 = " );
+ FastDnParser.parse( " 0.5 = b" );
}
@@ -162,8 +157,7 @@ public class FastDnParserTest
@Test
public void testLdapDNSimple() throws LdapException
{
- FastDnParser dnParser = FastDnParser.getNameParser();
- Dn dn = (Dn) dnParser.parse( "a = b" );
+ Dn dn = FastDnParser.parse( "a = b" );
assertEquals( "a = b", dn.getName() );
assertEquals( "a=b", dn.getNormName() );
@@ -188,8 +182,7 @@ public class FastDnParserTest
@Test
public void testLdapDNComposite() throws LdapException
{
- FastDnParser dnParser = FastDnParser.getNameParser();
- Dn dn = (Dn) dnParser.parse( "a = b, c = d" );
+ Dn dn = FastDnParser.parse( "a = b, c = d" );
assertEquals( "a=b,c=d", dn.getNormName() );
assertEquals( "a = b, c = d", dn.getName() );
}
@@ -201,8 +194,7 @@ public class FastDnParserTest
@Test
public void testLdapDNCompositeWithSpace() throws LdapException
{
- FastDnParser dnParser = FastDnParser.getNameParser();
- Dn dn = (Dn) dnParser.parse( "a=b, a =b, a= b, a = b, a = b" );
+ Dn dn = FastDnParser.parse( "a=b, a =b, a= b, a = b, a = b" );
assertEquals( "a=b,a=b,a=b,a=b,a=b", dn.getNormName() );
assertEquals( "a=b, a =b, a= b, a = b, a = b", dn.getName() );
}
@@ -215,8 +207,7 @@ public class FastDnParserTest
@Test
public void testLdapDNCompositeSepators() throws LdapException
{
- FastDnParser dnParser = FastDnParser.getNameParser();
- Dn dn = (Dn) dnParser.parse( "a=b;c=d,e=f" );
+ Dn dn = FastDnParser.parse( "a=b;c=d,e=f" );
assertEquals( "a=b,c=d,e=f", dn.getNormName() );
assertEquals( "a=b;c=d,e=f", dn.getName() );
}
@@ -228,10 +219,9 @@ public class FastDnParserTest
@Test
public void testLdapDNSimpleMultivaluedAttribute() throws LdapException
{
- FastDnParser dnParser = FastDnParser.getNameParser();
try
{
- dnParser.parse( "a = b + c = d" );
+ FastDnParser.parse( "a = b + c = d" );
fail( "Multivalued Rdn not supported by fast parser" );
}
catch ( TooComplexException tce )
@@ -248,10 +238,9 @@ public class FastDnParserTest
@Test
public void testLdapDNCompositeMultivaluedAttribute() throws LdapException
{
- FastDnParser dnParser = FastDnParser.getNameParser();
try
{
- dnParser.parse( "a=b+c=d, e=f + g=h + i=j" );
+ FastDnParser.parse( "a=b+c=d, e=f + g=h + i=j" );
fail( "Multivalued Rdn not supported by fast parser" );
}
catch ( TooComplexException tce )
@@ -267,10 +256,9 @@ public class FastDnParserTest
@Test
public void testLdapDNOidUpper() throws LdapException
{
- FastDnParser dnParser = FastDnParser.getNameParser();
try
{
- dnParser.parse( "OID.12.34.56 = azerty" );
+ FastDnParser.parse( "OID.12.34.56 = azerty" );
fail( "OID prefix not supported by fast parser" );
}
catch ( Exception e )
@@ -286,10 +274,9 @@ public class FastDnParserTest
@Test
public void testLdapDNOidLower() throws LdapException
{
- FastDnParser dnParser = FastDnParser.getNameParser();
try
{
- dnParser.parse( "oid.12.34.56 = azerty" );
+ FastDnParser.parse( "oid.12.34.56 = azerty" );
fail( "OID prefix not supported by fast parser" );
}
catch ( Exception e )
@@ -306,8 +293,7 @@ public class FastDnParserTest
@Test
public void testLdapDNOidWithoutPrefix() throws LdapException
{
- FastDnParser dnParser = FastDnParser.getNameParser();
- Dn dn = (Dn) dnParser.parse( "12.34.56 = azerty" );
+ Dn dn = FastDnParser.parse( "12.34.56 = azerty" );
assertEquals( "12.34.56=azerty", dn.getNormName() );
assertEquals( "12.34.56 = azerty", dn.getName() );
}
@@ -320,8 +306,7 @@ public class FastDnParserTest
@Test
public void testLdapDNCompositeOidWithoutPrefix() throws LdapException
{
- FastDnParser dnParser = FastDnParser.getNameParser();
- Dn dn = (Dn) dnParser.parse( "12.34.56 = azerty; 7.8 = test" );
+ Dn dn = FastDnParser.parse( "12.34.56 = azerty; 7.8 = test" );
assertEquals( "12.34.56=azerty,7.8=test", dn.getNormName() );
assertEquals( "12.34.56 = azerty; 7.8 = test", dn.getName() );
}
@@ -333,10 +318,9 @@ public class FastDnParserTest
@Test
public void testLdapDNPairCharAttributeValue() throws LdapException
{
- FastDnParser dnParser = FastDnParser.getNameParser();
try
{
- dnParser.parse( "a = \\,\\=\\+\\<\\>\\#\\;\\\\\\\"\\C3\\A9" );
+ FastDnParser.parse( "a = \\,\\=\\+\\<\\>\\#\\;\\\\\\\"\\C3\\A9" );
fail( "Complex DNs not supported by fast parser" );
}
catch ( TooComplexException tce )
@@ -352,10 +336,9 @@ public class FastDnParserTest
@Test
public void testLdapDNHexStringAttributeValue() throws LdapException
{
- FastDnParser dnParser = FastDnParser.getNameParser();
try
{
- dnParser.parse( "a = #0010A0AAFF" );
+ FastDnParser.parse( "a = #0010A0AAFF" );
fail( "Hex DNs not supported by fast parser" );
}
catch ( TooComplexException tce )
@@ -373,8 +356,7 @@ public class FastDnParserTest
{
try
{
- FastDnParser dnParser = FastDnParser.getNameParser();
- dnParser.parse( "a=#zz" );
+ FastDnParser.parse( "a=#zz" );
fail( "Hex DNs not supported by fast parser" );
}
catch ( TooComplexException tce )
@@ -390,10 +372,9 @@ public class FastDnParserTest
@Test
public void testLdapDNQuotedAttributeValue() throws LdapException
{
- FastDnParser dnParser = FastDnParser.getNameParser();
try
{
- dnParser.parse( "a = quoted \\\"value" );
+ FastDnParser.parse( "a = quoted \\\"value" );
fail( "Quotes not supported by fast parser" );
}
catch ( TooComplexException tce )
@@ -409,8 +390,7 @@ public class FastDnParserTest
@Test
public void testNameToBytes() throws LdapException
{
- FastDnParser dnParser = FastDnParser.getNameParser();
- Dn dn = (Dn) dnParser.parse( "cn = John, ou = People, OU = Marketing" );
+ Dn dn = FastDnParser.parse( "cn = John, ou = People, OU = Marketing" );
byte[] bytes = Dn.getBytes(dn);
@@ -426,8 +406,7 @@ public class FastDnParserTest
{'C', 'N', ' ', '=', ' ', 'E', 'm', 'm', 'a', 'n', 'u', 'e', 'l', ' ', ' ', 'L', (byte) 0xc3,
(byte) 0xa9, 'c', 'h', 'a', 'r', 'n', 'y'});
- FastDnParser dnParser = FastDnParser.getNameParser();
- Dn name = (Dn) dnParser.parse( dn );
+ Dn name = FastDnParser.parse( dn );
assertEquals( dn, name.getName() );
assertEquals( "cn=Emmanuel L\u00e9charny", name.getNormName() );
@@ -440,8 +419,7 @@ public class FastDnParserTest
String dn = Strings.utf8ToString(new byte[]
{'C', '=', ' ', 'E', (byte) 0xc3, (byte) 0xa9, 'c'});
- FastDnParser dnParser = FastDnParser.getNameParser();
- Dn name = (Dn) dnParser.parse( dn );
+ Dn name = FastDnParser.parse( dn );
assertEquals( dn, name.getName() );
assertEquals( "c=E\u00e9c", name.getNormName() );
@@ -451,10 +429,9 @@ public class FastDnParserTest
@Test
public void testVsldapExtras() throws LdapException
{
- FastDnParser dnParser = FastDnParser.getNameParser();
try
{
- dnParser
+ FastDnParser
.parse( "cn=Billy Bakers, OID.2.5.4.11=Corporate Tax, ou=Fin-Accounting, ou=Americas, ou=Search, o=IMC, c=US" );
fail( "OID prefix not supported by fast parser" );
}
@@ -466,21 +443,6 @@ public class FastDnParserTest
/**
- * Class under test for void FastDnParser()
- *
- * @throws LdapException
- * if anything goes wrong
- */
- @Test
- public final void testDnParser()
- {
- FastDnParser parser = FastDnParser.getNameParser();
-
- assertNotNull( parser );
- }
-
-
- /**
* Class under test for Name parse(String)
*
* @throws LdapException
@@ -489,9 +451,7 @@ public class FastDnParserTest
@Test
public final void testParseStringEmpty() throws LdapException
{
- FastDnParser parser = FastDnParser.getNameParser();
-
- Dn nameEmpty = parser.parse( "" );
+ Dn nameEmpty = FastDnParser.parse( "" );
assertNotNull( nameEmpty );
}
@@ -506,9 +466,7 @@ public class FastDnParserTest
@Test
public final void testParseStringNull() throws LdapException
{
- FastDnParser parser = FastDnParser.getNameParser();
-
- Dn nameNull = parser.parse( null );
+ Dn nameNull = FastDnParser.parse( null );
assertEquals( "Null Dn are legal : ", "", nameNull.toString() );
}
@@ -523,16 +481,14 @@ public class FastDnParserTest
@Test
public final void testParseStringRFC1779_1() throws LdapException
{
- FastDnParser parser = FastDnParser.getNameParser();
-
- Dn nameRFC1779_1 = parser
+ Dn nameRFC1779_1 = FastDnParser
.parse( "CN=Marshall T. Rose, O=Dover Beach Consulting, L=Santa Clara, ST=California, C=US" );
assertEquals( "RFC1779_1 : ",
"CN=Marshall T. Rose, O=Dover Beach Consulting, L=Santa Clara, ST=California, C=US",
- ( (Dn) nameRFC1779_1 ).getName() );
+ nameRFC1779_1 .getName() );
assertEquals( "RFC1779_1 : ", "cn=Marshall T. Rose,o=Dover Beach Consulting,l=Santa Clara,st=California,c=US",
- ((Dn)nameRFC1779_1).getNormName() );
+ nameRFC1779_1.getNormName() );
}
@@ -545,9 +501,7 @@ public class FastDnParserTest
@Test
public final void testParseStringRFC2253_1() throws LdapException
{
- FastDnParser parser = FastDnParser.getNameParser();
-
- Dn nameRFC2253_1 = parser.parse( "CN=Steve Kille,O=Isode limited,C=GB" );
+ Dn nameRFC2253_1 = FastDnParser.parse( "CN=Steve Kille,O=Isode limited,C=GB" );
assertEquals( "RFC2253_1 : ", "CN=Steve Kille,O=Isode limited,C=GB", ( (Dn) nameRFC2253_1 ).getName() );
}
@@ -562,11 +516,9 @@ public class FastDnParserTest
@Test
public final void testParseStringRFC2253_2() throws LdapException
{
- FastDnParser parser = FastDnParser.getNameParser();
-
try
{
- parser.parse( "CN = Sales + CN = J. Smith , O = Widget Inc. , C = US" );
+ FastDnParser.parse( "CN = Sales + CN = J. Smith , O = Widget Inc. , C = US" );
fail( "Multivalued Rdn not supported by fast parser" );
}
catch ( TooComplexException tce )
@@ -585,11 +537,9 @@ public class FastDnParserTest
@Test
public final void testParseStringRFC2253_3() throws LdapException
{
- FastDnParser parser = FastDnParser.getNameParser();
-
try
{
- parser.parse( "CN=L. Eagle, O=Sue\\, Grabbit and Runn, C=GB" );
+ FastDnParser.parse( "CN=L. Eagle, O=Sue\\, Grabbit and Runn, C=GB" );
fail( "Complex DNs not supported by fast parser" );
}
catch ( TooComplexException tce )
@@ -608,11 +558,9 @@ public class FastDnParserTest
@Test
public final void testParseStringRFC2253_4() throws LdapException
{
- FastDnParser parser = FastDnParser.getNameParser();
-
try
{
- parser.parse( "CN=Before\\0DAfter,O=Test,C=GB" );
+ FastDnParser.parse( "CN=Before\\0DAfter,O=Test,C=GB" );
fail( "Complex DNs not supported by fast parser" );
}
catch ( TooComplexException tce )
@@ -631,11 +579,9 @@ public class FastDnParserTest
@Test
public final void testParseStringRFC2253_5() throws LdapException
{
- FastDnParser parser = FastDnParser.getNameParser();
-
try
{
- parser.parse( "1.3.6.1.4.1.1466.0=#04024869,O=Test,C=GB" );
+ FastDnParser.parse( "1.3.6.1.4.1.1466.0=#04024869,O=Test,C=GB" );
fail( "Hex DNs not supported by fast parser" );
}
catch ( TooComplexException tce )
@@ -654,11 +600,9 @@ public class FastDnParserTest
@Test
public final void testParseStringRFC2253_6() throws LdapException
{
- FastDnParser parser = FastDnParser.getNameParser();
-
try
{
- parser.parse( "SN=Lu\\C4\\8Di\\C4\\87" );
+ FastDnParser.parse( "SN=Lu\\C4\\8Di\\C4\\87" );
fail( "Complex DNs not supported by fast parser" );
}
catch ( TooComplexException tce )
@@ -677,11 +621,9 @@ public class FastDnParserTest
@Test
public final void testParseInvalidString()
{
- FastDnParser parser = FastDnParser.getNameParser();
-
try
{
- parser.parse( "ś=śrasulu,dc=example,dc=com" );
+ FastDnParser.parse( "ś=śrasulu,dc=example,dc=com" );
fail( "the invalid name should never succeed in a parse" );
}
catch ( LdapException e )
@@ -703,11 +645,11 @@ public class FastDnParserTest
@Test
public final void testPreserveSpaceAfterEscape() throws LdapException
{
- FastDnParser parser = FastDnParser.getNameParser();
String input = "ou=some test\\, something else";
+
try
{
- parser.parse( input ).toString();
+ FastDnParser.parse( input ).toString();
fail( "Complex DNs not supported by fast parser" );
}
catch ( TooComplexException tce )
@@ -722,10 +664,9 @@ public class FastDnParserTest
{
// '\' should be escaped as stated in RFC 2253
String path = "windowsFilePath=C:\\\\cygwin";
- FastDnParser parser = FastDnParser.getNameParser();
try
{
- parser.parse( path );
+ FastDnParser.parse( path );
fail( "Complex DNs not supported by fast parser" );
}
catch ( TooComplexException tce )
@@ -742,8 +683,7 @@ public class FastDnParserTest
{ 'c', 'n', '=', 0x4A, ( byte ) 0xC3, ( byte ) 0xA9, 0x72, ( byte ) 0xC3, ( byte ) 0xB4, 0x6D, 0x65 },
"UTF-8" );
- FastDnParser parser = FastDnParser.getNameParser();
- String result = parser.parse( cn ).toString();
+ String result = FastDnParser.parse( cn ).toString();
assertEquals( "cn=J\u00e9r\u00f4me", result );
@@ -758,8 +698,7 @@ public class FastDnParserTest
( byte ) 0xC3, ( byte ) 0x9F, ( byte ) 0xC3, ( byte ) 0xA4, ( byte ) 0xC3, ( byte ) 0xB6,
( byte ) 0xC3, ( byte ) 0xBC }, "UTF-8" );
- FastDnParser parser = FastDnParser.getNameParser();
- String result = parser.parse( cn ).toString();
+ String result = FastDnParser.parse( cn ).toString();
assertEquals( "cn=\u00C4\u00D6\u00DC\u00DF\u00E4\u00F6\u00FC", result );
}
@@ -774,8 +713,7 @@ public class FastDnParserTest
( byte ) 0xC3, ( byte ) 0x9C, ( byte ) 0xC3, ( byte ) 0xBC, ( byte ) 0xC4, ( byte ) 0x9E,
( byte ) 0xC4, ( byte ) 0x9F }, "UTF-8" );
- FastDnParser parser = FastDnParser.getNameParser();
- String result = parser.parse( cn ).toString();
+ String result = FastDnParser.parse( cn ).toString();
assertEquals( "cn=\u0130\u0131\u015E\u015F\u00D6\u00F6\u00DC\u00FC\u011E\u011F", result );
@@ -787,10 +725,9 @@ public class FastDnParserTest
{
String cn = new String( new byte[]
{ 'c', 'n', '=', ( byte ) 0xC3, ( byte ) 0x84, 0x5C, 0x32, 0x42 }, "UTF-8" );
- FastDnParser parser = FastDnParser.getNameParser();
try
{
- parser.parse( cn ).toString();
+ FastDnParser.parse( cn ).toString();
fail( "DNs with special characters not supported by fast parser" );
}
catch ( TooComplexException tce )
@@ -806,10 +743,9 @@ public class FastDnParserTest
String cn = new String( new byte[]
{ 'c', 'n', '=', ( byte ) 0xC3, ( byte ) 0x84, '\\', '+' }, "UTF-8" );
- FastDnParser parser = FastDnParser.getNameParser();
try
{
- parser.parse( cn ).toString();
+ FastDnParser.parse( cn ).toString();
fail( "DNs with special characters not supported by fast parser" );
}
catch ( TooComplexException tce )
@@ -829,12 +765,11 @@ public class FastDnParserTest
@Test
public final void testNonEscapedChars() throws LdapException
{
- FastDnParser parser = FastDnParser.getNameParser();
String input = "ou=ou+test";
try
{
- parser.parse( input ).toString();
+ FastDnParser.parse( input ).toString();
fail( "Should never reach this point" );
}
catch ( TooComplexException tce )
Modified: directory/shared/trunk/ldap/model/src/test/java/org/apache/directory/shared/ldap/model/name/RdnTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/model/src/test/java/org/apache/directory/shared/ldap/model/name/RdnTest.java?rev=1084194&r1=1084193&r2=1084194&view=diff
==============================================================================
--- directory/shared/trunk/ldap/model/src/test/java/org/apache/directory/shared/ldap/model/name/RdnTest.java (original)
+++ directory/shared/trunk/ldap/model/src/test/java/org/apache/directory/shared/ldap/model/name/RdnTest.java Tue Mar 22 14:33:57 2011
@@ -268,26 +268,6 @@ public class RdnTest
/**
* Test the clone method for a Rdn.
- */
- @Test
- public void testParseRDNNull()
- {
- Rdn rdn = null;
-
- try
- {
- RdnParser.parse( "c=d", rdn );
- fail();
- }
- catch ( LdapException ine )
- {
- assertTrue( true );
- }
- }
-
-
- /**
- * Test the clone method for a Rdn.
*
* @throws LdapException
*/
@@ -298,7 +278,7 @@ public class RdnTest
Rdn rdnClone = (Rdn) rdn.clone();
- RdnParser.parse( "c=d", rdn );
+ rdn = new Rdn( "c=d" );
assertEquals( "b", rdnClone.getValue( "a" ) );
}
@@ -331,7 +311,7 @@ public class RdnTest
Rdn rdnClone = (Rdn) rdn.clone();
rdn.clear();
- RdnParser.parse( "c=d", rdn );
+ rdn = new Rdn( "c=d" );
assertEquals( "b", rdnClone.getValue( "a" ) );
assertEquals( "bb", rdnClone.getValue( "aa" ) );
@@ -1134,8 +1114,8 @@ public class RdnTest
@Test
public void testRdnWithEmptyValue() throws LdapException
{
- assertTrue( RdnParser.isValid("a=") );
- assertTrue( RdnParser.isValid( "a=\"\"" ) );
+ assertTrue( Rdn.isValid( "a=" ) );
+ assertTrue( Rdn.isValid( "a=\"\"" ) );
assertEquals( "a=", new Rdn( "a=\"\"" ).getNormName() );
assertEquals( "a=", new Rdn( "a=" ).getNormName() );
}
@@ -1147,14 +1127,14 @@ public class RdnTest
@Test
public void testRdnWithEscapedComa() throws LdapException
{
- assertTrue( RdnParser.isValid( "a=b\\,c" ) );
+ assertTrue( Rdn.isValid( "a=b\\,c" ) );
assertEquals( "a=b\\,c", new Rdn( "a=b\\,c" ).getNormName() );
- assertTrue( RdnParser.isValid( "a=\"b,c\"" ) );
+ assertTrue( Rdn.isValid( "a=\"b,c\"" ) );
assertEquals( "a=b\\,c", new Rdn( "a=\"b,c\"" ).getNormName() );
assertEquals( "a=\"b,c\"", new Rdn( "a=\"b,c\"" ).getName() );
- assertTrue( RdnParser.isValid( "a=\"b\\,c\"" ) );
+ assertTrue( Rdn.isValid( "a=\"b\\,c\"" ) );
Rdn rdn = new Rdn( "a=\"b\\,c\"" );
assertEquals( "a=\"b\\,c\"", rdn.getName() );
assertEquals( "a=b\\,c", rdn.getNormName() );