You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by er...@apache.org on 2007/07/01 20:11:50 UTC
svn commit: r552349 - in /directory/shared/trunk/ldap/src:
main/antlr/ACIItem.g
main/java/org/apache/directory/shared/ldap/aci/ACIItemChecker.java
test/java/org/apache/directory/shared/ldap/aci/ACIItemChekerTest.java
Author: ersiner
Date: Sun Jul 1 11:11:49 2007
New Revision: 552349
URL: http://svn.apache.org/viewvc?view=rev&rev=552349
Log:
Fix for DIRSERVER-891. Used the original ACIItem grammar instead of the light Checher grammar for the Checker parser. Enabled commented out tests and they pass now.
Modified:
directory/shared/trunk/ldap/src/main/antlr/ACIItem.g
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/aci/ACIItemChecker.java
directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/aci/ACIItemChekerTest.java
Modified: directory/shared/trunk/ldap/src/main/antlr/ACIItem.g
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/antlr/ACIItem.g?view=diff&rev=552349&r1=552348&r2=552349
==============================================================================
--- directory/shared/trunk/ldap/src/main/antlr/ACIItem.g (original)
+++ directory/shared/trunk/ldap/src/main/antlr/ACIItem.g Sun Jul 1 11:11:49 2007
@@ -494,7 +494,10 @@
// A Dn can be considered as a set of attributeTypeAndValues
// So, parse the set as a Dn and extract each attributeTypeAndValue
LdapDN attributeTypeAndValueSetAsDn = new LdapDN( token.getText() );
- attributeTypeAndValueSetAsDn.normalize( oidsMap );
+ if ( oidsMap != null )
+ {
+ attributeTypeAndValueSetAsDn.normalize( oidsMap );
+ }
Enumeration attributeTypeAndValueSet = attributeTypeAndValueSetAsDn.getAll();
while ( attributeTypeAndValueSet.hasMoreElements() )
{
@@ -1159,7 +1162,10 @@
token:SAFEUTF8STRING
{
name = new LdapDN( token.getText() );
- name.normalize( oidsMap );
+ if ( oidsMap != null )
+ {
+ name.normalize( oidsMap );
+ }
log.debug( "recognized a DistinguishedName: " + token.getText() );
}
;
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/aci/ACIItemChecker.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/aci/ACIItemChecker.java?view=diff&rev=552349&r1=552348&r2=552349
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/aci/ACIItemChecker.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/aci/ACIItemChecker.java Sun Jul 1 11:11:49 2007
@@ -42,10 +42,10 @@
public class ACIItemChecker
{
/** the antlr generated parser being wrapped */
- private ReusableAntlrACIItemChecker checker;
+ private ReusableAntlrACIItemParser checker;
/** the antlr generated lexer being wrapped */
- private ReusableAntlrACIItemCheckerLexer lexer;
+ private ReusableAntlrACIItemLexer lexer;
private final boolean isNormalizing;
@@ -55,27 +55,9 @@
*/
public ACIItemChecker()
{
- this.lexer = new ReusableAntlrACIItemCheckerLexer( new StringReader( "" ) );
- this.checker = new ReusableAntlrACIItemChecker( lexer );
-
- this.checker.init(); // this method MUST be called while we cannot do
- // constructor overloading for antlr generated parser
+ this.lexer = new ReusableAntlrACIItemLexer( new StringReader( "" ) );
+ this.checker = new ReusableAntlrACIItemParser( lexer );
this.isNormalizing = false;
- }
-
-
- /**
- * Creates a normalizing ACIItem parser.
- */
- public ACIItemChecker(NameComponentNormalizer normalizer, Map oidsMap )
- {
- this.lexer = new ReusableAntlrACIItemCheckerLexer( new StringReader( "" ) );
- this.checker = new ReusableAntlrACIItemChecker( lexer );
-
- this.checker.setNormalizer( normalizer );
- this.checker.init(); // this method MUST be called while we cannot do
- // constructor overloading for antlr generated parser
- this.isNormalizing = true;
}
Modified: directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/aci/ACIItemChekerTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/aci/ACIItemChekerTest.java?view=diff&rev=552349&r1=552348&r2=552349
==============================================================================
--- directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/aci/ACIItemChekerTest.java (original)
+++ directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/aci/ACIItemChekerTest.java Sun Jul 1 11:11:49 2007
@@ -258,37 +258,37 @@
{
String spec;
-// // no name-value-pair
-// spec = "{ identificationTag \"id2\" , precedence 14, authenticationLevel none , "
-// + "itemOrUserFirst userFirst: { userPermissions { { protectedItems{ entry , attributeType { cn , ou } , attributeValue { must_be_a_name_value_pair } , "
-// + "rangeOfValues (cn=ErsinEr) } , grantsAndDenials { grantBrowse } } }, userClasses { allUsers , name { \"ou=people,cn=ersin\" }, "
-// + "subtree {{ minimum 7, maximum 9, base \"ou=system\" }, { base \"ou=ORGANIZATIONUNIT\","
-// + " maximum 2, minimum 1 } } } } } ";
-// try
-// {
-// checker.parse( spec );
-// fail("Expected ParseException, invalid protected item 'attributeValue { must_be_a_name_value_pair }'");
-// }
-// catch ( ParseException e )
-// {
-// // Expected
-// }
-//
-// // no name-value-pair
-// spec = "{ identificationTag \"id2\" , precedence 14, authenticationLevel none , "
-// + "itemOrUserFirst userFirst: { userPermissions { { protectedItems{ entry , attributeType { cn , ou } , attributeValue { x=y,m=n,k=l,x } , "
-// + "rangeOfValues (cn=ErsinEr) } , grantsAndDenials { grantBrowse } } }, userClasses { allUsers , name { \"ou=people,cn=ersin\" }, "
-// + "subtree {{ minimum 7, maximum 9, base \"ou=system\" }, { base \"ou=ORGANIZATIONUNIT\","
-// + " maximum 2, minimum 1 } } } } } ";
-// try
-// {
-// checker.parse( spec );
-// fail("Expected ParseException, invalid protected item 'attributeValue { must_be_a_name_value_pair }'");
-// }
-// catch ( ParseException e )
-// {
-// // Expected
-// }
+ // no name-value-pair
+ spec = "{ identificationTag \"id2\" , precedence 14, authenticationLevel none , "
+ + "itemOrUserFirst userFirst: { userPermissions { { protectedItems{ entry , attributeType { cn , ou } , attributeValue { must_be_a_name_value_pair } , "
+ + "rangeOfValues (cn=ErsinEr) } , grantsAndDenials { grantBrowse } } }, userClasses { allUsers , name { \"ou=people,cn=ersin\" }, "
+ + "subtree {{ minimum 7, maximum 9, base \"ou=system\" }, { base \"ou=ORGANIZATIONUNIT\","
+ + " maximum 2, minimum 1 } } } } } ";
+ try
+ {
+ checker.parse( spec );
+ fail("Expected ParseException, invalid protected item 'attributeValue { must_be_a_name_value_pair }'");
+ }
+ catch ( ParseException e )
+ {
+ // Expected
+ }
+
+ // no name-value-pair
+ spec = "{ identificationTag \"id2\" , precedence 14, authenticationLevel none , "
+ + "itemOrUserFirst userFirst: { userPermissions { { protectedItems{ entry , attributeType { cn , ou } , attributeValue { x=y,m=n,k=l,x } , "
+ + "rangeOfValues (cn=ErsinEr) } , grantsAndDenials { grantBrowse } } }, userClasses { allUsers , name { \"ou=people,cn=ersin\" }, "
+ + "subtree {{ minimum 7, maximum 9, base \"ou=system\" }, { base \"ou=ORGANIZATIONUNIT\","
+ + " maximum 2, minimum 1 } } } } } ";
+ try
+ {
+ checker.parse( spec );
+ fail("Expected ParseException, invalid protected item 'attributeValue { must_be_a_name_value_pair }'");
+ }
+ catch ( ParseException e )
+ {
+ // Expected
+ }
}
@@ -310,38 +310,38 @@
// Expected
}
-// spec = "{ identificationTag \"id2\" }";
-// try
-// {
-// checker.parse( spec );
-// fail("Expected ParseException, ACIItem is incomplete'");
-// }
-// catch ( ParseException e )
-// {
-// // Expected
-// }
-//
-// spec = "{ identificationTag \"id2\", precedence 14 } ";
-// try
-// {
-// checker.parse( spec );
-// fail("Expected ParseException, ACIItem is incomplete'");
-// }
-// catch ( ParseException e )
-// {
-// // Expected
-// }
-//
-// spec = "{ identificationTag \"id2\", precedence 14, authenticationLevel none } ";
-// try
-// {
-// checker.parse( spec );
-// fail("Expected ParseException, ACIItem is incomplete'");
-// }
-// catch ( ParseException e )
-// {
-// // Expected
-// }
+ spec = "{ identificationTag \"id2\" }";
+ try
+ {
+ checker.parse( spec );
+ fail("Expected ParseException, ACIItem is incomplete'");
+ }
+ catch ( ParseException e )
+ {
+ // Expected
+ }
+
+ spec = "{ identificationTag \"id2\", precedence 14 } ";
+ try
+ {
+ checker.parse( spec );
+ fail("Expected ParseException, ACIItem is incomplete'");
+ }
+ catch ( ParseException e )
+ {
+ // Expected
+ }
+
+ spec = "{ identificationTag \"id2\", precedence 14, authenticationLevel none } ";
+ try
+ {
+ checker.parse( spec );
+ fail("Expected ParseException, ACIItem is incomplete'");
+ }
+ catch ( ParseException e )
+ {
+ // Expected
+ }
}
}