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/02 11:44:50 UTC

svn commit: r552444 - /directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/AuthorizationService.java

Author: ersiner
Date: Mon Jul  2 02:44:50 2007
New Revision: 552444

URL: http://svn.apache.org/viewvc?view=rev&rev=552444
Log:
Attempting to fix DIRSERVER-988. Need to test tho.

Modified:
    directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/AuthorizationService.java

Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/AuthorizationService.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/AuthorizationService.java?view=diff&rev=552444&r1=552443&r2=552444
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/AuthorizationService.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/AuthorizationService.java Mon Jul  2 02:44:50 2007
@@ -535,9 +535,12 @@
         // bypass authz code but manage caches if operation is performed by the admin
         if ( isPrincipalAnAdministrator( principalDn ) )
         {
-            
             next.modify( opContext );
-            tupleCache.subentryModified( name, mods, entry );
+            /**
+             * @TODO: A virtual entry can be created here for not hitting the backend again.
+             */
+            Attributes modifiedEntry = proxy.lookup( new LookupOperationContext( name ), PartitionNexusProxy.LOOKUP_BYPASS );
+            tupleCache.subentryModified( name, mods, modifiedEntry );
             groupCache.groupModified( name, mods, entry );
             return;
         }
@@ -582,7 +585,11 @@
         
 
         next.modify( opContext );
-        tupleCache.subentryModified( name, mods, entry );
+        /**
+         * @TODO: A virtual entry can be created here for not hitting the backend again.
+         */
+        Attributes modifiedEntry = proxy.lookup( new LookupOperationContext( name ), PartitionNexusProxy.LOOKUP_BYPASS );
+        tupleCache.subentryModified( name, mods, modifiedEntry );
         groupCache.groupModified( name, mods, entry );
     }