directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From elecha...@apache.org
Subject svn commit: r1209069 [7/8] - in /directory/apacheds/branches/apacheds-txns: core-api/ core-api/src/main/java/org/apache/directory/server/core/api/ core-api/src/main/java/org/apache/directory/server/core/api/interceptor/ core-api/src/main/java/org/apach...
Date Thu, 01 Dec 2011 13:25:35 GMT
Modified: directory/apacheds/branches/apacheds-txns/core/pom.xml
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core/pom.xml?rev=1209069&r1=1209068&r2=1209069&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core/pom.xml (original)
+++ directory/apacheds/branches/apacheds-txns/core/pom.xml Thu Dec  1 13:25:26 2011
@@ -48,18 +48,6 @@
       <groupId>${project.groupId}</groupId>
       <artifactId>apacheds-i18n</artifactId>
     </dependency>
-    
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>apacheds-core-api</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>apacheds-core-api</artifactId>
-      <classifier>tests</classifier>
-      <scope>test</scope>
-    </dependency>
 
     <dependency>
       <groupId>${project.groupId}</groupId>
@@ -103,21 +91,11 @@
 
     <dependency>
       <groupId>${project.groupId}</groupId>
-      <artifactId>apacheds-interceptors-hash</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>${project.groupId}</groupId>
       <artifactId>apacheds-interceptors-journal</artifactId>
     </dependency>
 
     <dependency>
       <groupId>${project.groupId}</groupId>
-      <artifactId>apacheds-interceptors-logger</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>${project.groupId}</groupId>
       <artifactId>apacheds-interceptors-normalization</artifactId>
     </dependency>
 
@@ -147,48 +125,17 @@
     </dependency>
     
     <dependency>
-      <groupId>commons-collections</groupId>
-      <artifactId>commons-collections</artifactId>
-    </dependency>
-    
-    <dependency>
       <groupId>commons-lang</groupId>
       <artifactId>commons-lang</artifactId>
     </dependency>
     
     <dependency>
       <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-client-api</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-i18n</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-standalone</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
       <artifactId>shared-ldap-codec-core</artifactId>
     </dependency>
     
     <dependency>
       <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-aci</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-trigger</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
       <artifactId>shared-ldap-extras-util</artifactId>
     </dependency>
     
@@ -211,17 +158,6 @@
       <groupId>bouncycastle</groupId>
       <artifactId>bcprov-jdk15</artifactId>
     </dependency>
-    
-    <dependency>
-      <groupId>net.sf.ehcache</groupId>
-      <artifactId>ehcache-core</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-codec</artifactId>
-      <scope>provided</scope>
-    </dependency>
   </dependencies>
 
   <build>

Modified: directory/apacheds/branches/apacheds-txns/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java?rev=1209069&r1=1209068&r2=1209069&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java (original)
+++ directory/apacheds/branches/apacheds-txns/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java Thu Dec  1 13:25:26 2011
@@ -984,8 +984,8 @@ public class DefaultDirectoryService imp
         list.add( new DefaultAuthorizationInterceptor() );
         list.add( new AdministrativePointInterceptor() );
         list.add( new ExceptionInterceptor() );
-        list.add( new OperationalAttributeInterceptor() );
         list.add( new SchemaInterceptor() );
+        list.add( new OperationalAttributeInterceptor() );
         list.add( new CollectiveAttributeInterceptor() );
         list.add( new SubentryInterceptor() );
         list.add( new EventInterceptor() );

Propchange: directory/apacheds/branches/apacheds-txns/interceptors/admin/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Dec  1 13:25:26 2011
@@ -1 +1 @@
-/directory/apacheds/trunk/interceptors/admin:1183435-1201301
+/directory/apacheds/trunk/interceptors/admin:1183435-1209047

Modified: directory/apacheds/branches/apacheds-txns/interceptors/admin/pom.xml
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/interceptors/admin/pom.xml?rev=1209069&r1=1209068&r2=1209069&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/interceptors/admin/pom.xml (original)
+++ directory/apacheds/branches/apacheds-txns/interceptors/admin/pom.xml Thu Dec  1 13:25:26 2011
@@ -37,22 +37,6 @@
 
   <dependencies>
     <dependency>
-      <groupId>org.apache.directory.junit</groupId>
-      <artifactId>junit-addons</artifactId>
-      <scope>test</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>apacheds-i18n</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>apacheds-core-api</artifactId>
-    </dependency>
-    
-    <dependency>
       <groupId>${project.groupId}</groupId>
       <artifactId>apacheds-core-api</artifactId>
       <classifier>tests</classifier>
@@ -65,47 +49,6 @@
     </dependency>
     
     <dependency>
-      <groupId>commons-collections</groupId>
-      <artifactId>commons-collections</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-client-api</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-i18n</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-standalone</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-core</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-aci</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-trigger</artifactId>
-    </dependency>
-    
-    <dependency>
       <groupId>org.apache.directory.shared</groupId>
       <artifactId>shared-ldap-extras-util</artifactId>
     </dependency>
@@ -117,29 +60,8 @@
     
     <dependency>
       <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-schema-data</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
       <artifactId>shared-util</artifactId>
     </dependency>
-    
-    <dependency>
-      <groupId>bouncycastle</groupId>
-      <artifactId>bcprov-jdk15</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>net.sf.ehcache</groupId>
-      <artifactId>ehcache-core</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-codec</artifactId>
-      <scope>provided</scope>
-    </dependency>
   </dependencies>
 
   <build>

Propchange: directory/apacheds/branches/apacheds-txns/interceptors/authn/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Dec  1 13:25:26 2011
@@ -1 +1 @@
-/directory/apacheds/trunk/interceptors/authn:1183435-1201301
+/directory/apacheds/trunk/interceptors/authn:1183435-1209047

Modified: directory/apacheds/branches/apacheds-txns/interceptors/authn/pom.xml
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/interceptors/authn/pom.xml?rev=1209069&r1=1209068&r2=1209069&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/interceptors/authn/pom.xml (original)
+++ directory/apacheds/branches/apacheds-txns/interceptors/authn/pom.xml Thu Dec  1 13:25:26 2011
@@ -54,13 +54,6 @@
     
     <dependency>
       <groupId>${project.groupId}</groupId>
-      <artifactId>apacheds-core-api</artifactId>
-      <classifier>tests</classifier>
-      <scope>test</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>${project.groupId}</groupId>
       <artifactId>apacheds-core-shared</artifactId>
     </dependency>
     
@@ -78,36 +71,15 @@
       <groupId>org.apache.directory.shared</groupId>
       <artifactId>shared-ldap-client-api</artifactId>
     </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-i18n</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-standalone</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-core</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-aci</artifactId>
-    </dependency>
-    
+
     <dependency>
       <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-trigger</artifactId>
+      <artifactId>shared-ldap-extras-codec</artifactId>
     </dependency>
-    
+
     <dependency>
       <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-util</artifactId>
+      <artifactId>shared-ldap-extras-codec-api</artifactId>
     </dependency>
     
     <dependency>
@@ -126,19 +98,8 @@
     </dependency>
     
     <dependency>
-      <groupId>bouncycastle</groupId>
-      <artifactId>bcprov-jdk15</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>net.sf.ehcache</groupId>
-      <artifactId>ehcache-core</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-codec</artifactId>
-      <scope>provided</scope>
+      <groupId>org.apache.mina</groupId>
+      <artifactId>mina-core</artifactId>
     </dependency>
   </dependencies>
 

Modified: directory/apacheds/branches/apacheds-txns/interceptors/authn/src/main/java/org/apache/directory/server/core/authn/AuthenticationInterceptor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/interceptors/authn/src/main/java/org/apache/directory/server/core/authn/AuthenticationInterceptor.java?rev=1209069&r1=1209068&r2=1209069&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/interceptors/authn/src/main/java/org/apache/directory/server/core/authn/AuthenticationInterceptor.java (original)
+++ directory/apacheds/branches/apacheds-txns/interceptors/authn/src/main/java/org/apache/directory/server/core/authn/AuthenticationInterceptor.java Thu Dec  1 13:25:26 2011
@@ -29,6 +29,7 @@ import static org.apache.directory.share
 import static org.apache.directory.shared.ldap.model.constants.PasswordPolicySchemaConstants.PWD_HISTORY_AT;
 import static org.apache.directory.shared.ldap.model.constants.PasswordPolicySchemaConstants.PWD_LAST_SUCCESS_AT;
 import static org.apache.directory.shared.ldap.model.constants.PasswordPolicySchemaConstants.PWD_RESET_AT;
+import static org.apache.directory.shared.ldap.model.constants.PasswordPolicySchemaConstants.PWD_POLICY_SUBENTRY_AT;
 import static org.apache.directory.shared.ldap.model.entry.ModificationOperation.ADD_ATTRIBUTE;
 import static org.apache.directory.shared.ldap.model.entry.ModificationOperation.REMOVE_ATTRIBUTE;
 import static org.apache.directory.shared.ldap.model.entry.ModificationOperation.REPLACE_ATTRIBUTE;
@@ -1207,6 +1208,8 @@ public class AuthenticationInterceptor e
 
             AT_PWD_GRACE_USE_TIME = schemaManager.lookupAttributeTypeRegistry( PWD_GRACE_USE_TIME_AT );
             PWD_POLICY_STATE_ATTRIBUTE_TYPES.add( AT_PWD_GRACE_USE_TIME );
+            
+            PWD_POLICY_STATE_ATTRIBUTE_TYPES.add( schemaManager.lookupAttributeTypeRegistry( PWD_POLICY_SUBENTRY_AT ) );
         }
     }
 

Propchange: directory/apacheds/branches/apacheds-txns/interceptors/authz/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Dec  1 13:25:26 2011
@@ -1 +1 @@
-/directory/apacheds/trunk/interceptors/authz:1183435-1201301
+/directory/apacheds/trunk/interceptors/authz:1183435-1209047

Modified: directory/apacheds/branches/apacheds-txns/interceptors/authz/pom.xml
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/interceptors/authz/pom.xml?rev=1209069&r1=1209068&r2=1209069&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/interceptors/authz/pom.xml (original)
+++ directory/apacheds/branches/apacheds-txns/interceptors/authz/pom.xml Thu Dec  1 13:25:26 2011
@@ -54,64 +54,16 @@
     
     <dependency>
       <groupId>${project.groupId}</groupId>
-      <artifactId>apacheds-core-api</artifactId>
-      <classifier>tests</classifier>
-      <scope>test</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>${project.groupId}</groupId>
       <artifactId>apacheds-core-shared</artifactId>
     </dependency>
     
     <dependency>
-      <groupId>commons-collections</groupId>
-      <artifactId>commons-collections</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-client-api</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-i18n</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-standalone</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-core</artifactId>
-    </dependency>
-    
-    <dependency>
       <groupId>org.apache.directory.shared</groupId>
       <artifactId>shared-ldap-extras-aci</artifactId>
     </dependency>
     
     <dependency>
       <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-trigger</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-util</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
       <artifactId>shared-ldap-model</artifactId>
     </dependency>
     
@@ -121,11 +73,6 @@
     </dependency>
     
     <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-util</artifactId>
-    </dependency>
-    
-    <dependency>
       <groupId>bouncycastle</groupId>
       <artifactId>bcprov-jdk15</artifactId>
     </dependency>
@@ -134,12 +81,6 @@
       <groupId>net.sf.ehcache</groupId>
       <artifactId>ehcache-core</artifactId>
     </dependency>
-
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-codec</artifactId>
-      <scope>provided</scope>
-    </dependency>
   </dependencies>
 
   <build>

Propchange: directory/apacheds/branches/apacheds-txns/interceptors/changelog/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Dec  1 13:25:26 2011
@@ -1 +1 @@
-/directory/apacheds/trunk/interceptors/changelog:1183435-1201301
+/directory/apacheds/trunk/interceptors/changelog:1183435-1209047

Modified: directory/apacheds/branches/apacheds-txns/interceptors/changelog/pom.xml
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/interceptors/changelog/pom.xml?rev=1209069&r1=1209068&r2=1209069&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/interceptors/changelog/pom.xml (original)
+++ directory/apacheds/branches/apacheds-txns/interceptors/changelog/pom.xml Thu Dec  1 13:25:26 2011
@@ -54,63 +54,10 @@
     
     <dependency>
       <groupId>${project.groupId}</groupId>
-      <artifactId>apacheds-core-api</artifactId>
-      <classifier>tests</classifier>
-      <scope>test</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>${project.groupId}</groupId>
       <artifactId>apacheds-core-shared</artifactId>
     </dependency>
     
     <dependency>
-      <groupId>commons-collections</groupId>
-      <artifactId>commons-collections</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-client-api</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-i18n</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-standalone</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-core</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-aci</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-trigger</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-util</artifactId>
-    </dependency>
-    
-    <dependency>
       <groupId>org.apache.directory.shared</groupId>
       <artifactId>shared-ldap-model</artifactId>
     </dependency>
@@ -124,22 +71,6 @@
       <groupId>org.apache.directory.shared</groupId>
       <artifactId>shared-util</artifactId>
     </dependency>
-    
-    <dependency>
-      <groupId>bouncycastle</groupId>
-      <artifactId>bcprov-jdk15</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>net.sf.ehcache</groupId>
-      <artifactId>ehcache-core</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-codec</artifactId>
-      <scope>provided</scope>
-    </dependency>
   </dependencies>
 
   <build>

Propchange: directory/apacheds/branches/apacheds-txns/interceptors/collective/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Dec  1 13:25:26 2011
@@ -1 +1 @@
-/directory/apacheds/trunk/interceptors/collective:1183435-1201301
+/directory/apacheds/trunk/interceptors/collective:1183435-1209047

Modified: directory/apacheds/branches/apacheds-txns/interceptors/collective/pom.xml
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/interceptors/collective/pom.xml?rev=1209069&r1=1209068&r2=1209069&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/interceptors/collective/pom.xml (original)
+++ directory/apacheds/branches/apacheds-txns/interceptors/collective/pom.xml Thu Dec  1 13:25:26 2011
@@ -37,12 +37,6 @@
 
   <dependencies>
     <dependency>
-      <groupId>org.apache.directory.junit</groupId>
-      <artifactId>junit-addons</artifactId>
-      <scope>test</scope>
-    </dependency>
-    
-    <dependency>
       <groupId>${project.groupId}</groupId>
       <artifactId>apacheds-i18n</artifactId>
     </dependency>
@@ -53,88 +47,9 @@
     </dependency>
     
     <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>apacheds-core-api</artifactId>
-      <classifier>tests</classifier>
-      <scope>test</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>commons-collections</groupId>
-      <artifactId>commons-collections</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-client-api</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-i18n</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-standalone</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-core</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-aci</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-trigger</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-util</artifactId>
-    </dependency>
-    
-    <dependency>
       <groupId>org.apache.directory.shared</groupId>
       <artifactId>shared-ldap-model</artifactId>
     </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-schema-data</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-util</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>bouncycastle</groupId>
-      <artifactId>bcprov-jdk15</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>net.sf.ehcache</groupId>
-      <artifactId>ehcache-core</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-codec</artifactId>
-      <scope>provided</scope>
-    </dependency>
   </dependencies>
 
   <build>

Propchange: directory/apacheds/branches/apacheds-txns/interceptors/event/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Dec  1 13:25:26 2011
@@ -1 +1 @@
-/directory/apacheds/trunk/interceptors/event:1183435-1201301
+/directory/apacheds/trunk/interceptors/event:1183435-1209047

Modified: directory/apacheds/branches/apacheds-txns/interceptors/event/pom.xml
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/interceptors/event/pom.xml?rev=1209069&r1=1209068&r2=1209069&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/interceptors/event/pom.xml (original)
+++ directory/apacheds/branches/apacheds-txns/interceptors/event/pom.xml Thu Dec  1 13:25:26 2011
@@ -37,109 +37,14 @@
 
   <dependencies>
     <dependency>
-      <groupId>org.apache.directory.junit</groupId>
-      <artifactId>junit-addons</artifactId>
-      <scope>test</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>apacheds-i18n</artifactId>
-    </dependency>
-    
-    <dependency>
       <groupId>${project.groupId}</groupId>
       <artifactId>apacheds-core-api</artifactId>
     </dependency>
     
     <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>apacheds-core-api</artifactId>
-      <classifier>tests</classifier>
-      <scope>test</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>apacheds-core-shared</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>commons-collections</groupId>
-      <artifactId>commons-collections</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-client-api</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-i18n</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-standalone</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-core</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-aci</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-trigger</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-util</artifactId>
-    </dependency>
-    
-    <dependency>
       <groupId>org.apache.directory.shared</groupId>
       <artifactId>shared-ldap-model</artifactId>
     </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-schema-data</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-util</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>bouncycastle</groupId>
-      <artifactId>bcprov-jdk15</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>net.sf.ehcache</groupId>
-      <artifactId>ehcache-core</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-codec</artifactId>
-      <scope>provided</scope>
-    </dependency>
   </dependencies>
 
   <build>

Propchange: directory/apacheds/branches/apacheds-txns/interceptors/exception/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Dec  1 13:25:26 2011
@@ -1 +1 @@
-/directory/apacheds/trunk/interceptors/exception:1183435-1201301
+/directory/apacheds/trunk/interceptors/exception:1183435-1209047

Modified: directory/apacheds/branches/apacheds-txns/interceptors/exception/pom.xml
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/interceptors/exception/pom.xml?rev=1209069&r1=1209068&r2=1209069&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/interceptors/exception/pom.xml (original)
+++ directory/apacheds/branches/apacheds-txns/interceptors/exception/pom.xml Thu Dec  1 13:25:26 2011
@@ -37,12 +37,6 @@
 
   <dependencies>
     <dependency>
-      <groupId>org.apache.directory.junit</groupId>
-      <artifactId>junit-addons</artifactId>
-      <scope>test</scope>
-    </dependency>
-    
-    <dependency>
       <groupId>${project.groupId}</groupId>
       <artifactId>apacheds-i18n</artifactId>
     </dependency>
@@ -54,13 +48,6 @@
     
     <dependency>
       <groupId>${project.groupId}</groupId>
-      <artifactId>apacheds-core-api</artifactId>
-      <classifier>tests</classifier>
-      <scope>test</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>${project.groupId}</groupId>
       <artifactId>apacheds-core-shared</artifactId>
     </dependency>
     
@@ -70,76 +57,9 @@
     </dependency>
     
     <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-client-api</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-i18n</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-standalone</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-core</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-aci</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-trigger</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-util</artifactId>
-    </dependency>
-    
-    <dependency>
       <groupId>org.apache.directory.shared</groupId>
       <artifactId>shared-ldap-model</artifactId>
     </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-schema-data</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-util</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>bouncycastle</groupId>
-      <artifactId>bcprov-jdk15</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>net.sf.ehcache</groupId>
-      <artifactId>ehcache-core</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-codec</artifactId>
-      <scope>provided</scope>
-    </dependency>
   </dependencies>
 
   <build>

Propchange: directory/apacheds/branches/apacheds-txns/interceptors/journal/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Dec  1 13:25:26 2011
@@ -1 +1 @@
-/directory/apacheds/trunk/interceptors/journal:1183435-1201301
+/directory/apacheds/trunk/interceptors/journal:1183435-1209047

Modified: directory/apacheds/branches/apacheds-txns/interceptors/journal/pom.xml
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/interceptors/journal/pom.xml?rev=1209069&r1=1209068&r2=1209069&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/interceptors/journal/pom.xml (original)
+++ directory/apacheds/branches/apacheds-txns/interceptors/journal/pom.xml Thu Dec  1 13:25:26 2011
@@ -37,104 +37,14 @@
 
   <dependencies>
     <dependency>
-      <groupId>org.apache.directory.junit</groupId>
-      <artifactId>junit-addons</artifactId>
-      <scope>test</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>apacheds-i18n</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>apacheds-core-api</artifactId>
-    </dependency>
-    
-    <dependency>
       <groupId>${project.groupId}</groupId>
       <artifactId>apacheds-core-api</artifactId>
-      <classifier>tests</classifier>
-      <scope>test</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>commons-collections</groupId>
-      <artifactId>commons-collections</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-client-api</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-i18n</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-standalone</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-core</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-aci</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-trigger</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-util</artifactId>
     </dependency>
     
     <dependency>
       <groupId>org.apache.directory.shared</groupId>
       <artifactId>shared-ldap-model</artifactId>
     </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-schema-data</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-util</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>bouncycastle</groupId>
-      <artifactId>bcprov-jdk15</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>net.sf.ehcache</groupId>
-      <artifactId>ehcache-core</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-codec</artifactId>
-      <scope>provided</scope>
-    </dependency>
   </dependencies>
 
   <build>

Propchange: directory/apacheds/branches/apacheds-txns/interceptors/normalization/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Dec  1 13:25:26 2011
@@ -1 +1 @@
-/directory/apacheds/trunk/interceptors/normalization:1183435-1201301
+/directory/apacheds/trunk/interceptors/normalization:1183435-1209046

Modified: directory/apacheds/branches/apacheds-txns/interceptors/normalization/pom.xml
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/interceptors/normalization/pom.xml?rev=1209069&r1=1209068&r2=1209069&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/interceptors/normalization/pom.xml (original)
+++ directory/apacheds/branches/apacheds-txns/interceptors/normalization/pom.xml Thu Dec  1 13:25:26 2011
@@ -53,64 +53,6 @@
     </dependency>
     
     <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>apacheds-core-api</artifactId>
-      <classifier>tests</classifier>
-      <scope>test</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>apacheds-core-shared</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>commons-collections</groupId>
-      <artifactId>commons-collections</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-client-api</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-i18n</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-standalone</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-core</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-aci</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-trigger</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-util</artifactId>
-    </dependency>
-    
-    <dependency>
       <groupId>org.apache.directory.shared</groupId>
       <artifactId>shared-ldap-model</artifactId>
     </dependency>
@@ -124,22 +66,6 @@
       <groupId>org.apache.directory.shared</groupId>
       <artifactId>shared-util</artifactId>
     </dependency>
-    
-    <dependency>
-      <groupId>bouncycastle</groupId>
-      <artifactId>bcprov-jdk15</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>net.sf.ehcache</groupId>
-      <artifactId>ehcache-core</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-codec</artifactId>
-      <scope>provided</scope>
-    </dependency>
   </dependencies>
 
   <build>

Propchange: directory/apacheds/branches/apacheds-txns/interceptors/operational/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Dec  1 13:25:26 2011
@@ -1 +1 @@
-/directory/apacheds/trunk/interceptors/operational:1183435-1201301
+/directory/apacheds/trunk/interceptors/operational:1183435-1209046

Modified: directory/apacheds/branches/apacheds-txns/interceptors/operational/pom.xml
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/interceptors/operational/pom.xml?rev=1209069&r1=1209068&r2=1209069&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/interceptors/operational/pom.xml (original)
+++ directory/apacheds/branches/apacheds-txns/interceptors/operational/pom.xml Thu Dec  1 13:25:26 2011
@@ -37,12 +37,6 @@
 
   <dependencies>
     <dependency>
-      <groupId>org.apache.directory.junit</groupId>
-      <artifactId>junit-addons</artifactId>
-      <scope>test</scope>
-    </dependency>
-    
-    <dependency>
       <groupId>${project.groupId}</groupId>
       <artifactId>apacheds-i18n</artifactId>
     </dependency>
@@ -53,88 +47,14 @@
     </dependency>
     
     <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>apacheds-core-api</artifactId>
-      <classifier>tests</classifier>
-      <scope>test</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>commons-collections</groupId>
-      <artifactId>commons-collections</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-client-api</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-i18n</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-standalone</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-core</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-aci</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-trigger</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-util</artifactId>
-    </dependency>
-    
-    <dependency>
       <groupId>org.apache.directory.shared</groupId>
       <artifactId>shared-ldap-model</artifactId>
     </dependency>
     
     <dependency>
       <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-schema-data</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
       <artifactId>shared-util</artifactId>
     </dependency>
-    
-    <dependency>
-      <groupId>bouncycastle</groupId>
-      <artifactId>bcprov-jdk15</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>net.sf.ehcache</groupId>
-      <artifactId>ehcache-core</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-codec</artifactId>
-      <scope>provided</scope>
-    </dependency>
   </dependencies>
 
   <build>

Modified: directory/apacheds/branches/apacheds-txns/interceptors/operational/src/main/java/org/apache/directory/server/core/operational/OperationalAttributeInterceptor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/interceptors/operational/src/main/java/org/apache/directory/server/core/operational/OperationalAttributeInterceptor.java?rev=1209069&r1=1209068&r2=1209069&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/interceptors/operational/src/main/java/org/apache/directory/server/core/operational/OperationalAttributeInterceptor.java (original)
+++ directory/apacheds/branches/apacheds-txns/interceptors/operational/src/main/java/org/apache/directory/server/core/operational/OperationalAttributeInterceptor.java Thu Dec  1 13:25:26 2011
@@ -55,8 +55,6 @@ import org.apache.directory.shared.ldap.
 import org.apache.directory.shared.ldap.model.entry.Value;
 import org.apache.directory.shared.ldap.model.exception.LdapException;
 import org.apache.directory.shared.ldap.model.exception.LdapNoPermissionException;
-import org.apache.directory.shared.ldap.model.exception.LdapSchemaViolationException;
-import org.apache.directory.shared.ldap.model.message.ResultCodeEnum;
 import org.apache.directory.shared.ldap.model.name.Ava;
 import org.apache.directory.shared.ldap.model.name.Dn;
 import org.apache.directory.shared.ldap.model.name.Rdn;
@@ -256,16 +254,46 @@ public class OperationalAttributeInterce
     public Entry lookup( LookupOperationContext lookupContext ) throws LdapException
     {
         Entry result = next( lookupContext );
-
-        if ( lookupContext.getAttrsId() == null )
+        
+        if ( lookupContext.hasAllUser() )
         {
-            filterOperationalAttributes( result );
+            if ( lookupContext.hasAllOperational() )
+            {
+                // The user has requested '+' and '*', return everything.
+                return result;
+            }
+            else
+            {
+                filter( lookupContext, result );
+            }
         }
-        else if ( !lookupContext.hasAllOperational() )
+        else
         {
-            filter( lookupContext, result );
+            if ( lookupContext.hasAllOperational() )
+            {
+                // Select the user attrinbutes from the result, depending on the returning attributes list
+                filterUserAttributes( lookupContext, result );
+            }
+            else if ( ( lookupContext.getAttrsId() == null ) || ( lookupContext.getAttrsId().size() == 0 ) )
+            {
+                // No returning attributes, return all the user attributes
+                // unless the user has requested no attributes
+                if ( lookupContext.hasNoAttribute() )
+                {
+                    result.clear();
+                }
+                else
+                {
+                    filterOperationalAttributes( result );
+                }
+            }
+            else
+            {
+                // Deal with the returning attributes
+                filterList( lookupContext, result );
+            }
         }
-
+        
         denormalizeEntryOpAttrs( result );
 
         return result;
@@ -301,7 +329,7 @@ public class OperationalAttributeInterce
                 {
                     String message = I18n.err( I18n.ERR_31 );
                     LOG.error( message );
-                    throw new LdapSchemaViolationException( ResultCodeEnum.INSUFFICIENT_ACCESS_RIGHTS, message );
+                    throw new LdapNoPermissionException( message );
                 }
                 else
                 {
@@ -315,7 +343,7 @@ public class OperationalAttributeInterce
                 {
                     String message = I18n.err( I18n.ERR_32 );
                     LOG.error( message );
-                    throw new LdapSchemaViolationException( ResultCodeEnum.INSUFFICIENT_ACCESS_RIGHTS, message );
+                    throw new LdapNoPermissionException( message );
                 }
                 else
                 {
@@ -329,7 +357,7 @@ public class OperationalAttributeInterce
                 {
                     String message = I18n.err( I18n.ERR_32 );
                     LOG.error( message );
-                    throw new LdapSchemaViolationException( ResultCodeEnum.INSUFFICIENT_ACCESS_RIGHTS, message );
+                    throw new LdapNoPermissionException( message );
                 }
                 else
                 {
@@ -341,7 +369,7 @@ public class OperationalAttributeInterce
             {
                 String message = I18n.err( I18n.ERR_32 );
                 LOG.error( message );
-                throw new LdapSchemaViolationException( ResultCodeEnum.INSUFFICIENT_ACCESS_RIGHTS, message );
+                throw new LdapNoPermissionException( message );
             }
         }
 
@@ -426,7 +454,6 @@ public class OperationalAttributeInterce
         Entry modifiedEntry = renameContext.getOriginalEntry().clone();
         modifiedEntry.put( SchemaConstants.MODIFIERS_NAME_AT, getPrincipal( renameContext ).getName() );
         modifiedEntry.put( SchemaConstants.MODIFY_TIMESTAMP_AT, DateUtils.getGeneralizedTime() );
-        //modifiedEntry.setDn( renameContext.getNewDn() );
         renameContext.setModifiedEntry( modifiedEntry );
 
         next( renameContext );
@@ -490,13 +517,52 @@ public class OperationalAttributeInterce
     }
 
 
+    /**
+     * Filters out the user attributes within a search results attributes. The attributes are directly
+     * modified.
+     *
+     * @param attributes the resultant attributes to filter
+     * @return true always
+     * @throws Exception if there are failures in evaluation
+     */
+    private boolean filterUserAttributes( LookupOperationContext lookupContext, Entry attributes ) throws LdapException
+    {
+        Set<String> removedAttributes = new HashSet<String>();
+
+        // Build a list of attributeType to remove
+        for ( Attribute attribute : attributes.getAttributes() )
+        {
+            AttributeType attributeType = attribute.getAttributeType();
+
+            if ( attributeType.getUsage() == UsageEnum.USER_APPLICATIONS )
+            {
+                removedAttributes.add( attributeType.getOid() );
+            }
+        }
+
+        // Now remove the attributes which are not in the list to be returned
+        for ( String returningAttribute : lookupContext.getAttrsId() )
+        {
+            removedAttributes.remove( returningAttribute );
+        }
+        
+        // Now, remove the attributes from the result
+        for ( String attribute : removedAttributes )
+        {
+            attributes.removeAttributes( attribute );
+        }
+
+        return true;
+    }
+
+
     private void filter( LookupOperationContext lookupContext, Entry entry ) throws LdapException
     {
         Dn dn = lookupContext.getDn();
         List<String> ids = lookupContext.getAttrsId();
 
         // still need to protect against returning op attrs when ids is null
-        if ( ids == null || ids.isEmpty() )
+        if ( ( ids == null ) || ids.isEmpty() )
         {
             filterOperationalAttributes( entry );
             return;
@@ -504,15 +570,67 @@ public class OperationalAttributeInterce
 
         if ( dn.size() == 0 )
         {
+            Set<AttributeType> removedAttributes = new HashSet<AttributeType>();
+
             for ( Attribute attribute : entry.getAttributes() )
             {
                 AttributeType attributeType = attribute.getAttributeType();
+                
+                if ( attributeType.getUsage() != UsageEnum.USER_APPLICATIONS )
+                {
+                    // If it's not in the list of returning attribute, remove it
+                    if ( !ids.contains( attributeType.getOid() ) )
+                    {
+                        removedAttributes.add( attributeType );
+                    }
+                }
+            }
+            
+            for ( AttributeType attributeType : removedAttributes )
+            {
+                entry.removeAttributes( attributeType );
+            }
+        }
+
+        denormalizeEntryOpAttrs( entry );
+
+        // do nothing past here since this explicity specifies which
+        // attributes to include - backends will automatically populate
+        // with right set of attributes using ids array
+    }
+
+
+    private void filterList( LookupOperationContext lookupContext, Entry entry ) throws LdapException
+    {
+        Dn dn = lookupContext.getDn();
+        List<String> ids = lookupContext.getAttrsId();
+
+        // still need to protect against returning op attrs when ids is null
+        if ( ( ids == null ) || ids.isEmpty() )
+        {
+            filterOperationalAttributes( entry );
+            return;
+        }
+
+        if ( dn.size() == 0 )
+        {
+            Set<AttributeType> removedAttributes = new HashSet<AttributeType>();
 
+            for ( Attribute attribute : entry.getAttributes() )
+            {
+                AttributeType attributeType = attribute.getAttributeType();
+                
+                // If it's not in the list of returning attribute, remove it
                 if ( !ids.contains( attributeType.getOid() ) )
                 {
-                    entry.removeAttributes( attributeType );
+                    removedAttributes.add( attributeType );
                 }
             }
+            
+            for ( AttributeType attributeType : removedAttributes )
+            {
+                entry.removeAttributes( attributeType );
+            }
         }
 
         denormalizeEntryOpAttrs( entry );
@@ -523,7 +641,7 @@ public class OperationalAttributeInterce
     }
 
 
-    public void denormalizeEntryOpAttrs( Entry entry ) throws LdapException
+    private void denormalizeEntryOpAttrs( Entry entry ) throws LdapException
     {
         if ( directoryService.isDenormalizeOpAttrsEnabled() )
         {

Propchange: directory/apacheds/branches/apacheds-txns/interceptors/referral/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Dec  1 13:25:26 2011
@@ -1 +1 @@
-/directory/apacheds/trunk/interceptors/referral:1183435-1201301
+/directory/apacheds/trunk/interceptors/referral:1183435-1209046

Modified: directory/apacheds/branches/apacheds-txns/interceptors/referral/pom.xml
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/interceptors/referral/pom.xml?rev=1209069&r1=1209068&r2=1209069&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/interceptors/referral/pom.xml (original)
+++ directory/apacheds/branches/apacheds-txns/interceptors/referral/pom.xml Thu Dec  1 13:25:26 2011
@@ -37,12 +37,6 @@
 
   <dependencies>
     <dependency>
-      <groupId>org.apache.directory.junit</groupId>
-      <artifactId>junit-addons</artifactId>
-      <scope>test</scope>
-    </dependency>
-    
-    <dependency>
       <groupId>${project.groupId}</groupId>
       <artifactId>apacheds-i18n</artifactId>
     </dependency>
@@ -54,92 +48,18 @@
     
     <dependency>
       <groupId>${project.groupId}</groupId>
-      <artifactId>apacheds-core-api</artifactId>
-      <classifier>tests</classifier>
-      <scope>test</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>${project.groupId}</groupId>
       <artifactId>apacheds-core-shared</artifactId>
     </dependency>
     
     <dependency>
-      <groupId>commons-collections</groupId>
-      <artifactId>commons-collections</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-client-api</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-i18n</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-standalone</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-core</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-aci</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-trigger</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-util</artifactId>
-    </dependency>
-    
-    <dependency>
       <groupId>org.apache.directory.shared</groupId>
       <artifactId>shared-ldap-model</artifactId>
     </dependency>
     
     <dependency>
       <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-schema-data</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
       <artifactId>shared-util</artifactId>
     </dependency>
-    
-    <dependency>
-      <groupId>bouncycastle</groupId>
-      <artifactId>bcprov-jdk15</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>net.sf.ehcache</groupId>
-      <artifactId>ehcache-core</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-codec</artifactId>
-      <scope>provided</scope>
-    </dependency>
   </dependencies>
 
   <build>

Propchange: directory/apacheds/branches/apacheds-txns/interceptors/schema/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Dec  1 13:25:26 2011
@@ -1 +1 @@
-/directory/apacheds/trunk/interceptors/schema:1183435-1201301
+/directory/apacheds/trunk/interceptors/schema:1183435-1209046

Modified: directory/apacheds/branches/apacheds-txns/interceptors/schema/pom.xml
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/interceptors/schema/pom.xml?rev=1209069&r1=1209068&r2=1209069&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/interceptors/schema/pom.xml (original)
+++ directory/apacheds/branches/apacheds-txns/interceptors/schema/pom.xml Thu Dec  1 13:25:26 2011
@@ -54,64 +54,16 @@
     
     <dependency>
       <groupId>${project.groupId}</groupId>
-      <artifactId>apacheds-core-api</artifactId>
-      <classifier>tests</classifier>
-      <scope>test</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>${project.groupId}</groupId>
       <artifactId>apacheds-core-shared</artifactId>
     </dependency>
     
     <dependency>
-      <groupId>commons-collections</groupId>
-      <artifactId>commons-collections</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-client-api</artifactId>
-    </dependency>
-    
-    <dependency>
       <groupId>org.apache.directory.shared</groupId>
       <artifactId>shared-i18n</artifactId>
     </dependency>
     
     <dependency>
       <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-standalone</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-codec-core</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-aci</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-trigger</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-util</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
       <artifactId>shared-ldap-model</artifactId>
     </dependency>
     
@@ -129,17 +81,6 @@
       <groupId>bouncycastle</groupId>
       <artifactId>bcprov-jdk15</artifactId>
     </dependency>
-    
-    <dependency>
-      <groupId>net.sf.ehcache</groupId>
-      <artifactId>ehcache-core</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.directory.shared</groupId>
-      <artifactId>shared-ldap-extras-codec</artifactId>
-      <scope>provided</scope>
-    </dependency>
   </dependencies>
 
   <build>

Modified: directory/apacheds/branches/apacheds-txns/interceptors/schema/src/main/java/org/apache/directory/server/core/schema/SchemaInterceptor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/interceptors/schema/src/main/java/org/apache/directory/server/core/schema/SchemaInterceptor.java?rev=1209069&r1=1209068&r2=1209069&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/interceptors/schema/src/main/java/org/apache/directory/server/core/schema/SchemaInterceptor.java (original)
+++ directory/apacheds/branches/apacheds-txns/interceptors/schema/src/main/java/org/apache/directory/server/core/schema/SchemaInterceptor.java Thu Dec  1 13:25:26 2011
@@ -1375,7 +1375,7 @@ public class SchemaInterceptor extends B
             }
 
             modifyContext.setModItems( cleanMods );
-
+            
             // Now that the entry has been modified, update the SSSE
             schemaSubEntryManager.modifySchemaSubentry( modifyContext, modifyContext
                 .hasRequestControl( Cascade.OID ) );

Modified: directory/apacheds/branches/apacheds-txns/interceptors/schema/src/main/java/org/apache/directory/server/core/schema/SchemaSubentryManager.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/interceptors/schema/src/main/java/org/apache/directory/server/core/schema/SchemaSubentryManager.java?rev=1209069&r1=1209068&r2=1209069&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/interceptors/schema/src/main/java/org/apache/directory/server/core/schema/SchemaSubentryManager.java (original)
+++ directory/apacheds/branches/apacheds-txns/interceptors/schema/src/main/java/org/apache/directory/server/core/schema/SchemaSubentryManager.java Thu Dec  1 13:25:26 2011
@@ -22,10 +22,15 @@ package org.apache.directory.server.core
 
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import org.apache.directory.server.core.api.DirectoryService;
 import org.apache.directory.server.core.api.DnFactory;
+import org.apache.directory.server.core.api.InterceptorEnum;
+import org.apache.directory.server.core.api.OperationEnum;
+import org.apache.directory.server.core.api.interceptor.Interceptor;
 import org.apache.directory.server.core.api.interceptor.context.ModifyOperationContext;
 import org.apache.directory.server.core.api.schema.DescriptionParsers;
 import org.apache.directory.server.i18n.I18n;
@@ -85,17 +90,17 @@ public class SchemaSubentryManager
     /** The description parsers */
     private final DescriptionParsers parsers;
     
-    /** 
-     * Maps the OID of a subschemaSubentry operational attribute to the index of 
+    /**
+     * Maps the OID of a subschemaSubentry operational attribute to the index of
      * the handler in the schemaObjectHandlers array.
-     */ 
+     */
     private final Map<String, Integer> opAttr2handlerIndex = new HashMap<String, Integer>( 11 );
     private static final String CASCADING_ERROR =
             "Cascading has not yet been implemented: standard operation is in effect.";
 
     private static AttributeType ENTRY_CSN_ATTRIBUTE_TYPE;
     
-    static 
+    static
     {
         VALID_OU_VALUES.add( Strings.toLowerCase( SchemaConstants.NORMALIZERS_AT ) );
         VALID_OU_VALUES.add( Strings.toLowerCase( SchemaConstants.COMPARATORS_AT ) );
@@ -155,11 +160,94 @@ public class SchemaSubentryManager
     }
 
     
-    /* (non-Javadoc)
-     * @see org.apache.directory.server.core.schema.SchemaChangeManager#modifySchemaSubentry(org.apache.directory.server.core.interceptor.context.ModifyOperationContext, org.apache.directory.server.core.entry.Entry, org.apache.directory.server.core.entry.Entry, boolean)
+    /**
+     * Find the next interceptor in an operation's list of interceptors, assuming that
+     * we are already processing an operation, and we have stopped in a specific
+     * interceptor.<br/>
+     * For instance, if the list of all the interceptors is : <br/>
+     * [A, B, C, D, E, F]<br/>
+     * and we ave two operations op1 and op2 with the following interceptors list : <br/>
+     * op1 -> [A, D, F]<br/>
+     * op2 -> [B, C, E]<br/>
+     * then assuming that we have stopped at D, then op1.next -> F and op2.next -> E.
+     */
+    private Interceptor findNextInterceptor( OperationEnum operation, DirectoryService directoryService )
+    {
+        Interceptor interceptor = null;
+        
+        List<Interceptor> allInterceptors = directoryService.getInterceptors();
+        List<String> operationInterceptors = directoryService.getInterceptors( operation );
+        int position = 0;
+        String addInterceptor = operationInterceptors.get( position );
+        
+        for ( Interceptor inter : allInterceptors )
+        {
+            String interName = inter.getName();
+            
+            if ( interName.equals( InterceptorEnum.SCHEMA_INTERCEPTOR.getName() ) )
+            {
+                // Found, get out
+                position++;
+                
+                if ( position < operationInterceptors.size() )
+                {
+                    interceptor = directoryService.getInterceptor( operationInterceptors.get( position ) );
+                }
+                
+                break;
+            }
+            
+            if ( interName.equals( addInterceptor ) )
+            {
+                position++;
+                addInterceptor = operationInterceptors.get( position );
+            }
+        }
+        
+        return interceptor;
+    }
+    
+    
+    /**
+     * Find the position in the operation's list knowing the inteceptor name.
      */
-    public void modifySchemaSubentry( ModifyOperationContext modifyContext, boolean doCascadeModify ) throws LdapException 
+    private int findPosition( OperationEnum operation, Interceptor interceptor, DirectoryService directoryService )
     {
+        int position = 1;
+        
+        List<String> interceptors = directoryService.getInterceptors( operation );
+        
+        String interceptorName = interceptor.getName();
+        
+        for ( String name : interceptors )
+        {
+            if ( name.equals( interceptorName ) )
+            {
+                break;
+            }
+            
+            position++;
+        }
+        
+        return position;
+    }
+    
+    
+    /**
+     * Update the SubschemaSubentry with all the modifications
+     */
+    public void modifySchemaSubentry( ModifyOperationContext modifyContext, boolean doCascadeModify ) throws LdapException
+    {
+        DirectoryService directoryService = modifyContext.getSession().getDirectoryService();
+        
+        // Compute the next interceptor for the Add and Delete operation, starting from
+        // the schemaInterceptor. We also need to get the position of this next interceptor
+        // in the operation's list.
+        Interceptor nextAdd = findNextInterceptor( OperationEnum.ADD, directoryService );
+        int positionAdd = findPosition( OperationEnum.ADD, nextAdd, directoryService );
+        Interceptor nextDelete = findNextInterceptor( OperationEnum.DELETE, directoryService );
+        int positionDelete = findPosition( OperationEnum.DELETE, nextDelete, directoryService );
+
         for ( Modification mod : modifyContext.getModItems() )
         {
             String opAttrOid = schemaManager.getAttributeTypeRegistry().getOidByName( mod.getAttribute().getId() );
@@ -169,12 +257,12 @@ public class SchemaSubentryManager
             switch ( mod.getOperation() )
             {
                 case ADD_ATTRIBUTE :
-                    modifyAddOperation( modifyContext, opAttrOid, serverAttribute, doCascadeModify );
+                    modifyAddOperation( nextAdd, positionAdd, modifyContext, opAttrOid, serverAttribute, doCascadeModify );
                     break;
                     
                 case REMOVE_ATTRIBUTE :
-                    modifyRemoveOperation( modifyContext, opAttrOid, serverAttribute );
-                    break; 
+                    modifyRemoveOperation( nextDelete, positionDelete, modifyContext, opAttrOid, serverAttribute );
+                    break;
                     
                 case REPLACE_ATTRIBUTE :
                     // a hack to allow entryCSN modification
@@ -194,7 +282,7 @@ public class SchemaSubentryManager
     
     
     /**
-     * Handles the modify remove operation on the subschemaSubentry for schema entities. 
+     * Handles the modify remove operation on the subschemaSubentry for schema entities.
      * 
      * @param opAttrOid the numeric id of the operational attribute modified
      * @param mods the attribute with the modifications
@@ -202,7 +290,7 @@ public class SchemaSubentryManager
      * @throws Exception if there are problems updating the registries and the
      * schema partition
      */
-    private void modifyRemoveOperation( ModifyOperationContext modifyContext, String opAttrOid, 
+    private void modifyRemoveOperation( Interceptor nextInterceptor, int position, ModifyOperationContext modifyContext, String opAttrOid,
         Attribute mods ) throws LdapException
     {
         int index = opAttr2handlerIndex.get( opAttrOid );
@@ -214,15 +302,17 @@ public class SchemaSubentryManager
                 
                 for ( LdapComparatorDescription comparatorDescription : comparatorDescriptions )
                 {
-                    subentryModifier.delete( modifyContext, comparatorDescription );
+                    subentryModifier.delete( nextInterceptor, position, modifyContext, comparatorDescription );
                 }
+                
                 break;
+                
             case( NORMALIZER_INDEX ):
                 NormalizerDescription[] normalizerDescriptions = parsers.parseNormalizers( mods );
                 
                 for ( NormalizerDescription normalizerDescription : normalizerDescriptions )
                 {
-                    subentryModifier.delete( modifyContext, normalizerDescription );
+                    subentryModifier.delete( nextInterceptor, position, modifyContext, normalizerDescription );
                 }
                 
                 break;
@@ -232,7 +322,7 @@ public class SchemaSubentryManager
                 
                 for ( SyntaxCheckerDescription syntaxCheckerDescription : syntaxCheckerDescriptions )
                 {
-                    subentryModifier.delete( modifyContext, syntaxCheckerDescription );
+                    subentryModifier.delete( nextInterceptor, position, modifyContext, syntaxCheckerDescription );
                 }
                 
                 break;
@@ -242,7 +332,7 @@ public class SchemaSubentryManager
                 
                 for ( LdapSyntax syntax : syntaxes )
                 {
-                    subentryModifier.deleteSchemaObject( modifyContext, syntax );
+                    subentryModifier.deleteSchemaObject( nextInterceptor, position, modifyContext, syntax );
                 }
                 
                 break;
@@ -252,7 +342,7 @@ public class SchemaSubentryManager
                 
                 for ( MatchingRule mr : mrs )
                 {
-                    subentryModifier.deleteSchemaObject( modifyContext, mr );
+                    subentryModifier.deleteSchemaObject( nextInterceptor, position, modifyContext, mr );
                 }
                 
                 break;
@@ -262,7 +352,7 @@ public class SchemaSubentryManager
                 
                 for ( AttributeType at : ats )
                 {
-                    subentryModifier.deleteSchemaObject( modifyContext, at );
+                    subentryModifier.deleteSchemaObject( nextInterceptor, position, modifyContext, at );
                 }
                 
                 break;
@@ -272,7 +362,7 @@ public class SchemaSubentryManager
 
                 for ( ObjectClass oc : ocs )
                 {
-                    subentryModifier.deleteSchemaObject( modifyContext, oc );
+                    subentryModifier.deleteSchemaObject( nextInterceptor, position, modifyContext, oc );
                 }
                 
                 break;
@@ -282,7 +372,7 @@ public class SchemaSubentryManager
                 
                 for ( MatchingRuleUse mru : mrus )
                 {
-                    subentryModifier.deleteSchemaObject( modifyContext, mru );
+                    subentryModifier.deleteSchemaObject( nextInterceptor, position, modifyContext, mru );
                 }
                 
                 break;
@@ -292,7 +382,7 @@ public class SchemaSubentryManager
                 
                 for ( DITStructureRule dsr : dsrs )
                 {
-                    subentryModifier.deleteSchemaObject( modifyContext, dsr );
+                    subentryModifier.deleteSchemaObject( nextInterceptor, position, modifyContext, dsr );
                 }
                 
                 break;
@@ -302,7 +392,7 @@ public class SchemaSubentryManager
                 
                 for ( DITContentRule dcr : dcrs )
                 {
-                    subentryModifier.deleteSchemaObject( modifyContext, dcr );
+                    subentryModifier.deleteSchemaObject( nextInterceptor, position, modifyContext, dcr );
                 }
                 
                 break;
@@ -312,7 +402,7 @@ public class SchemaSubentryManager
                 
                 for ( NameForm nf : nfs )
                 {
-                    subentryModifier.deleteSchemaObject( modifyContext, nf );
+                    subentryModifier.deleteSchemaObject( nextInterceptor, position, modifyContext, nf );
                 }
                 
                 break;
@@ -324,7 +414,7 @@ public class SchemaSubentryManager
     
     
     /**
-     * Handles the modify add operation on the subschemaSubentry for schema entities. 
+     * Handles the modify add operation on the subschemaSubentry for schema entities.
      * 
      * @param opAttrOid the numeric id of the operational attribute modified
      * @param mods the attribute with the modifications
@@ -333,7 +423,7 @@ public class SchemaSubentryManager
      * @throws Exception if there are problems updating the registries and the
      * schema partition
      */
-    private void modifyAddOperation( ModifyOperationContext modifyContext, String opAttrOid, 
+    private void modifyAddOperation( Interceptor nextInterceptor, int position, ModifyOperationContext modifyContext, String opAttrOid,
         Attribute mods, boolean doCascadeModify ) throws LdapException
     {
         if ( doCascadeModify )
@@ -350,7 +440,7 @@ public class SchemaSubentryManager
                 
                 for ( LdapComparatorDescription comparatorDescription : comparatorDescriptions )
                 {
-                    subentryModifier.add( modifyContext, comparatorDescription );
+                    subentryModifier.add( nextInterceptor, position, modifyContext, comparatorDescription );
                 }
                 
                 break;
@@ -360,7 +450,7 @@ public class SchemaSubentryManager
                 
                 for ( NormalizerDescription normalizerDescription : normalizerDescriptions )
                 {
-                    subentryModifier.add( modifyContext, normalizerDescription );
+                    subentryModifier.add( nextInterceptor, position, modifyContext, normalizerDescription );
                 }
                 
                 break;
@@ -370,7 +460,7 @@ public class SchemaSubentryManager
                 
                 for ( SyntaxCheckerDescription syntaxCheckerDescription : syntaxCheckerDescriptions )
                 {
-                    subentryModifier.add( modifyContext, syntaxCheckerDescription );
+                    subentryModifier.add( nextInterceptor, position, modifyContext, syntaxCheckerDescription );
                 }
                 
                 break;
@@ -380,7 +470,7 @@ public class SchemaSubentryManager
                 
                 for ( LdapSyntax syntax : syntaxes )
                 {
-                    subentryModifier.addSchemaObject( modifyContext, syntax );
+                    subentryModifier.addSchemaObject( nextInterceptor, position, modifyContext, syntax );
                 }
                 
                 break;
@@ -390,7 +480,7 @@ public class SchemaSubentryManager
                 
                 for ( MatchingRule mr : mrs )
                 {
-                    subentryModifier.addSchemaObject( modifyContext, mr );
+                    subentryModifier.addSchemaObject( nextInterceptor, position, modifyContext, mr );
                 }
                 
                 break;
@@ -400,7 +490,7 @@ public class SchemaSubentryManager
                 
                 for ( AttributeType at : ats )
                 {
-                    subentryModifier.addSchemaObject( modifyContext, at );
+                    subentryModifier.addSchemaObject( nextInterceptor, position, modifyContext, at );
                 }
                 
                 break;
@@ -410,7 +500,7 @@ public class SchemaSubentryManager
 
                 for ( ObjectClass oc : ocs )
                 {
-                    subentryModifier.addSchemaObject( modifyContext, oc );
+                    subentryModifier.addSchemaObject( nextInterceptor, position, modifyContext, oc );
                 }
                 
                 break;
@@ -420,7 +510,7 @@ public class SchemaSubentryManager
                 
                 for ( MatchingRuleUse mru : mrus )
                 {
-                    subentryModifier.addSchemaObject( modifyContext, mru );
+                    subentryModifier.addSchemaObject( nextInterceptor, position, modifyContext, mru );
                 }
                 
                 break;
@@ -430,7 +520,7 @@ public class SchemaSubentryManager
                 
                 for ( DITStructureRule dsr : dsrs )
                 {
-                    subentryModifier.addSchemaObject( modifyContext, dsr );
+                    subentryModifier.addSchemaObject( nextInterceptor, position, modifyContext, dsr );
                 }
                 
                 break;
@@ -440,7 +530,7 @@ public class SchemaSubentryManager
                 
                 for ( DITContentRule dcr : dcrs )
                 {
-                    subentryModifier.addSchemaObject( modifyContext, dcr );
+                    subentryModifier.addSchemaObject( nextInterceptor, position, modifyContext, dcr );
                 }
                 
                 break;
@@ -450,7 +540,7 @@ public class SchemaSubentryManager
                 
                 for ( NameForm nf : nfs )
                 {
-                    subentryModifier.addSchemaObject( modifyContext, nf );
+                    subentryModifier.addSchemaObject( nextInterceptor, position, modifyContext, nf );
                 }
                 
                 break;

Modified: directory/apacheds/branches/apacheds-txns/interceptors/schema/src/main/java/org/apache/directory/server/core/schema/SchemaSubentryModifier.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/interceptors/schema/src/main/java/org/apache/directory/server/core/schema/SchemaSubentryModifier.java?rev=1209069&r1=1209068&r2=1209069&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/interceptors/schema/src/main/java/org/apache/directory/server/core/schema/SchemaSubentryModifier.java (original)
+++ directory/apacheds/branches/apacheds-txns/interceptors/schema/src/main/java/org/apache/directory/server/core/schema/SchemaSubentryModifier.java Thu Dec  1 13:25:26 2011
@@ -20,14 +20,11 @@
 package org.apache.directory.server.core.schema;
 
 
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
 import org.apache.directory.server.core.api.DnFactory;
-import org.apache.directory.server.core.api.InterceptorEnum;
-import org.apache.directory.server.core.api.interceptor.context.OperationContext;
+import org.apache.directory.server.core.api.interceptor.Interceptor;
+import org.apache.directory.server.core.api.interceptor.context.AddOperationContext;
+import org.apache.directory.server.core.api.interceptor.context.DeleteOperationContext;
+import org.apache.directory.server.core.api.interceptor.context.ModifyOperationContext;
 import org.apache.directory.shared.ldap.model.constants.MetaSchemaConstants;
 import org.apache.directory.shared.ldap.model.constants.SchemaConstants;
 import org.apache.directory.shared.ldap.model.entry.DefaultEntry;
@@ -60,19 +57,6 @@ import org.apache.directory.shared.util.
  */
 public class SchemaSubentryModifier
 {
-    private static final Collection<String> BYPASS;
-    
-    static
-    {
-        Set<String> c = new HashSet<String>();
-        c.add( InterceptorEnum.AUTHENTICATION_INTERCEPTOR.getName() );
-        c.add( InterceptorEnum.ACI_AUTHORIZATION_INTERCEPTOR.getName() );
-        c.add( InterceptorEnum.DEFAULT_AUTHORIZATION_INTERCEPTOR.getName() );
-        c.add( InterceptorEnum.EXCEPTION_INTERCEPTOR.getName() );
-        c.add( InterceptorEnum.SCHEMA_INTERCEPTOR.getName() );
-        BYPASS = Collections.unmodifiableCollection( c );
-    }
-    
     private AttributesFactory factory = new AttributesFactory();
 
     /** The server schemaManager */
@@ -139,7 +123,7 @@ public class SchemaSubentryModifier
     }
     
 
-    public void add( OperationContext opContext, LdapComparatorDescription comparatorDescription ) throws LdapException
+    public void add( Interceptor nextInterceptor, int position, ModifyOperationContext modifyContext, LdapComparatorDescription comparatorDescription ) throws LdapException
     {
         String schemaName = getSchema( comparatorDescription );
         Dn dn = dnFactory.create(
@@ -150,11 +134,14 @@ public class SchemaSubentryModifier
         
         Entry entry = getEntry( dn, comparatorDescription );
 
-        opContext.add( entry, BYPASS );
+        AddOperationContext addContext = new AddOperationContext( modifyContext.getSession(), entry );
+        addContext.setCurrentInterceptor( position );
+
+        nextInterceptor.add( addContext );
     }
     
     
-    public void add( OperationContext opContext, NormalizerDescription normalizerDescription ) throws LdapException
+    public void add( Interceptor nextInterceptor, int position, ModifyOperationContext modifyContext, NormalizerDescription normalizerDescription ) throws LdapException
     {
         String schemaName = getSchema( normalizerDescription );
         Dn dn = dnFactory.create(
@@ -165,11 +152,14 @@ public class SchemaSubentryModifier
         
         Entry entry = getEntry( dn, normalizerDescription );
 
-        opContext.add( entry, BYPASS );
+        AddOperationContext addContext = new AddOperationContext( modifyContext.getSession(), entry );
+        addContext.setCurrentInterceptor( position );
+
+        nextInterceptor.add( addContext );
     }
     
     
-    public void add( OperationContext opContext, SyntaxCheckerDescription syntaxCheckerDescription ) throws LdapException
+    public void add( Interceptor nextInterceptor, int position, ModifyOperationContext modifyContext, SyntaxCheckerDescription syntaxCheckerDescription ) throws LdapException
     {
         String schemaName = getSchema( syntaxCheckerDescription );
         Dn dn = dnFactory.create(
@@ -179,29 +169,41 @@ public class SchemaSubentryModifier
             SchemaConstants.OU_SCHEMA );
         
         Entry entry = getEntry( dn, syntaxCheckerDescription );
-        opContext.add( entry, BYPASS );
+
+        AddOperationContext addContext = new AddOperationContext( modifyContext.getSession(), entry );
+        addContext.setCurrentInterceptor( position );
+
+        nextInterceptor.add( addContext );
     }
     
     
-    public void addSchemaObject( OperationContext opContext, SchemaObject obj ) throws LdapException
+    public void addSchemaObject( Interceptor nextInterceptor, int position, ModifyOperationContext modifyContext, SchemaObject obj ) throws LdapException
     {
         Schema schema = schemaManager.getLoadedSchema( obj.getSchemaName() );
         Dn dn = getDn( obj );
         Entry entry = factory.getAttributes( obj, schema, schemaManager );
         entry.setDn( dn );
+        
+        AddOperationContext addContext = new AddOperationContext( modifyContext.getSession(), entry );
+        addContext.setCurrentInterceptor( position );
 
-        opContext.add( entry, BYPASS );
+        nextInterceptor.add( addContext );
     }
 
 
-    public void deleteSchemaObject( OperationContext opContext, SchemaObject obj ) throws LdapException
+    public void deleteSchemaObject( Interceptor nextInterceptor, int position, ModifyOperationContext modifyContext, SchemaObject obj ) throws LdapException
     {
         Dn dn = getDn( obj );
-        opContext.delete( dn );
+
+        DeleteOperationContext deleteContext = new DeleteOperationContext( modifyContext.getSession(), dn );
+        deleteContext.setEntry( modifyContext.getSession().lookup( dn ) );
+        deleteContext.setCurrentInterceptor( position );
+
+        nextInterceptor.delete( deleteContext );
     }
 
     
-    public void delete( OperationContext opContext, NormalizerDescription normalizerDescription ) throws LdapException
+    public void delete( Interceptor nextInterceptor, int position, ModifyOperationContext modifyContext, NormalizerDescription normalizerDescription ) throws LdapException
     {
         String schemaName = getSchema( normalizerDescription );
         Dn dn = dnFactory.create(
@@ -210,11 +212,15 @@ public class SchemaSubentryModifier
             "cn=" + schemaName,
             SchemaConstants.OU_SCHEMA );
         
-        opContext.delete( dn );
+        DeleteOperationContext deleteContext = new DeleteOperationContext( modifyContext.getSession(), dn );
+        deleteContext.setEntry( modifyContext.getSession().lookup( dn ) );
+        deleteContext.setCurrentInterceptor( position );
+
+        nextInterceptor.delete( deleteContext );
     }
 
 
-    public void delete( OperationContext opContext, SyntaxCheckerDescription syntaxCheckerDescription ) throws LdapException
+    public void delete( Interceptor nextInterceptor, int position, ModifyOperationContext modifyContext, SyntaxCheckerDescription syntaxCheckerDescription ) throws LdapException
     {
         String schemaName = getSchema( syntaxCheckerDescription );
         Dn dn = dnFactory.create(
@@ -222,11 +228,16 @@ public class SchemaSubentryModifier
             SchemaConstants.SYNTAX_CHECKERS_PATH,
             "cn=" + schemaName,
             SchemaConstants.OU_SCHEMA );
-        opContext.delete( dn );
+
+        DeleteOperationContext deleteContext = new DeleteOperationContext( modifyContext.getSession(), dn );
+        deleteContext.setEntry( modifyContext.getSession().lookup( dn ) );
+        deleteContext.setCurrentInterceptor( position );
+
+        nextInterceptor.delete( deleteContext );
     }
 
 
-    public void delete( OperationContext opContext, LdapComparatorDescription comparatorDescription ) throws LdapException
+    public void delete( Interceptor nextInterceptor, int position, ModifyOperationContext modifyContext, LdapComparatorDescription comparatorDescription ) throws LdapException
     {
         String schemaName = getSchema( comparatorDescription );
         Dn dn = dnFactory.create(
@@ -235,7 +246,11 @@ public class SchemaSubentryModifier
             "cn=" + schemaName,
             SchemaConstants.OU_SCHEMA );
         
-        opContext.delete( dn );
+        DeleteOperationContext deleteContext = new DeleteOperationContext( modifyContext.getSession(), dn );
+        deleteContext.setEntry( modifyContext.getSession().lookup( dn ) );
+        deleteContext.setCurrentInterceptor( position );
+
+        nextInterceptor.delete( deleteContext );
     }
 
 

Propchange: directory/apacheds/branches/apacheds-txns/interceptors/subtree/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Dec  1 13:25:26 2011
@@ -1 +1 @@
-/directory/apacheds/trunk/interceptors/subtree:1183435-1201301
+/directory/apacheds/trunk/interceptors/subtree:1183435-1209046



Mime
View raw message