You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by se...@apache.org on 2009/01/01 10:50:01 UTC
svn commit: r730519 - in /directory/shared/trunk/ldap/src:
main/antlr/ACIItem.g
test/java/org/apache/directory/shared/ldap/aci/ACIItemParserTest.java
Author: seelmann
Date: Thu Jan 1 01:50:01 2009
New Revision: 730519
URL: http://svn.apache.org/viewvc?rev=730519&view=rev
Log:
DIRSTUDIO-440: Reset precedence variable
Modified:
directory/shared/trunk/ldap/src/main/antlr/ACIItem.g
directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/aci/ACIItemParserTest.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?rev=730519&r1=730518&r2=730519&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/antlr/ACIItem.g (original)
+++ directory/shared/trunk/ldap/src/main/antlr/ACIItem.g Thu Jan 1 01:50:01 2009
@@ -111,7 +111,7 @@
// these are only used by three first order components
private String identificationTag;
private AuthenticationLevel authenticationLevel;
- private int aciPrecedence;
+ private int aciPrecedence = -1;
private boolean isItemFirstACIItem;
@@ -121,7 +121,7 @@
private Set<UserClass> userClasses;
private Map<String, UserClass> userClassesMap;
private Set<ItemPermission> itemPermissions;
- private int precedence;
+ private int precedence = -1;
private Set<GrantAndDenial> grantsAndDenials;
private Set<UserPermission> userPermissions;
private Map<String, OidNormalizer> oidsMap;
@@ -212,7 +212,7 @@
{
ACIItem = new ItemFirstACIItem(
identificationTag,
- precedence,
+ aciPrecedence,
authenticationLevel,
protectedItems,
itemPermissions );
@@ -277,6 +277,7 @@
precedence
{
aciPrecedence = precedence;
+ precedence = -1;
}
;
@@ -733,6 +734,7 @@
}
itemPermission = new ItemPermission( precedence, grantsAndDenials, userClasses );
+ precedence = -1;
}
;
@@ -1002,7 +1004,8 @@
+ userPermissionComponentsMonitor.getRemainingComponents() );
}
- userPermission = new UserPermission( aciPrecedence, grantsAndDenials, protectedItems );
+ userPermission = new UserPermission( precedence, grantsAndDenials, protectedItems );
+ precedence = -1;
}
;
Modified: directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/aci/ACIItemParserTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/aci/ACIItemParserTest.java?rev=730519&r1=730518&r2=730519&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/aci/ACIItemParserTest.java (original)
+++ directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/aci/ACIItemParserTest.java Thu Jan 1 01:50:01 2009
@@ -508,8 +508,45 @@
ACIItem item = parser.parse( spec );
checkItemToString( spec, item );
}
-
-
+
+
+ /**
+ * Test case for DIRSTUDIO-440
+ */
+ public void testPrecedenceOfUserFirst() throws Exception
+ {
+ String spec = "{ identificationTag \"test\", precedence 14, authenticationLevel simple, "
+ + "itemOrUserFirst userFirst: { userClasses { allUsers }, userPermissions { { "
+ + "precedence 1, protectedItems { attributeType { userPassword } }, grantsAndDenials "
+ + "{ denyRead, denyReturnDN, denyBrowse } }, { precedence 2, protectedItems "
+ + "{ entry, allUserAttributeTypesAndValues }, grantsAndDenials "
+ + "{ grantReturnDN, grantRead, grantBrowse } } } } }";
+
+ ACIItem item = parser.parse( spec );
+ checkItemToString( spec, item );
+
+ UserFirstACIItem userFirstItem = ( UserFirstACIItem ) item;
+ int aciPrecedence = userFirstItem.getPrecedence();
+ assertEquals( 14, aciPrecedence );
+ for ( UserPermission permission : userFirstItem.getUserPermission() )
+ {
+ int precedence = permission.getPrecedence();
+ if ( precedence == 1 )
+ {
+ assertEquals( 1, precedence );
+ }
+ else if ( precedence == 2 )
+ {
+ assertEquals( 2, precedence );
+ }
+ else
+ {
+ fail( "Got precedence " + precedence + ", excpected precedence 1 or 2." );
+ }
+ }
+ }
+
+
/**
* Test case for DIRSERVER-891
*/