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 2009/08/25 00:04:07 UTC
svn commit: r807400 - in /directory:
apacheds/branches/apacheds-schema/core-integ/src/test/java/org/apache/directory/server/core/schema/
apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/
apacheds/branches/apa...
Author: elecharny
Date: Mon Aug 24 22:04:06 2009
New Revision: 807400
URL: http://svn.apache.org/viewvc?rev=807400&view=rev
Log:
Removed the LdapSyntaxDescription class and used LdapSynhtax instead
Modified:
directory/apacheds/branches/apacheds-schema/core-integ/src/test/java/org/apache/directory/server/core/schema/SubschemaSubentryIT.java
directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/DescriptionParsers.java
directory/apacheds/branches/apacheds-schema/schema-bootstrap/src/main/java/org/apache/directory/server/schema/bootstrap/SystemSyntaxCheckerProducer.java
directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/LdapSyntax.java
directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/parsers/LdapSyntaxDescriptionSchemaParser.java
directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/syntaxChecker/LdapSyntaxDescriptionSyntaxChecker.java
directory/shared/branches/shared-schema/ldap/src/test/java/org/apache/directory/shared/ldap/schema/syntax/parser/LdapSyntaxDescriptionSchemaParserTest.java
Modified: directory/apacheds/branches/apacheds-schema/core-integ/src/test/java/org/apache/directory/server/core/schema/SubschemaSubentryIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core-integ/src/test/java/org/apache/directory/server/core/schema/SubschemaSubentryIT.java?rev=807400&r1=807399&r2=807400&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core-integ/src/test/java/org/apache/directory/server/core/schema/SubschemaSubentryIT.java (original)
+++ directory/apacheds/branches/apacheds-schema/core-integ/src/test/java/org/apache/directory/server/core/schema/SubschemaSubentryIT.java Mon Aug 24 22:04:06 2009
@@ -33,13 +33,13 @@
import org.apache.directory.shared.ldap.message.ResultCodeEnum;
import org.apache.directory.shared.ldap.name.LdapDN;
import org.apache.directory.shared.ldap.schema.AttributeType;
+import org.apache.directory.shared.ldap.schema.LdapSyntax;
import org.apache.directory.shared.ldap.schema.SyntaxChecker;
import org.apache.directory.shared.ldap.schema.normalizers.DeepTrimNormalizer;
import org.apache.directory.shared.ldap.schema.parsers.AttributeTypeDescription;
import org.apache.directory.shared.ldap.schema.parsers.AttributeTypeDescriptionSchemaParser;
import org.apache.directory.shared.ldap.schema.parsers.LdapComparatorDescriptionSchemaParser;
import org.apache.directory.shared.ldap.schema.parsers.LdapComparatorDescription;
-import org.apache.directory.shared.ldap.schema.parsers.LdapSyntaxDescription;
import org.apache.directory.shared.ldap.schema.parsers.LdapSyntaxDescriptionSchemaParser;
import org.apache.directory.shared.ldap.schema.parsers.MatchingRuleDescription;
import org.apache.directory.shared.ldap.schema.parsers.MatchingRuleDescriptionSchemaParser;
@@ -714,25 +714,27 @@
Attributes attrs = getSubschemaSubentryAttributes();
Attribute attrTypes = attrs.get( "ldapSyntaxes" );
- LdapSyntaxDescription syntaxDescription = null;
+ LdapSyntax ldapSyntax = null;
+
for ( int ii = 0; ii < attrTypes.size(); ii++ )
{
String desc = ( String ) attrTypes.get( ii );
+
if ( desc.indexOf( oid ) != -1 )
{
- syntaxDescription = ldapSyntaxDescriptionSchemaParser.parseLdapSyntaxDescription( desc );
+ ldapSyntax = ldapSyntaxDescriptionSchemaParser.parseLdapSyntaxDescription( desc );
break;
}
}
if ( isPresent )
{
- assertNotNull( syntaxDescription );
- assertEquals( oid, syntaxDescription.getOid() );
+ assertNotNull( ldapSyntax );
+ assertEquals( oid, ldapSyntax.getOid() );
}
else
{
- assertNull( syntaxDescription );
+ assertNull( ldapSyntax );
}
// -------------------------------------------------------------------
@@ -898,7 +900,7 @@
if ( isPresent )
{
assertNotNull( matchingRuleDescription );
- assertEquals( oid, matchingRuleDescription.getNumericOid() );
+ assertEquals( oid, matchingRuleDescription.getOid() );
}
else
{
@@ -937,11 +939,11 @@
if ( isPresent )
{
- assertTrue( service.getRegistries().getMatchingRuleRegistry().hasMatchingRule( oid ) );
+ assertTrue( service.getRegistries().getMatchingRuleRegistry().contains( oid ) );
}
else
{
- assertFalse( service.getRegistries().getMatchingRuleRegistry().hasMatchingRule( oid ) );
+ assertFalse( service.getRegistries().getMatchingRuleRegistry().contains( oid ) );
}
}
Modified: directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/DescriptionParsers.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/DescriptionParsers.java?rev=807400&r1=807399&r2=807400&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/DescriptionParsers.java (original)
+++ directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/DescriptionParsers.java Mon Aug 24 22:04:06 2009
@@ -26,7 +26,6 @@
import javax.naming.NamingException;
import org.apache.directory.server.constants.MetaSchemaConstants;
-import org.apache.directory.server.schema.registries.Registries;
import org.apache.directory.shared.ldap.constants.SchemaConstants;
import org.apache.directory.shared.ldap.entry.EntryAttribute;
import org.apache.directory.shared.ldap.entry.Value;
@@ -51,13 +50,11 @@
import org.apache.directory.shared.ldap.schema.parsers.DITContentRuleDescriptionSchemaParser;
import org.apache.directory.shared.ldap.schema.parsers.DITStructureRuleDescription;
import org.apache.directory.shared.ldap.schema.parsers.DITStructureRuleDescriptionSchemaParser;
-import org.apache.directory.shared.ldap.schema.parsers.LdapSyntaxDescription;
import org.apache.directory.shared.ldap.schema.parsers.LdapSyntaxDescriptionSchemaParser;
import org.apache.directory.shared.ldap.schema.parsers.MatchingRuleDescription;
import org.apache.directory.shared.ldap.schema.parsers.MatchingRuleDescriptionSchemaParser;
import org.apache.directory.shared.ldap.schema.parsers.MatchingRuleUseDescription;
import org.apache.directory.shared.ldap.schema.parsers.MatchingRuleUseDescriptionSchemaParser;
-import org.apache.directory.shared.ldap.schema.parsers.NameFormDescription;
import org.apache.directory.shared.ldap.schema.parsers.NameFormDescriptionSchemaParser;
import org.apache.directory.shared.ldap.schema.parsers.NormalizerDescription;
import org.apache.directory.shared.ldap.schema.parsers.NormalizerDescriptionSchemaParser;
@@ -65,6 +62,7 @@
import org.apache.directory.shared.ldap.schema.parsers.ObjectClassDescriptionSchemaParser;
import org.apache.directory.shared.ldap.schema.parsers.SyntaxCheckerDescription;
import org.apache.directory.shared.ldap.schema.parsers.SyntaxCheckerDescriptionSchemaParser;
+import org.apache.directory.shared.ldap.schema.registries.Registries;
/**
@@ -511,10 +509,10 @@
/**
- * Parses a set of ldapSyntaxDescriptions held within an attribute into
+ * Parses a set of ldapSyntaxes held within an attribute into
* schema entities.
*
- * @param attr the attribute containing ldapSyntaxDescriptions
+ * @param attr the attribute containing ldapSyntaxes
* @return the set of Syntax objects for the descriptions
* @throws NamingException if there are problems parsing the descriptions
*/
@@ -531,22 +529,22 @@
for ( Value<?> value:attr )
{
- LdapSyntaxDescription desc = null;
+ LdapSyntax ldapSyntax = null;
try
{
- desc = syntaxParser.parseLdapSyntaxDescription( value.getString() );
+ ldapSyntax = syntaxParser.parseLdapSyntaxDescription( value.getString() );
}
catch ( ParseException e )
{
LdapInvalidAttributeValueException iave = new LdapInvalidAttributeValueException(
- "The following does not conform to the ldapSyntaxDescription syntax: " + value.getString(),
+ "The following does not conform to the ldapSyntax description syntax: " + value.getString(),
ResultCodeEnum.INVALID_ATTRIBUTE_SYNTAX );
iave.setRootCause( e );
throw iave;
}
- if ( ! dao.hasSyntaxChecker( desc.getOid() ) )
+ if ( ! dao.hasSyntaxChecker( ldapSyntax.getOid() ) )
{
throw new LdapOperationNotSupportedException(
"Cannot permit the addition of a syntax without the prior creation of a " +
@@ -554,9 +552,7 @@
ResultCodeEnum.UNWILLING_TO_PERFORM );
}
- LdapSyntax ldapSyntax = new LdapSyntax( desc.getOid() );
- setSchemaObjectProperties( desc, ldapSyntax );
- ldapSyntax.setHumanReadable( isHumanReadable( desc ) );
+ ldapSyntax.setHumanReadable( isHumanReadable( ldapSyntax ) );
syntaxes[pos++] = ldapSyntax;
}
@@ -738,11 +734,11 @@
for ( Value<?> value:attr )
{
- NameFormDescription desc = null;
+ NameForm nf = null;
try
{
- desc = nameFormParser.parseNameFormDescription( value.getString() );
+ nf = nameFormParser.parseNameFormDescription( value.getString() );
}
catch ( ParseException e )
{
@@ -753,13 +749,6 @@
throw iave;
}
- NameFormImpl nf = new NameFormImpl( desc.getNumericOid(), globalRegistries );
- nf.setMayUseOids( desc.getMayAttributeTypes().toArray( EMPTY ) );
- nf.setMustUseOids( desc.getMustAttributeTypes().toArray( EMPTY ) );
- nf.setObjectClassOid( desc.getStructuralObjectClass() );
-
- setSchemaObjectProperties( desc, nf );
-
nameForms[pos++] = nf;
}
@@ -779,11 +768,8 @@
obj.setDescription( desc.getDescription() );
obj.setSchemaName( getSchema( desc ) );
- if ( ! ( desc instanceof LdapSyntaxDescription ) )
- {
- obj.setNames( desc.getNames() );
- obj.setObsolete( desc.isObsolete() );
- }
+ obj.setNames( desc.getNames() );
+ obj.setObsolete( desc.isObsolete() );
}
@@ -791,12 +777,12 @@
* Checks to see if the syntax description is human readable by checking
* for the presence of the X-IS-HUMAN_READABLE schema extension.
*
- * @param desc the ldapSyntaxDescription
+ * @param desc the ldapSyntax
* @return true if the syntax is human readable, false otherwise
*/
- private boolean isHumanReadable( LdapSyntaxDescription desc )
+ private boolean isHumanReadable( LdapSyntax ldapSyntax )
{
- List<String> values = desc.getExtensions().get( MetaSchemaConstants.X_IS_HUMAN_READABLE );
+ List<String> values = ldapSyntax.getExtensions().get( MetaSchemaConstants.X_IS_HUMAN_READABLE );
if ( values == null || values.size() == 0 )
{
Modified: directory/apacheds/branches/apacheds-schema/schema-bootstrap/src/main/java/org/apache/directory/server/schema/bootstrap/SystemSyntaxCheckerProducer.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/schema-bootstrap/src/main/java/org/apache/directory/server/schema/bootstrap/SystemSyntaxCheckerProducer.java?rev=807400&r1=807399&r2=807400&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/schema-bootstrap/src/main/java/org/apache/directory/server/schema/bootstrap/SystemSyntaxCheckerProducer.java (original)
+++ directory/apacheds/branches/apacheds-schema/schema-bootstrap/src/main/java/org/apache/directory/server/schema/bootstrap/SystemSyntaxCheckerProducer.java Mon Aug 24 22:04:06 2009
@@ -23,8 +23,8 @@
import javax.naming.NamingException;
import org.apache.directory.server.schema.bootstrap.ProducerTypeEnum;
-import org.apache.directory.server.schema.registries.Registries;
import org.apache.directory.shared.ldap.constants.SchemaConstants;
+import org.apache.directory.shared.ldap.schema.registries.Registries;
import org.apache.directory.shared.ldap.schema.syntaxChecker.ACIItemSyntaxChecker;
import org.apache.directory.shared.ldap.schema.syntaxChecker.AcceptAllSyntaxChecker;
import org.apache.directory.shared.ldap.schema.syntaxChecker.AccessPointSyntaxChecker;
Modified: directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/LdapSyntax.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/LdapSyntax.java?rev=807400&r1=807399&r2=807400&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/LdapSyntax.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/LdapSyntax.java Mon Aug 24 22:04:06 2009
@@ -22,9 +22,6 @@
import javax.naming.NamingException;
-import org.apache.directory.shared.ldap.schema.registries.SyntaxCheckerRegistry;
-
-
/**
* A syntax definition. Each attribute stored in a directory has a defined
Modified: directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/parsers/LdapSyntaxDescriptionSchemaParser.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/parsers/LdapSyntaxDescriptionSchemaParser.java?rev=807400&r1=807399&r2=807400&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/parsers/LdapSyntaxDescriptionSchemaParser.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/parsers/LdapSyntaxDescriptionSchemaParser.java Mon Aug 24 22:04:06 2009
@@ -22,6 +22,7 @@
import java.text.ParseException;
+import org.apache.directory.shared.ldap.schema.LdapSyntax;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -60,10 +61,10 @@
* </pre>
*
* @param ldapSyntaxDescription the LDAP syntay description to be parsed
- * @return the parsed LdapSyntaxDescription bean
+ * @return the parsed LdapSyntax bean
* @throws ParseException if there are any recognition errors (bad syntax)
*/
- public synchronized LdapSyntaxDescription parseLdapSyntaxDescription( String ldapSyntaxDescription )
+ public synchronized LdapSyntax parseLdapSyntaxDescription( String ldapSyntaxDescription )
throws ParseException
{
@@ -77,8 +78,9 @@
try
{
- LdapSyntaxDescription lsd = parser.ldapSyntaxDescription();
- return lsd;
+ LdapSyntax ldapSyntax = parser.ldapSyntaxDescription();
+ ldapSyntax.setSpecification( ldapSyntaxDescription );
+ return ldapSyntax;
}
catch ( RecognitionException re )
{
@@ -102,9 +104,9 @@
* Parses a LdapSyntax description
*
* @param The LdapSyntax description to parse
- * @return An instance of LdapSyntaxDescription
+ * @return An instance of LdapSyntax
*/
- public LdapSyntaxDescription parse( String schemaDescription ) throws ParseException
+ public LdapSyntax parse( String schemaDescription ) throws ParseException
{
return parseLdapSyntaxDescription( schemaDescription );
}
Modified: directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/syntaxChecker/LdapSyntaxDescriptionSyntaxChecker.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/syntaxChecker/LdapSyntaxDescriptionSyntaxChecker.java?rev=807400&r1=807399&r2=807400&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/syntaxChecker/LdapSyntaxDescriptionSyntaxChecker.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/syntaxChecker/LdapSyntaxDescriptionSyntaxChecker.java Mon Aug 24 22:04:06 2009
@@ -52,7 +52,7 @@
/** The serialVersionUID */
private static final long serialVersionUID = 1L;
- /** The schema parser used to parse the LdapSyntaxDescription Syntax */
+ /** The schema parser used to parse the LdapSyntax description Syntax */
private LdapSyntaxDescriptionSchemaParser schemaParser = new LdapSyntaxDescriptionSchemaParser();
Modified: directory/shared/branches/shared-schema/ldap/src/test/java/org/apache/directory/shared/ldap/schema/syntax/parser/LdapSyntaxDescriptionSchemaParserTest.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/test/java/org/apache/directory/shared/ldap/schema/syntax/parser/LdapSyntaxDescriptionSchemaParserTest.java?rev=807400&r1=807399&r2=807400&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/test/java/org/apache/directory/shared/ldap/schema/syntax/parser/LdapSyntaxDescriptionSchemaParserTest.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/test/java/org/apache/directory/shared/ldap/schema/syntax/parser/LdapSyntaxDescriptionSchemaParserTest.java Mon Aug 24 22:04:06 2009
@@ -22,7 +22,7 @@
import java.text.ParseException;
-import org.apache.directory.shared.ldap.schema.parsers.LdapSyntaxDescription;
+import org.apache.directory.shared.ldap.schema.LdapSyntax;
import org.apache.directory.shared.ldap.schema.parsers.LdapSyntaxDescriptionSchemaParser;
import org.junit.After;
import org.junit.Before;
@@ -113,22 +113,23 @@
public void testFull() throws ParseException
{
String value = null;
- LdapSyntaxDescription lsd = null;
+ LdapSyntax ldapSyntax = null;
value = "( 1.2.3.4.5.6.7.8.9.0 DESC 'Descripton \u00E4\u00F6\u00FC\u00DF \u90E8\u9577' X-TEST-a ('test1-1' 'test1-2') X-TEST-b ('test2-1' 'test2-2') )";
- lsd = parser.parseLdapSyntaxDescription( value );
+ ldapSyntax = parser.parseLdapSyntaxDescription( value );
- assertEquals( "1.2.3.4.5.6.7.8.9.0", lsd.getOid() );
- assertEquals( "Descripton \u00E4\u00F6\u00FC\u00DF \u90E8\u9577", lsd.getDescription() );
- assertEquals( 2, lsd.getExtensions().size() );
- assertNotNull( lsd.getExtensions().get( "X-TEST-a" ) );
- assertEquals( 2, lsd.getExtensions().get( "X-TEST-a" ).size() );
- assertEquals( "test1-1", lsd.getExtensions().get( "X-TEST-a" ).get( 0 ) );
- assertEquals( "test1-2", lsd.getExtensions().get( "X-TEST-a" ).get( 1 ) );
- assertNotNull( lsd.getExtensions().get( "X-TEST-b" ) );
- assertEquals( 2, lsd.getExtensions().get( "X-TEST-b" ).size() );
- assertEquals( "test2-1", lsd.getExtensions().get( "X-TEST-b" ).get( 0 ) );
- assertEquals( "test2-2", lsd.getExtensions().get( "X-TEST-b" ).get( 1 ) );
+ assertEquals( "1.2.3.4.5.6.7.8.9.0", ldapSyntax.getOid() );
+ assertEquals( "Descripton \u00E4\u00F6\u00FC\u00DF \u90E8\u9577", ldapSyntax.getDescription() );
+ assertEquals( 2, ldapSyntax.getExtensions().size() );
+ assertNotNull( ldapSyntax.getExtensions().get( "X-TEST-a" ) );
+ assertEquals( 2, ldapSyntax.getExtensions().get( "X-TEST-a" ).size() );
+ assertEquals( "test1-1", ldapSyntax.getExtensions().get( "X-TEST-a" ).get( 0 ) );
+ assertEquals( "test1-2", ldapSyntax.getExtensions().get( "X-TEST-a" ).get( 1 ) );
+ assertNotNull( ldapSyntax.getExtensions().get( "X-TEST-b" ) );
+ assertEquals( 2, ldapSyntax.getExtensions().get( "X-TEST-b" ).size() );
+ assertEquals( "test2-1", ldapSyntax.getExtensions().get( "X-TEST-b" ).get( 0 ) );
+ assertEquals( "test2-2", ldapSyntax.getExtensions().get( "X-TEST-b" ).get( 1 ) );
+ assertEquals( value, ldapSyntax.getSpecification() );
}
@@ -154,14 +155,15 @@
public void testRfcBinary() throws ParseException
{
String value = "( 1.3.6.1.4.1.1466.115.121.1.5 DESC 'Binary' X-NOT-HUMAN-READABLE 'TRUE' )";
- LdapSyntaxDescription lsd = parser.parseLdapSyntaxDescription( value );
+ LdapSyntax ldapSyntax = parser.parseLdapSyntaxDescription( value );
- assertEquals( "1.3.6.1.4.1.1466.115.121.1.5", lsd.getOid() );
- assertEquals( "Binary", lsd.getDescription() );
- assertEquals( 1, lsd.getExtensions().size() );
- assertNotNull( lsd.getExtensions().get( "X-NOT-HUMAN-READABLE" ) );
- assertEquals( 1, lsd.getExtensions().get( "X-NOT-HUMAN-READABLE" ).size() );
- assertEquals( "TRUE", lsd.getExtensions().get( "X-NOT-HUMAN-READABLE" ).get( 0 ) );
+ assertEquals( "1.3.6.1.4.1.1466.115.121.1.5", ldapSyntax.getOid() );
+ assertEquals( "Binary", ldapSyntax.getDescription() );
+ assertEquals( 1, ldapSyntax.getExtensions().size() );
+ assertNotNull( ldapSyntax.getExtensions().get( "X-NOT-HUMAN-READABLE" ) );
+ assertEquals( 1, ldapSyntax.getExtensions().get( "X-NOT-HUMAN-READABLE" ).size() );
+ assertEquals( "TRUE", ldapSyntax.getExtensions().get( "X-NOT-HUMAN-READABLE" ).get( 0 ) );
+ assertEquals( value, ldapSyntax.getSpecification() );
}
@@ -172,10 +174,11 @@
public void testSyntaxWithExtensions() throws ParseException
{
String substrate = "( 1.3.6.1.4.1.18060.0.4.0.2.10000 DESC 'bogus description' X-SCHEMA 'blah' X-IS-HUMAN-READABLE 'true' )";
- LdapSyntaxDescription desc = parser.parseLdapSyntaxDescription( substrate );
- assertEquals( "1.3.6.1.4.1.18060.0.4.0.2.10000", desc.getOid() );
- assertEquals( "bogus description", desc.getDescription() );
- assertNotNull( desc.getExtensions().get( "X-IS-HUMAN-READABLE" ) );
+ LdapSyntax ldapSyntax = parser.parseLdapSyntaxDescription( substrate );
+ assertEquals( "1.3.6.1.4.1.18060.0.4.0.2.10000", ldapSyntax.getOid() );
+ assertEquals( "bogus description", ldapSyntax.getDescription() );
+ assertNotNull( ldapSyntax.getExtensions().get( "X-IS-HUMAN-READABLE" ) );
+ assertEquals( substrate, ldapSyntax.getSpecification() );
}