You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2011/12/21 18:04:20 UTC

svn commit: r1221806 - in /directory/apacheds/branches/apacheds-txns: core-api/src/main/java/org/apache/directory/server/core/api/ core-api/src/main/java/org/apache/directory/server/core/api/entry/ core-api/src/main/java/org/apache/directory/server/cor...

Author: elecharny
Date: Wed Dec 21 17:04:19 2011
New Revision: 1221806

URL: http://svn.apache.org/viewvc?rev=1221806&view=rev
Log:
o Made the entry schema aware when calling the Add operation in the CoreSession
o Added the apply(SchemaManager) to the ClonedServerEntry class
o Added AttributeTypes in the BaseInterceptor
o Added a constructor to the AddOperationContext class taht takes a schema aware entry
o Fixed some tests as the entry is now checked at a higher level (ie, not in the Normalization interceptor) for the Add operation
o Fixed an issue in the way we handled a rename operation in the DefaultOperationExecutionManager (a null was passed, leading to some missing AT in the stored entry)
o The Normalization interceptor now does nothing for the Add operation

Modified:
    directory/apacheds/branches/apacheds-txns/core-api/src/main/java/org/apache/directory/server/core/api/LdapCoreSessionConnection.java
    directory/apacheds/branches/apacheds-txns/core-api/src/main/java/org/apache/directory/server/core/api/entry/ClonedServerEntry.java
    directory/apacheds/branches/apacheds-txns/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/BaseInterceptor.java
    directory/apacheds/branches/apacheds-txns/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/AddOperationContext.java
    directory/apacheds/branches/apacheds-txns/core-api/src/test/java/org/apache/directory/server/core/api/entry/ClonedServerEntryTest.java
    directory/apacheds/branches/apacheds-txns/core-integ/src/test/java/org/apache/directory/server/core/authz/AutzIntegUtils.java
    directory/apacheds/branches/apacheds-txns/core-integ/src/test/java/org/apache/directory/server/core/authz/GeneralAuthorizationIT.java
    directory/apacheds/branches/apacheds-txns/core-integ/src/test/java/org/apache/directory/server/core/operational/OperationalAttributeServiceIT.java
    directory/apacheds/branches/apacheds-txns/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaAttributeTypeHandlerIT.java
    directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/partition/DefaultOperationExecutionManager.java
    directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/partition/DefaultPartitionNexus.java
    directory/apacheds/branches/apacheds-txns/interceptors/authn/src/main/java/org/apache/directory/server/core/authn/SimpleAuthenticator.java
    directory/apacheds/branches/apacheds-txns/interceptors/normalization/src/main/java/org/apache/directory/server/core/normalization/NormalizationInterceptor.java
    directory/apacheds/branches/apacheds-txns/interceptors/operational/src/main/java/org/apache/directory/server/core/operational/OperationalAttributeInterceptor.java
    directory/apacheds/branches/apacheds-txns/interceptors/schema/src/main/java/org/apache/directory/server/core/schema/SchemaLdifToPartitionExtractor.java
    directory/apacheds/branches/apacheds-txns/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStoreTest.java
    directory/apacheds/branches/apacheds-txns/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStoreTxnTest.java
    directory/apacheds/branches/apacheds-txns/ldif-partition/src/main/java/org/apache/directory/server/core/partition/ldif/LdifPartition.java
    directory/apacheds/branches/apacheds-txns/ldif-partition/src/main/java/org/apache/directory/server/core/partition/ldif/SingleFileLdifPartition.java
    directory/apacheds/branches/apacheds-txns/ldif-partition/src/test/java/org/apache/directory/server/core/partition/ldif/LdifPartitionTest.java
    directory/apacheds/branches/apacheds-txns/ldif-partition/src/test/java/org/apache/directory/server/core/partition/ldif/SingleFileLdifPartitionTest.java
    directory/apacheds/branches/apacheds-txns/server-config/src/main/java/org/apache/directory/server/config/ReadOnlyConfigurationPartition.java
    directory/apacheds/branches/apacheds-txns/xdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/AbstractBTreePartition.java
    directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/XdbmStoreUtils.java
    directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/impl/avl/AvlPartitionTest.java
    directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/impl/avl/AvlPartitionTxnTest.java
    directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/GreaterEqTest.java
    directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/LessEqTest.java
    directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/OneLevelScopeTest.java
    directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/SubtreeScopeTest.java
    directory/apacheds/branches/apacheds-txns/xdbm-tools/src/main/java/org/apache/directory/server/core/partition/impl/btree/gui/PartitionFrame.java

Modified: directory/apacheds/branches/apacheds-txns/core-api/src/main/java/org/apache/directory/server/core/api/LdapCoreSessionConnection.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core-api/src/main/java/org/apache/directory/server/core/api/LdapCoreSessionConnection.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core-api/src/main/java/org/apache/directory/server/core/api/LdapCoreSessionConnection.java (original)
+++ directory/apacheds/branches/apacheds-txns/core-api/src/main/java/org/apache/directory/server/core/api/LdapCoreSessionConnection.java Wed Dec 21 17:04:19 2011
@@ -179,13 +179,20 @@ public class LdapCoreSessionConnection i
             LOG.debug( msg );
             throw new IllegalArgumentException( msg );
         }
+        
+        Entry entry = addRequest.getEntry();
 
-        if ( addRequest.getEntry() == null )
+        if ( entry == null )
         {
             String msg = "Cannot add a null entry";
             LOG.debug( msg );
             throw new IllegalArgumentException( msg );
         }
+        
+        if ( !entry.isSchemaAware() )
+        {
+        	entry.apply( schemaManager );
+        }
 
         int newId = messageId.incrementAndGet();
 
@@ -226,6 +233,11 @@ public class LdapCoreSessionConnection i
         AddRequest addRequest = new AddRequestImpl();
         addRequest.setEntry( entry );
         addRequest.setEntryDn( entry.getDn() );
+        
+        if ( !entry.isSchemaAware() )
+        {
+        	entry.apply( schemaManager );
+        }
 
         AddResponse addResponse = add( addRequest );
         

Modified: directory/apacheds/branches/apacheds-txns/core-api/src/main/java/org/apache/directory/server/core/api/entry/ClonedServerEntry.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core-api/src/main/java/org/apache/directory/server/core/api/entry/ClonedServerEntry.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core-api/src/main/java/org/apache/directory/server/core/api/entry/ClonedServerEntry.java (original)
+++ directory/apacheds/branches/apacheds-txns/core-api/src/main/java/org/apache/directory/server/core/api/entry/ClonedServerEntry.java Wed Dec 21 17:04:19 2011
@@ -36,6 +36,9 @@ import org.apache.directory.shared.ldap.
 import org.apache.directory.shared.ldap.model.exception.LdapInvalidDnException;
 import org.apache.directory.shared.ldap.model.name.Dn;
 import org.apache.directory.shared.ldap.model.schema.AttributeType;
+import org.apache.directory.shared.ldap.model.schema.SchemaManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 /**
@@ -46,6 +49,9 @@ import org.apache.directory.shared.ldap.
  */
 public class ClonedServerEntry implements Entry
 {
+    /** logger used by this class */
+    private static final Logger LOG = LoggerFactory.getLogger( ClonedServerEntry.class );
+
     /** The original entry as returned by the backend */
     protected Entry originalEntry;
     
@@ -67,8 +73,17 @@ public class ClonedServerEntry implement
      *
      * @param originalEntry The original entry
      */
-    public ClonedServerEntry( Entry originalEntry )
+    public ClonedServerEntry( SchemaManager schemaManager, Entry originalEntry )
     {
+    	try
+    	{
+    		originalEntry.apply( schemaManager );
+    	}
+    	catch ( Exception e )
+    	{
+    		// Not supposed to happen
+    	}
+    	
         this.originalEntry = originalEntry;
         this.clonedEntry = ( Entry ) originalEntry.clone();
     }
@@ -128,6 +143,15 @@ public class ClonedServerEntry implement
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
+    public void apply( SchemaManager schemaManager ) throws LdapException
+    {
+        clonedEntry.apply( schemaManager );
+    }
+    
+
     public boolean contains( AttributeType attributeType, byte[]... values )
     {
         return clonedEntry.contains( attributeType, values );

Modified: directory/apacheds/branches/apacheds-txns/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/BaseInterceptor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/BaseInterceptor.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/BaseInterceptor.java (original)
+++ directory/apacheds/branches/apacheds-txns/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/BaseInterceptor.java Wed Dec 21 17:04:19 2011
@@ -23,6 +23,7 @@ package org.apache.directory.server.core
 import java.util.HashSet;
 import java.util.Set;
 
+import org.apache.directory.server.constants.ApacheSchemaConstants;
 import org.apache.directory.server.core.api.DirectoryService;
 import org.apache.directory.server.core.api.InterceptorEnum;
 import org.apache.directory.server.core.api.LdapPrincipal;
@@ -83,6 +84,12 @@ public abstract class BaseInterceptor im
     /** The CollectiveExclusions AttributeType */
     protected static AttributeType COLLECTIVE_EXCLUSIONS_AT;
 
+    /** The CreateTimeStamp AttributeType */
+    protected static AttributeType CREATE_TIMESTAMP_AT;
+
+    /** The CreatorsName AttributeType */
+    protected static AttributeType CREATORS_NAME_AT;
+
     /** A storage for the entryACI attributeType */
     protected static AttributeType ENTRY_ACI_AT;
 
@@ -100,6 +107,9 @@ public abstract class BaseInterceptor im
 
     /** The ObjectClass AttributeType */
     protected static AttributeType OBJECT_CLASS_AT;
+    
+    /** The SchemaModifiersName attribute type */
+    protected static AttributeType SCHEMA_MODIFIERS_NAME_AT;
 
     /** the subentry ACI attribute type */
     protected static AttributeType SUBENTRY_ACI_AT;
@@ -339,12 +349,15 @@ public abstract class BaseInterceptor im
         COLLECTIVE_ATTRIBUTE_SUBENTRIES_AT = schemaManager
             .getAttributeType( SchemaConstants.COLLECTIVE_ATTRIBUTE_SUBENTRIES_AT );
         COLLECTIVE_EXCLUSIONS_AT = schemaManager.getAttributeType( SchemaConstants.COLLECTIVE_EXCLUSIONS_AT );
+        CREATE_TIMESTAMP_AT = schemaManager.getAttributeType( SchemaConstants.CREATE_TIMESTAMP_AT );
+        CREATORS_NAME_AT = schemaManager.getAttributeType( SchemaConstants.CREATORS_NAME_AT );
         ENTRY_ACI_AT = schemaManager.getAttributeType( SchemaConstants.ENTRY_ACI_AT_OID );
         ENTRY_CSN_AT = schemaManager.getAttributeType( SchemaConstants.ENTRY_CSN_AT );
         ENTRY_UUID_AT = schemaManager.getAttributeType( SchemaConstants.ENTRY_UUID_AT );
         MODIFIERS_NAME_AT = schemaManager.getAttributeType( SchemaConstants.MODIFIERS_NAME_AT );
         MODIFY_TIMESTAMP_AT = schemaManager.getAttributeType( SchemaConstants.MODIFY_TIMESTAMP_AT );
         OBJECT_CLASS_AT = schemaManager.getAttributeType( SchemaConstants.OBJECT_CLASS_AT );
+        SCHEMA_MODIFIERS_NAME_AT = schemaManager.getAttributeType(ApacheSchemaConstants.SCHEMA_MODIFIERS_NAME_AT );
         SUBENTRY_ACI_AT = schemaManager.getAttributeType( SchemaConstants.SUBENTRY_ACI_AT_OID );
         SUBSCHEMA_SUBENTRY_AT = schemaManager.getAttributeType( SchemaConstants.SUBSCHEMA_SUBENTRY_AT );
         SUBTREE_SPECIFICATION_AT = schemaManager.getAttributeType( SchemaConstants.SUBTREE_SPECIFICATION_AT );

Modified: directory/apacheds/branches/apacheds-txns/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/AddOperationContext.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/AddOperationContext.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/AddOperationContext.java (original)
+++ directory/apacheds/branches/apacheds-txns/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/AddOperationContext.java Wed Dec 21 17:04:19 2011
@@ -21,6 +21,7 @@ package org.apache.directory.server.core
 
 
 import org.apache.directory.server.core.api.CoreSession;
+import org.apache.directory.server.core.api.DirectoryService;
 import org.apache.directory.server.core.api.OperationEnum;
 import org.apache.directory.server.core.api.entry.ClonedServerEntry;
 import org.apache.directory.shared.ldap.model.message.controls.ManageDsaIT;
@@ -30,6 +31,7 @@ import org.apache.directory.shared.ldap.
 import org.apache.directory.shared.ldap.model.entry.Entry;
 import org.apache.directory.shared.ldap.model.exception.LdapException;
 import org.apache.directory.shared.ldap.model.name.Dn;
+import org.apache.directory.shared.ldap.model.schema.SchemaManager;
 
 
 /**
@@ -82,11 +84,24 @@ public class AddOperationContext extends
     public AddOperationContext( CoreSession session, Entry entry )
     {
         super( session, entry.getDn() );
-        this.entry = new ClonedServerEntry( entry );
-        if ( session != null )
-        {
-            setInterceptors( session.getDirectoryService().getInterceptors( OperationEnum.ADD ) );
-        }
+        
+        DirectoryService directoryService = session.getDirectoryService();
+        setInterceptors( directoryService.getInterceptors( OperationEnum.ADD ) );
+        this.entry = new ClonedServerEntry( directoryService.getSchemaManager(), entry );
+    }
+    
+    
+    /**
+     * Creates a new instance of AddOperationContext.
+     *
+     * @param session the current Session
+     * @param entry the entry being added
+     */
+    public AddOperationContext( SchemaManager schemaManager, Entry entry )
+    {
+        super( null, entry.getDn() );
+
+        this.entry = new ClonedServerEntry( schemaManager, entry );
     }
 
 
@@ -100,13 +115,10 @@ public class AddOperationContext extends
     public AddOperationContext( CoreSession session, Dn dn, Entry entry )
     {
         super( session, dn );
-
-        if ( session != null )
-        {
-            setInterceptors( session.getDirectoryService().getInterceptors( OperationEnum.ADD ) );
-        }
-
-        this.entry = new ClonedServerEntry( entry );
+        
+        DirectoryService directoryService = session.getDirectoryService();
+        setInterceptors( directoryService.getInterceptors( OperationEnum.ADD ) );
+        this.entry = new ClonedServerEntry( directoryService.getSchemaManager(), entry );
     }
 
 
@@ -114,13 +126,9 @@ public class AddOperationContext extends
     {
         super( session );
 
-        if ( session != null )
-        {
-            setInterceptors( session.getDirectoryService().getInterceptors( OperationEnum.ADD ) );
-        }
-
-        entry = new ClonedServerEntry(
-            new DefaultEntry( session.getDirectoryService().getSchemaManager(), addRequest.getEntry() ) );
+        DirectoryService directoryService = session.getDirectoryService();
+        setInterceptors( directoryService.getInterceptors( OperationEnum.ADD ) );
+        entry = new ClonedServerEntry( directoryService.getSchemaManager(), addRequest.getEntry() );
         dn = addRequest.getEntry().getDn();
         requestControls = addRequest.getControls();
 

Modified: directory/apacheds/branches/apacheds-txns/core-api/src/test/java/org/apache/directory/server/core/api/entry/ClonedServerEntryTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core-api/src/test/java/org/apache/directory/server/core/api/entry/ClonedServerEntryTest.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core-api/src/test/java/org/apache/directory/server/core/api/entry/ClonedServerEntryTest.java (original)
+++ directory/apacheds/branches/apacheds-txns/core-api/src/test/java/org/apache/directory/server/core/api/entry/ClonedServerEntryTest.java Wed Dec 21 17:04:19 2011
@@ -22,10 +22,20 @@ package org.apache.directory.server.core
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.fail;
+
+import java.io.File;
+import java.util.List;
 
 import org.apache.directory.server.core.api.entry.ClonedServerEntry;
 import org.apache.directory.shared.ldap.model.entry.DefaultEntry;
 import org.apache.directory.shared.ldap.model.entry.Entry;
+import org.apache.directory.shared.ldap.model.schema.SchemaManager;
+import org.apache.directory.shared.ldap.schemaextractor.SchemaLdifExtractor;
+import org.apache.directory.shared.ldap.schemaextractor.impl.DefaultSchemaLdifExtractor;
+import org.apache.directory.shared.ldap.schemaloader.LdifSchemaLoader;
+import org.apache.directory.shared.ldap.schemamanager.impl.DefaultSchemaManager;
+import org.apache.directory.shared.util.exception.Exceptions;
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -43,6 +53,9 @@ import com.mycila.junit.concurrent.Concu
 @Concurrency()
 public class ClonedServerEntryTest
 {
+    private static LdifSchemaLoader loader;
+    private static SchemaManager schemaManager;
+
     private static Entry clonedServerEntryA;
     private static Entry clonedServerEntryACopy;
     private static Entry clonedServerEntryB;
@@ -52,11 +65,35 @@ public class ClonedServerEntryTest
     private static Entry clonedServerEntryC1;
 
     /**
-     * Initialize name instances
+     * Initialize the registries once for the whole test suite
      */
     @BeforeClass
-    public static void initNames() throws Exception
+    public static void setup() throws Exception
     {
+        String workingDirectory = System.getProperty( "workingDirectory" );
+
+        if ( workingDirectory == null )
+        {
+            String path = SchemaAwareEntryTest.class.getResource( "" ).getPath();
+            int targetPos = path.indexOf( "target" );
+            workingDirectory = path.substring( 0, targetPos + 6 );
+        }
+
+        File schemaRepository = new File( workingDirectory, "schema" );
+        SchemaLdifExtractor extractor = new DefaultSchemaLdifExtractor( new File( workingDirectory ) );
+        extractor.extractOrCopy( true );
+        loader = new LdifSchemaLoader( schemaRepository );
+
+        schemaManager = new DefaultSchemaManager( loader );
+        schemaManager.loadAllEnabled();
+
+        List<Throwable> errors = schemaManager.getErrors();
+
+        if ( errors.size() != 0 )
+        {
+            fail( "Schema load failed : " + Exceptions.printErrors(errors) );
+        }
+
         Entry eA = new DefaultEntry( "dc=example,dc=com" );
         Entry eB = new DefaultEntry( "dc=example,dc=com" );
         Entry eC = new DefaultEntry( "dc=test,dc=org" );
@@ -64,10 +101,10 @@ public class ClonedServerEntryTest
         clonedServerEntryA = new ClonedServerEntry();
         clonedServerEntryACopy = new ClonedServerEntry();
         clonedServerEntryB = new ClonedServerEntry();
-        clonedServerEntryA1 = new ClonedServerEntry( eA );
-        clonedServerEntryACopy1 = new ClonedServerEntry( eA );
-        clonedServerEntryB1 = new ClonedServerEntry( eB );
-        clonedServerEntryC1 = new ClonedServerEntry( eC );
+        clonedServerEntryA1 = new ClonedServerEntry( schemaManager, eA );
+        clonedServerEntryACopy1 = new ClonedServerEntry( schemaManager, eA );
+        clonedServerEntryB1 = new ClonedServerEntry( schemaManager, eB );
+        clonedServerEntryC1 = new ClonedServerEntry( schemaManager, eC );
     }
 
 

Modified: directory/apacheds/branches/apacheds-txns/core-integ/src/test/java/org/apache/directory/server/core/authz/AutzIntegUtils.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core-integ/src/test/java/org/apache/directory/server/core/authz/AutzIntegUtils.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core-integ/src/test/java/org/apache/directory/server/core/authz/AutzIntegUtils.java (original)
+++ directory/apacheds/branches/apacheds-txns/core-integ/src/test/java/org/apache/directory/server/core/authz/AutzIntegUtils.java Wed Dec 21 17:04:19 2011
@@ -267,6 +267,7 @@ public class AutzIntegUtils
 
         AddRequest addRequest = new AddRequestImpl();
         addRequest.setEntry( subEntry );
+        
         AddResponse addResponse = connection.add( addRequest );
 
         return addResponse.getLdapResult().getResultCode();

Modified: directory/apacheds/branches/apacheds-txns/core-integ/src/test/java/org/apache/directory/server/core/authz/GeneralAuthorizationIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core-integ/src/test/java/org/apache/directory/server/core/authz/GeneralAuthorizationIT.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core-integ/src/test/java/org/apache/directory/server/core/authz/GeneralAuthorizationIT.java (original)
+++ directory/apacheds/branches/apacheds-txns/core-integ/src/test/java/org/apache/directory/server/core/authz/GeneralAuthorizationIT.java Wed Dec 21 17:04:19 2011
@@ -27,6 +27,7 @@ import org.apache.directory.server.core.
 import org.apache.directory.server.core.integ.AbstractLdapTestUnit;
 import org.apache.directory.server.core.integ.FrameworkRunner;
 import org.apache.directory.server.core.integ.IntegrationUtils;
+import org.apache.directory.shared.ldap.model.exception.LdapInvalidAttributeValueException;
 import org.apache.directory.shared.ldap.model.message.ResultCodeEnum;
 import org.junit.After;
 import org.junit.Before;
@@ -63,11 +64,11 @@ public class GeneralAuthorizationIT exte
      *
      * @throws Exception if the test encounters an error
      */
-    @Test
+    @Test( expected = LdapInvalidAttributeValueException.class )
     public void testFailureToAddBadACI() throws Exception
     {
         // add a subentry with malformed ACI
-        ResultCodeEnum result = createAccessControlSubentry( 
+        createAccessControlSubentry( 
             "anybodyAdd", 
             "{ " + 
             "  identificationTag \"addAci\", " + 
@@ -83,7 +84,5 @@ public class GeneralAuthorizationIT exte
             "        grantsAndDenials { grantAdd, grantBrowse } " +
             "      } " +
             "    }" );
-        
-        assertEquals( ResultCodeEnum.INVALID_ATTRIBUTE_SYNTAX, result );
     }
 }

Modified: directory/apacheds/branches/apacheds-txns/core-integ/src/test/java/org/apache/directory/server/core/operational/OperationalAttributeServiceIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core-integ/src/test/java/org/apache/directory/server/core/operational/OperationalAttributeServiceIT.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core-integ/src/test/java/org/apache/directory/server/core/operational/OperationalAttributeServiceIT.java (original)
+++ directory/apacheds/branches/apacheds-txns/core-integ/src/test/java/org/apache/directory/server/core/operational/OperationalAttributeServiceIT.java Wed Dec 21 17:04:19 2011
@@ -249,8 +249,8 @@ public class OperationalAttributeService
             "telephoneNumber: +1 408 555 4798",
             "facsimileTelephoneNumber: +1 408 555 9751", 
             "roomnumber: 4612", 
-            "userPassword: test" );
-
+            "userPassword",  Strings.getBytesUtf8( "test" ) );
+        
         connection.add( entry );
 
         Entry result = connection.lookup( "uid=akarasulu,ou=users,ou=system", "creatorsName" );

Modified: directory/apacheds/branches/apacheds-txns/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaAttributeTypeHandlerIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaAttributeTypeHandlerIT.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaAttributeTypeHandlerIT.java (original)
+++ directory/apacheds/branches/apacheds-txns/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaAttributeTypeHandlerIT.java Wed Dec 21 17:04:19 2011
@@ -227,7 +227,7 @@ public class MetaAttributeTypeHandlerIT 
             "objectClass: metaAttributeType",
             "m-oid: 1.3.6.1.4.1.8104.1.1.37",
             "m-name: versionNumber",
-            "m-description:: dmVyc2lvbk51bWJlciA=",
+            "m-description: versionNumber ",
             "m-equality: caseIgnoreMatch",
             "m-substr: caseIgnoreSubstringsMatch",
             "m-syntax: 1.3.6.1.4.1.1466.115.121.1.8",

Modified: directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/partition/DefaultOperationExecutionManager.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/partition/DefaultOperationExecutionManager.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/partition/DefaultOperationExecutionManager.java (original)
+++ directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/partition/DefaultOperationExecutionManager.java Wed Dec 21 17:04:19 2011
@@ -1064,7 +1064,7 @@ public class DefaultOperationExecutionMa
             handleDnChange( partition, dn, newDn, id );
         }
         
-        renameInternal( partition, dn, newRdn, deleteOldRdn, null, originalEntry );
+        renameInternal( partition, dn, newRdn, deleteOldRdn, entry, originalEntry );
     }
 
 
@@ -1669,7 +1669,7 @@ public class DefaultOperationExecutionMa
 
             if ( entry != null )
             {
-                return new ClonedServerEntry( entry );
+                return new ClonedServerEntry( partition.getSchemaManager(), entry );
             }
 
             return null;

Modified: directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/partition/DefaultPartitionNexus.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/partition/DefaultPartitionNexus.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/partition/DefaultPartitionNexus.java (original)
+++ directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/partition/DefaultPartitionNexus.java Wed Dec 21 17:04:19 2011
@@ -557,13 +557,13 @@ public class DefaultPartitionNexus exten
 
         if ( dn.equals( subschemSubentryDn ) )
         {
-            return new ClonedServerEntry( rootDse.clone() );
+            return new ClonedServerEntry( schemaManager, rootDse.clone() );
         }
 
         // This is for the case we do a lookup on the rootDSE
         if ( dn.size() == 0 )
         {
-            Entry retval = new ClonedServerEntry( rootDse );
+            Entry retval = new ClonedServerEntry( schemaManager, rootDse );
             
             return retval;
             

Modified: directory/apacheds/branches/apacheds-txns/interceptors/authn/src/main/java/org/apache/directory/server/core/authn/SimpleAuthenticator.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/interceptors/authn/src/main/java/org/apache/directory/server/core/authn/SimpleAuthenticator.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/interceptors/authn/src/main/java/org/apache/directory/server/core/authn/SimpleAuthenticator.java (original)
+++ directory/apacheds/branches/apacheds-txns/interceptors/authn/src/main/java/org/apache/directory/server/core/authn/SimpleAuthenticator.java Wed Dec 21 17:04:19 2011
@@ -264,7 +264,7 @@ public class SimpleAuthenticator extends
 
         Attribute userPasswordAttr = userEntry.get( SchemaConstants.USER_PASSWORD_AT );
 
-        bindContext.setEntry( new ClonedServerEntry( userEntry ) );
+        bindContext.setEntry( new ClonedServerEntry( getDirectoryService().getSchemaManager(), userEntry ) );
 
         // ---- assert that credentials match
         if ( userPasswordAttr == null )

Modified: directory/apacheds/branches/apacheds-txns/interceptors/normalization/src/main/java/org/apache/directory/server/core/normalization/NormalizationInterceptor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/interceptors/normalization/src/main/java/org/apache/directory/server/core/normalization/NormalizationInterceptor.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/interceptors/normalization/src/main/java/org/apache/directory/server/core/normalization/NormalizationInterceptor.java (original)
+++ directory/apacheds/branches/apacheds-txns/interceptors/normalization/src/main/java/org/apache/directory/server/core/normalization/NormalizationInterceptor.java Wed Dec 21 17:04:19 2011
@@ -27,7 +27,6 @@ import org.apache.directory.server.core.
 import org.apache.directory.server.core.api.filtering.BaseEntryFilteringCursor;
 import org.apache.directory.server.core.api.filtering.EntryFilteringCursor;
 import org.apache.directory.server.core.api.interceptor.BaseInterceptor;
-import org.apache.directory.server.core.api.interceptor.context.AddOperationContext;
 import org.apache.directory.server.core.api.interceptor.context.BindOperationContext;
 import org.apache.directory.server.core.api.interceptor.context.CompareOperationContext;
 import org.apache.directory.server.core.api.interceptor.context.DeleteOperationContext;
@@ -45,13 +44,10 @@ import org.apache.directory.shared.ldap.
 import org.apache.directory.shared.ldap.model.entry.Entry;
 import org.apache.directory.shared.ldap.model.entry.Modification;
 import org.apache.directory.shared.ldap.model.entry.StringValue;
-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.LdapInvalidAttributeTypeException;
 import org.apache.directory.shared.ldap.model.filter.ExprNode;
-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;
 import org.apache.directory.shared.ldap.model.schema.AttributeType;
 import org.apache.directory.shared.ldap.model.schema.normalizers.ConcreteNameComponentNormalizer;
 import org.apache.directory.shared.ldap.model.schema.normalizers.NameComponentNormalizer;
@@ -116,18 +112,6 @@ public class NormalizationInterceptor ex
     /**
      * {@inheritDoc}
      */
-    public void add( AddOperationContext addContext ) throws LdapException
-    {
-        addContext.getDn().apply( schemaManager );
-        addContext.getEntry().getDn().apply( schemaManager );
-        addRdnAttributesToEntry( addContext.getDn(), addContext.getEntry() );
-        next( addContext );
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
     public void bind( BindOperationContext bindContext ) throws LdapException
     {
         bindContext.getDn().apply( schemaManager );
@@ -394,64 +378,4 @@ public class NormalizationInterceptor ex
 
         return normalizedAttrIds;
     }
-
-
-    // ------------------------------------------------------------------------
-    // Normalize all Name based arguments for other interface operations
-    // ------------------------------------------------------------------------
-    /**
-     * Adds missing Rdn's attributes and values to the entry.
-     *
-     * @param dn the Dn
-     * @param entry the entry
-     */
-    private void addRdnAttributesToEntry( Dn dn, Entry entry ) throws LdapException
-    {
-        if ( dn == null || entry == null )
-        {
-            return;
-        }
-
-        Rdn rdn = dn.getRdn();
-
-        // Loop on all the AVAs
-        for ( Ava ava : rdn )
-        {
-            Value<?> value = ava.getNormValue();
-            Value<?> upValue = ava.getUpValue();
-            String upId = ava.getUpType();
-
-            // Check that the entry contains this Ava
-            if ( !entry.contains( upId, value ) )
-            {
-                String message = "The Rdn '" + upId + "=" + upValue + "' is not present in the entry";
-                LOG.warn( message );
-
-                // We don't have this attribute : add it.
-                // Two cases :
-                // 1) The attribute does not exist
-                if ( !entry.containsAttribute( upId ) )
-                {
-                    entry.add( upId, value );
-                }
-                // 2) The attribute exists
-                else
-                {
-                    AttributeType at = schemaManager.lookupAttributeTypeRegistry( upId );
-
-                    // 2.1 if the attribute is single valued, replace the value
-                    if ( at.isSingleValued() )
-                    {
-                        entry.removeAttributes( upId );
-                        entry.add( upId, value );
-                    }
-                    // 2.2 the attribute is multi-valued : add the missing value
-                    else
-                    {
-                        entry.add( upId, value );
-                    }
-                }
-            }
-        }
-    }
 }

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=1221806&r1=1221805&r2=1221806&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 Wed Dec 21 17:04:19 2011
@@ -133,7 +133,7 @@ public class OperationalAttributeInterce
 
         // stuff for dealing with subentries (garbage for now)
         Value<?> subschemaSubentry = directoryService.getPartitionNexus().getRootDse( null ).get(
-            SchemaConstants.SUBSCHEMA_SUBENTRY_AT ).get();
+            SUBSCHEMA_SUBENTRY_AT ).get();
         subschemaSubentryDn = directoryService.getDnFactory().create( subschemaSubentry.getString() );
 
         // Create the Admin Dn
@@ -149,7 +149,7 @@ public class OperationalAttributeInterce
     /**
      * Check if we have to add an operational attribute, or if the admin has injected one
      */
-    private boolean checkAddOperationalAttribute( boolean isAdmin, Entry entry, String attribute ) throws LdapException
+    private boolean checkAddOperationalAttribute( boolean isAdmin, Entry entry, AttributeType attribute ) throws LdapException
     {
         if ( entry.containsAttribute( attribute ) )
         {
@@ -196,41 +196,41 @@ public class OperationalAttributeInterce
             ServerDNConstants.ADMIN_SYSTEM_DN_NORMALIZED );
 
         // The EntryUUID attribute
-        if ( !checkAddOperationalAttribute( isAdmin, entry, SchemaConstants.ENTRY_UUID_AT ) )
+        if ( !checkAddOperationalAttribute( isAdmin, entry, ENTRY_UUID_AT ) )
         {
-            entry.put( SchemaConstants.ENTRY_UUID_AT, UUID.randomUUID().toString() );
+            entry.put( ENTRY_UUID_AT, UUID.randomUUID().toString() );
         }
 
         // The EntryCSN attribute
-        if ( !checkAddOperationalAttribute( isAdmin, entry, SchemaConstants.ENTRY_CSN_AT ) )
+        if ( !checkAddOperationalAttribute( isAdmin, entry, ENTRY_CSN_AT ) )
         {
-            entry.put( SchemaConstants.ENTRY_CSN_AT, directoryService.getCSN().toString() );
+            entry.put( ENTRY_CSN_AT, directoryService.getCSN().toString() );
         }
 
         // The CreatorsName attribute
-        if ( !checkAddOperationalAttribute( isAdmin, entry, SchemaConstants.CREATORS_NAME_AT ) )
+        if ( !checkAddOperationalAttribute( isAdmin, entry, CREATORS_NAME_AT ) )
         {
-            entry.put( SchemaConstants.CREATORS_NAME_AT, principal );
+            entry.put( CREATORS_NAME_AT, principal );
         }
 
         // The CreateTimeStamp attribute
-        if ( !checkAddOperationalAttribute( isAdmin, entry, SchemaConstants.CREATE_TIMESTAMP_AT ) )
+        if ( !checkAddOperationalAttribute( isAdmin, entry, CREATE_TIMESTAMP_AT ) )
         {
-            entry.put( SchemaConstants.CREATE_TIMESTAMP_AT, DateUtils.getGeneralizedTime() );
+            entry.put( CREATE_TIMESTAMP_AT, DateUtils.getGeneralizedTime() );
         }
 
         // Now, check that the user does not add operational attributes
         // The accessControlSubentries attribute
-        checkAddOperationalAttribute( isAdmin, entry, SchemaConstants.ACCESS_CONTROL_SUBENTRIES_AT );
+        checkAddOperationalAttribute( isAdmin, entry, ACCESS_CONTROL_SUBENTRIES_AT );
 
         // The CollectiveAttributeSubentries attribute
-        checkAddOperationalAttribute( isAdmin, entry, SchemaConstants.COLLECTIVE_ATTRIBUTE_SUBENTRIES_AT );
+        checkAddOperationalAttribute( isAdmin, entry, COLLECTIVE_ATTRIBUTE_SUBENTRIES_AT );
 
         // The TriggerExecutionSubentries attribute
-        checkAddOperationalAttribute( isAdmin, entry, SchemaConstants.TRIGGER_EXECUTION_SUBENTRIES_AT );
+        checkAddOperationalAttribute( isAdmin, entry, TRIGGER_EXECUTION_SUBENTRIES_AT );
 
         // The SubSchemaSybentry attribute
-        checkAddOperationalAttribute( isAdmin, entry, SchemaConstants.SUBSCHEMA_SUBENTRY_AT );
+        checkAddOperationalAttribute( isAdmin, entry, SUBSCHEMA_SUBENTRY_AT );
 
         next( addContext );
     }
@@ -418,8 +418,8 @@ public class OperationalAttributeInterce
     public void move( MoveOperationContext moveContext ) throws LdapException
     {
         Entry modifiedEntry = moveContext.getOriginalEntry().clone();
-        modifiedEntry.put( SchemaConstants.MODIFIERS_NAME_AT, getPrincipal( moveContext ).getName() );
-        modifiedEntry.put( SchemaConstants.MODIFY_TIMESTAMP_AT, DateUtils.getGeneralizedTime() );
+        modifiedEntry.put( MODIFIERS_NAME_AT, getPrincipal( moveContext ).getName() );
+        modifiedEntry.put( MODIFY_TIMESTAMP_AT, DateUtils.getGeneralizedTime() );
         modifiedEntry.setDn( moveContext.getNewDn() );
         moveContext.setModifiedEntry( modifiedEntry );
 
@@ -433,8 +433,8 @@ public class OperationalAttributeInterce
     public void moveAndRename( MoveAndRenameOperationContext moveAndRenameContext ) throws LdapException
     {
         Entry modifiedEntry = moveAndRenameContext.getOriginalEntry().clone();
-        modifiedEntry.put( SchemaConstants.MODIFIERS_NAME_AT, getPrincipal( moveAndRenameContext ).getName() );
-        modifiedEntry.put( SchemaConstants.MODIFY_TIMESTAMP_AT, DateUtils.getGeneralizedTime() );
+        modifiedEntry.put( MODIFIERS_NAME_AT, getPrincipal( moveAndRenameContext ).getName() );
+        modifiedEntry.put( MODIFY_TIMESTAMP_AT, DateUtils.getGeneralizedTime() );
         modifiedEntry.setDn( moveAndRenameContext.getNewDn() );
         moveAndRenameContext.setModifiedEntry( modifiedEntry );
 
@@ -448,12 +448,12 @@ public class OperationalAttributeInterce
     public void rename( RenameOperationContext renameContext ) throws LdapException
     {
         Entry entry = ( ( ClonedServerEntry ) renameContext.getEntry() ).getClonedEntry();
-        entry.put( SchemaConstants.MODIFIERS_NAME_AT, getPrincipal( renameContext ).getName() );
-        entry.put( SchemaConstants.MODIFY_TIMESTAMP_AT, DateUtils.getGeneralizedTime() );
+        entry.put( MODIFIERS_NAME_AT, getPrincipal( renameContext ).getName() );
+        entry.put( MODIFY_TIMESTAMP_AT, DateUtils.getGeneralizedTime() );
 
         Entry modifiedEntry = renameContext.getOriginalEntry().clone();
-        modifiedEntry.put( SchemaConstants.MODIFIERS_NAME_AT, getPrincipal( renameContext ).getName() );
-        modifiedEntry.put( SchemaConstants.MODIFY_TIMESTAMP_AT, DateUtils.getGeneralizedTime() );
+        modifiedEntry.put( MODIFIERS_NAME_AT, getPrincipal( renameContext ).getName() );
+        modifiedEntry.put( MODIFY_TIMESTAMP_AT, DateUtils.getGeneralizedTime() );
         renameContext.setModifiedEntry( modifiedEntry );
 
         next( renameContext );
@@ -645,7 +645,7 @@ public class OperationalAttributeInterce
     {
         if ( directoryService.isDenormalizeOpAttrsEnabled() )
         {
-            Attribute attr = entry.get( SchemaConstants.CREATORS_NAME_AT );
+            Attribute attr = entry.get( CREATORS_NAME_AT );
 
             if ( attr != null )
             {
@@ -655,7 +655,7 @@ public class OperationalAttributeInterce
                 attr.add( denormalizeTypes( creatorsName ).getName() );
             }
 
-            attr = entry.get( SchemaConstants.MODIFIERS_NAME_AT );
+            attr = entry.get( MODIFIERS_NAME_AT );
 
             if ( attr != null )
             {

Modified: directory/apacheds/branches/apacheds-txns/interceptors/schema/src/main/java/org/apache/directory/server/core/schema/SchemaLdifToPartitionExtractor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/interceptors/schema/src/main/java/org/apache/directory/server/core/schema/SchemaLdifToPartitionExtractor.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/interceptors/schema/src/main/java/org/apache/directory/server/core/schema/SchemaLdifToPartitionExtractor.java (original)
+++ directory/apacheds/branches/apacheds-txns/interceptors/schema/src/main/java/org/apache/directory/server/core/schema/SchemaLdifToPartitionExtractor.java Wed Dec 21 17:04:19 2011
@@ -242,7 +242,7 @@ public class SchemaLdifToPartitionExtrac
 
             // inject the entry
             Entry entry = new DefaultEntry( schemaManager, ldifEntry.getEntry() );
-            AddOperationContext addContext = new AddOperationContext( null, entry );
+            AddOperationContext addContext = new AddOperationContext( schemaManager, entry );
             partition.add( addContext );
         }
         catch ( LdapLdifException ne )

Modified: directory/apacheds/branches/apacheds-txns/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStoreTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStoreTest.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStoreTest.java (original)
+++ directory/apacheds/branches/apacheds-txns/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStoreTest.java Wed Dec 21 17:04:19 2011
@@ -234,7 +234,7 @@ public class JdbmStoreTest
         entry.add( "dc", "example" );
         entry.add( SchemaConstants.ENTRY_CSN_AT, new CsnFactory( 0 ).newInstance().toString() );
         entry.add( SchemaConstants.ENTRY_UUID_AT, Strings.getUUIDString( 1 ).toString() );
-        executionManager.add( store2, new AddOperationContext( null, entry ) );
+        executionManager.add( store2, new AddOperationContext( schemaManager, entry ) );
 
         // lookup the context entry
         UUID id = store2.getEntryId( suffixDn );
@@ -548,7 +548,7 @@ public class JdbmStoreTest
         entry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
         entry.add( "entryUUID", Strings.getUUIDString( 12 ).toString() );
         
-        AddOperationContext addContext = new AddOperationContext( null, entry );
+        AddOperationContext addContext = new AddOperationContext( schemaManager, entry );
         executionManager.add( store,  addContext );
 
         executionManager.delete( store,  dn, Strings.getUUIDString( 12 ) ); // drops the alias indices
@@ -596,7 +596,7 @@ public class JdbmStoreTest
         entry.add( "cn", "Martin King" );
         entry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
         entry.add( "entryUUID", Strings.getUUIDString( 12 ).toString() );
-        AddOperationContext addContext = new AddOperationContext( null, entry );
+        AddOperationContext addContext = new AddOperationContext( schemaManager, entry );
         executionManager.add( store,  addContext );
 
         cursor = idx.forwardCursor( Strings.getUUIDString( 2 ) );
@@ -621,7 +621,7 @@ public class JdbmStoreTest
         entry.add( "ou", "Marketing" );
         entry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
         entry.add( "entryUUID", Strings.getUUIDString( 13 ).toString() );
-        addContext = new AddOperationContext( null, entry );
+        addContext = new AddOperationContext( schemaManager, entry );
         executionManager.add( store,  addContext );
 
         // dn id 14
@@ -632,7 +632,7 @@ public class JdbmStoreTest
         entry.add( "cn", "Jimmy Wales" );
         entry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
         entry.add( "entryUUID", Strings.getUUIDString( 14 ).toString() );
-        addContext = new AddOperationContext( null, entry );
+        addContext = new AddOperationContext( schemaManager, entry );
         executionManager.add( store,  addContext );
 
         newDn = newParentDn.add( marketingDn.getRdn() );
@@ -697,7 +697,7 @@ public class JdbmStoreTest
         entry.add( "ou", "Not Present" );
         entry.add( "cn", "Martin King" );
         entry.add( "entryUUID", Strings.getUUIDString( 12 ).toString() );
-        AddOperationContext addContext = new AddOperationContext( null, entry );
+        AddOperationContext addContext = new AddOperationContext( schemaManager, entry );
         executionManager.add( store,  addContext );
     }
 
@@ -710,7 +710,7 @@ public class JdbmStoreTest
         entry.add( "ou", "Sales" );
         entry.add( "cn", "Martin King" );
         entry.add( "entryUUID", Strings.getUUIDString( 12 ).toString() );
-        AddOperationContext addContext = new AddOperationContext( null, entry );
+        AddOperationContext addContext = new AddOperationContext( schemaManager, entry );
         executionManager.add( store,  addContext );
     }
 
@@ -740,7 +740,7 @@ public class JdbmStoreTest
         entry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
         entry.add( "entryUUID", Strings.getUUIDString( 12 ).toString() );
 
-        AddOperationContext addContext = new AddOperationContext( null, entry );
+        AddOperationContext addContext = new AddOperationContext( schemaManager, entry );
         executionManager.add( store,  addContext );
 
         Rdn rdn = new Rdn( "sn=James" );
@@ -765,7 +765,7 @@ public class JdbmStoreTest
         entry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
         entry.add( "entryUUID", Strings.getUUIDString( 12 ).toString() );
 
-        AddOperationContext addContext = new AddOperationContext( null, entry );
+        AddOperationContext addContext = new AddOperationContext( schemaManager, entry );
         executionManager.add( store,  addContext );
 
         Rdn rdn = new Rdn( "sn=Ja\\+es" );
@@ -791,7 +791,7 @@ public class JdbmStoreTest
         childEntry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
         childEntry.add( "entryUUID", Strings.getUUIDString( 12 ).toString() );
 
-        AddOperationContext addContext = new AddOperationContext( null, childEntry );
+        AddOperationContext addContext = new AddOperationContext( schemaManager, childEntry );
         executionManager.add( store,  addContext );
 
         Dn parentDn = new Dn( schemaManager, "ou=Sales,o=Good Times Co." );
@@ -901,7 +901,7 @@ public class JdbmStoreTest
         entry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
         entry.add( "entryUUID", Strings.getUUIDString( 12 ).toString() );
 
-        AddOperationContext addContext = new AddOperationContext( null, entry );
+        AddOperationContext addContext = new AddOperationContext( schemaManager, entry );
         executionManager.add( store,  addContext );
 
         Attribute attrib = new DefaultAttribute( SchemaConstants.OU_AT, OU_AT );

Modified: directory/apacheds/branches/apacheds-txns/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStoreTxnTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStoreTxnTest.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStoreTxnTest.java (original)
+++ directory/apacheds/branches/apacheds-txns/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStoreTxnTest.java Wed Dec 21 17:04:19 2011
@@ -192,7 +192,7 @@ public class JdbmStoreTxnTest
             entry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
             entry.add( "entryUUID", Strings.getUUIDString( 12 ).toString() );
 
-            AddOperationContext addContext = new AddOperationContext( null, entry );
+            AddOperationContext addContext = new AddOperationContext( schemaManager, entry );
             executionManager.add( store, addContext );
             
             // Sleep some
@@ -207,7 +207,7 @@ public class JdbmStoreTxnTest
             entry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
             entry.add( "entryUUID", Strings.getUUIDString( 13 ).toString() );
             
-            addContext = new AddOperationContext( null, entry );
+            addContext = new AddOperationContext( schemaManager, entry );
             executionManager.add( store, addContext );
             
             txnManager.commitTransaction();

Modified: directory/apacheds/branches/apacheds-txns/ldif-partition/src/main/java/org/apache/directory/server/core/partition/ldif/LdifPartition.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/ldif-partition/src/main/java/org/apache/directory/server/core/partition/ldif/LdifPartition.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/ldif-partition/src/main/java/org/apache/directory/server/core/partition/ldif/LdifPartition.java (original)
+++ directory/apacheds/branches/apacheds-txns/ldif-partition/src/main/java/org/apache/directory/server/core/partition/ldif/LdifPartition.java Wed Dec 21 17:04:19 2011
@@ -194,7 +194,7 @@ public class LdifPartition extends Abstr
                     }
         
                     // And add this entry to the underlying partition
-                    AddOperationContext addContext = new AddOperationContext( null, contextEntry );
+                    AddOperationContext addContext = new AddOperationContext( schemaManager, contextEntry );
                     add( addContext );
                 }
             }
@@ -267,7 +267,7 @@ public class LdifPartition extends Abstr
                     }
 
                     // call add on the wrapped partition not on the self
-                    AddOperationContext addContext = new AddOperationContext( null, serverEntry );
+                    AddOperationContext addContext = new AddOperationContext( schemaManager, serverEntry );
                     executionManager.add( this, addContext );
                 }
             }

Modified: directory/apacheds/branches/apacheds-txns/ldif-partition/src/main/java/org/apache/directory/server/core/partition/ldif/SingleFileLdifPartition.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/ldif-partition/src/main/java/org/apache/directory/server/core/partition/ldif/SingleFileLdifPartition.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/ldif-partition/src/main/java/org/apache/directory/server/core/partition/ldif/SingleFileLdifPartition.java (original)
+++ directory/apacheds/branches/apacheds-txns/ldif-partition/src/main/java/org/apache/directory/server/core/partition/ldif/SingleFileLdifPartition.java Wed Dec 21 17:04:19 2011
@@ -152,7 +152,7 @@ public class SingleFileLdifPartition ext
         {
             addMandatoryOpAt( contextEntry );
 
-            AddOperationContext addContext = new AddOperationContext( null, contextEntry );
+            AddOperationContext addContext = new AddOperationContext( schemaManager, contextEntry );
             executionManager.add( this, addContext );
         }
         else
@@ -168,7 +168,7 @@ public class SingleFileLdifPartition ext
 
             addMandatoryOpAt( entry );
 
-            AddOperationContext addContext = new AddOperationContext( null, entry );
+            AddOperationContext addContext = new AddOperationContext( schemaManager, entry );
             executionManager.add( this,  addContext );
         }
 

Modified: directory/apacheds/branches/apacheds-txns/ldif-partition/src/test/java/org/apache/directory/server/core/partition/ldif/LdifPartitionTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/ldif-partition/src/test/java/org/apache/directory/server/core/partition/ldif/LdifPartitionTest.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/ldif-partition/src/test/java/org/apache/directory/server/core/partition/ldif/LdifPartitionTest.java (original)
+++ directory/apacheds/branches/apacheds-txns/ldif-partition/src/test/java/org/apache/directory/server/core/partition/ldif/LdifPartitionTest.java Wed Dec 21 17:04:19 2011
@@ -160,7 +160,7 @@ public class LdifPartitionTest
         entry.put( "objectClass", "top", "organizationalUnit" );
         entry.put(  "cn", "test" );
         
-        AddOperationContext addContext = new AddOperationContext( null, entry );
+        AddOperationContext addContext = new AddOperationContext( schemaManager, entry );
         executionManager.add( partition, addContext );
 
         LOG.debug( "Created new LDIF partition" );
@@ -173,7 +173,7 @@ public class LdifPartitionTest
             SchemaConstants.ENTRY_CSN_AT, defaultCSNFactory.newInstance().toString(),
             SchemaConstants.ENTRY_UUID_AT, UUID.randomUUID().toString() );
 
-        Entry clonedEntry = new ClonedServerEntry( entry );
+        Entry clonedEntry = new ClonedServerEntry( schemaManager, entry );
 
         return clonedEntry;
     }

Modified: directory/apacheds/branches/apacheds-txns/ldif-partition/src/test/java/org/apache/directory/server/core/partition/ldif/SingleFileLdifPartitionTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/ldif-partition/src/test/java/org/apache/directory/server/core/partition/ldif/SingleFileLdifPartitionTest.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/ldif-partition/src/test/java/org/apache/directory/server/core/partition/ldif/SingleFileLdifPartitionTest.java (original)
+++ directory/apacheds/branches/apacheds-txns/ldif-partition/src/test/java/org/apache/directory/server/core/partition/ldif/SingleFileLdifPartitionTest.java Wed Dec 21 17:04:19 2011
@@ -170,7 +170,7 @@ public class SingleFileLdifPartitionTest
 
         LdifEntry ldifEntry = reader.parseLdif( contextEntryStr ).get( 0 );
 
-        contextEntry = new ClonedServerEntry( new DefaultEntry( schemaManager, ldifEntry.getEntry() ) );
+        contextEntry = new ClonedServerEntry( schemaManager, ldifEntry.getEntry() );
     }
 
 
@@ -188,7 +188,7 @@ public class SingleFileLdifPartitionTest
         entry.put( SchemaConstants.ENTRY_CSN_AT, defaultCSNFactory.newInstance().toString() );
         entry.add( SchemaConstants.ENTRY_UUID_AT, UUID.randomUUID().toString() );
 
-        Entry clonedEntry = new ClonedServerEntry( entry );
+        Entry clonedEntry = new ClonedServerEntry( schemaManager, entry );
         
         return clonedEntry;
     }
@@ -395,7 +395,7 @@ public class SingleFileLdifPartitionTest
 
         // perform the above operation, this time without causing change to the entry's size
         modOpCtx = new ModifyOperationContext( mockSession );
-        modOpCtx.setEntry( new ClonedServerEntry( contextEntry ) );
+        modOpCtx.setEntry( new ClonedServerEntry( schemaManager, contextEntry ) );
 
         modItems = new ArrayList<Modification>();
 
@@ -431,7 +431,7 @@ public class SingleFileLdifPartitionTest
 
         // now perform a modification on the entry present in middle of LDIF file 
         modOpCtx = new ModifyOperationContext( mockSession );
-        modOpCtx.setEntry( new ClonedServerEntry( entry1 ) );
+        modOpCtx.setEntry( new ClonedServerEntry( schemaManager, entry1 ) );
         modOpCtx.setDn( entry1.getDn() );
 
         modItems = new ArrayList<Modification>();
@@ -473,7 +473,7 @@ public class SingleFileLdifPartitionTest
         //"description: desc of entry1\n"
 
         modOpCtx = new ModifyOperationContext( mockSession );
-        modOpCtx.setEntry( new ClonedServerEntry( entry1 ) );
+        modOpCtx.setEntry( new ClonedServerEntry( schemaManager, entry1 ) );
         modOpCtx.setDn( entry1.getDn() );
 
         modItems = new ArrayList<Modification>();

Modified: directory/apacheds/branches/apacheds-txns/server-config/src/main/java/org/apache/directory/server/config/ReadOnlyConfigurationPartition.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/server-config/src/main/java/org/apache/directory/server/config/ReadOnlyConfigurationPartition.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/server-config/src/main/java/org/apache/directory/server/config/ReadOnlyConfigurationPartition.java (original)
+++ directory/apacheds/branches/apacheds-txns/server-config/src/main/java/org/apache/directory/server/config/ReadOnlyConfigurationPartition.java Wed Dec 21 17:04:19 2011
@@ -126,7 +126,7 @@ public class ReadOnlyConfigurationPartit
             {
                 addMandatoryOpAt( contextEntry );
 
-                super.add( new AddOperationContext( null, contextEntry ) );
+                super.add( new AddOperationContext( schemaManager, contextEntry ) );
             }
             else
             {
@@ -139,7 +139,7 @@ public class ReadOnlyConfigurationPartit
                 Entry entry = new DefaultEntry( schemaManager, itr.next().getEntry() );
                 addMandatoryOpAt( entry );
 
-                super.add( new AddOperationContext( null, entry ) );
+                super.add( new AddOperationContext( schemaManager, entry ) );
             }
 
             // Closing the reader

Modified: directory/apacheds/branches/apacheds-txns/xdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/AbstractBTreePartition.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/xdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/AbstractBTreePartition.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/xdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/AbstractBTreePartition.java (original)
+++ directory/apacheds/branches/apacheds-txns/xdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/AbstractBTreePartition.java Wed Dec 21 17:04:19 2011
@@ -981,7 +981,7 @@ public abstract class AbstractBTreeParti
                 Dn dn = buildEntryDn( id );
                 entry.setDn( dn );
                 
-                return new ClonedServerEntry( entry );
+                return new ClonedServerEntry( schemaManager, entry );
             }
     
             return null;

Modified: directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/XdbmStoreUtils.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/XdbmStoreUtils.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/XdbmStoreUtils.java (original)
+++ directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/XdbmStoreUtils.java Wed Dec 21 17:04:19 2011
@@ -186,7 +186,7 @@ public class XdbmStoreUtils
         entry.add( SchemaConstants.ENTRY_CSN_AT, CSN_FACTORY.newInstance().toString() );
         entry.add( SchemaConstants.ENTRY_UUID_AT, Strings.getUUIDString( idx ).toString() );
 
-        AddOperationContext addContext = new AddOperationContext( null, entry );
+        AddOperationContext addContext = new AddOperationContext( store.getSchemaManager(), entry );
         executionManager.add( store, addContext );
     }
 }

Modified: directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/impl/avl/AvlPartitionTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/impl/avl/AvlPartitionTest.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/impl/avl/AvlPartitionTest.java (original)
+++ directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/impl/avl/AvlPartitionTest.java Wed Dec 21 17:04:19 2011
@@ -454,7 +454,7 @@ public class AvlPartitionTest
         entry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
         entry.add( "entryUUID", Strings.getUUIDString( 12 ).toString() );
 
-        AddOperationContext addContext = new AddOperationContext( null, entry );
+        AddOperationContext addContext = new AddOperationContext( schemaManager, entry );
         executionManager.add( partition, addContext );
 
         executionManager.delete( partition, dn, Strings.getUUIDString( 12 ) );
@@ -502,7 +502,7 @@ public class AvlPartitionTest
         entry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
         entry.add( "entryUUID", Strings.getUUIDString( 12 ).toString() );
 
-        AddOperationContext addContext = new AddOperationContext( null, entry );
+        AddOperationContext addContext = new AddOperationContext( schemaManager, entry );
         executionManager.add( partition, addContext );
 
         cursor = idx.forwardCursor( Strings.getUUIDString( 2 ) );
@@ -528,7 +528,7 @@ public class AvlPartitionTest
         entry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
         entry.add( "entryUUID", Strings.getUUIDString( 13 ).toString() );
 
-        addContext = new AddOperationContext( null, entry );
+        addContext = new AddOperationContext( schemaManager, entry );
         executionManager.add( partition, addContext );
 
         // dn id 14
@@ -540,7 +540,7 @@ public class AvlPartitionTest
         entry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
         entry.add( "entryUUID", Strings.getUUIDString( 14 ).toString() );
 
-        addContext = new AddOperationContext( null, entry );
+        addContext = new AddOperationContext( schemaManager, entry );
         executionManager.add( partition, addContext );
 
         newDn = newParentDn.add( marketingDn.getRdn() );
@@ -598,7 +598,7 @@ public class AvlPartitionTest
         entry.add( "cn", "Martin King" );
         entry.add( "entryUUID", Strings.getUUIDString( 15 ).toString() );
 
-        AddOperationContext addContext = new AddOperationContext( null, entry );
+        AddOperationContext addContext = new AddOperationContext( schemaManager, entry );
         executionManager.add( partition, addContext );
     }
 
@@ -612,7 +612,7 @@ public class AvlPartitionTest
         entry.add( "cn", "Martin King" );
         entry.add( "entryUUID", Strings.getUUIDString( 16 ).toString() );
 
-        AddOperationContext addContext = new AddOperationContext( null, entry );
+        AddOperationContext addContext = new AddOperationContext( schemaManager, entry );
         executionManager.add( partition, addContext );
     }
 
@@ -642,7 +642,7 @@ public class AvlPartitionTest
         entry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
         entry.add( "entryUUID", Strings.getUUIDString( 17 ).toString() );
 
-        AddOperationContext addContext = new AddOperationContext( null, entry );
+        AddOperationContext addContext = new AddOperationContext( schemaManager, entry );
         executionManager.add( partition, addContext );
 
         Rdn rdn = new Rdn( "sn=James" );
@@ -662,7 +662,7 @@ public class AvlPartitionTest
         entry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
         entry.add( "entryUUID", Strings.getUUIDString( 18 ).toString() );
 
-        AddOperationContext addContext = new AddOperationContext( null, entry );
+        AddOperationContext addContext = new AddOperationContext( schemaManager, entry );
         executionManager.add( partition, addContext );
 
         Rdn rdn = new Rdn( "sn=Ja\\+es" );
@@ -688,7 +688,7 @@ public class AvlPartitionTest
         childEntry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
         childEntry.add( "entryUUID", Strings.getUUIDString( 19 ).toString() );
 
-        AddOperationContext addContext = new AddOperationContext( null, childEntry );
+        AddOperationContext addContext = new AddOperationContext( schemaManager, childEntry );
         executionManager.add( partition, addContext );
 
         Dn parentDn = new Dn( schemaManager, "ou=Sales,o=Good Times Co." );
@@ -800,7 +800,7 @@ public class AvlPartitionTest
         entry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
         entry.add( "entryUUID", Strings.getUUIDString( 20 ).toString() );
 
-        AddOperationContext addContext = new AddOperationContext( null, entry );
+        AddOperationContext addContext = new AddOperationContext( schemaManager, entry );
         executionManager.add( partition, addContext );
 
         Attribute attrib = new DefaultAttribute( SchemaConstants.OU_AT, OU_AT );

Modified: directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/impl/avl/AvlPartitionTxnTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/impl/avl/AvlPartitionTxnTest.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/impl/avl/AvlPartitionTxnTest.java (original)
+++ directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/impl/avl/AvlPartitionTxnTest.java Wed Dec 21 17:04:19 2011
@@ -177,7 +177,7 @@ public class AvlPartitionTxnTest
             entry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
             entry.add( "entryUUID", Strings.getUUIDString( 12 ).toString() );
 
-            AddOperationContext addContext = new AddOperationContext( null, entry );
+            AddOperationContext addContext = new AddOperationContext( schemaManager, entry );
             executionManager.add( partition, addContext );
             
             // Sleep some
@@ -192,7 +192,7 @@ public class AvlPartitionTxnTest
             entry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
             entry.add( "entryUUID", Strings.getUUIDString( 13 ).toString() );
             
-            addContext = new AddOperationContext( null, entry );
+            addContext = new AddOperationContext( schemaManager, entry );
             executionManager.add( partition, addContext );
             
             txnManager.commitTransaction();

Modified: directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/GreaterEqTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/GreaterEqTest.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/GreaterEqTest.java (original)
+++ directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/GreaterEqTest.java Wed Dec 21 17:04:19 2011
@@ -628,7 +628,7 @@ public class GreaterEqTest
         attrs.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
         attrs.add( "entryUUID", Strings.getUUIDString( 12 ).toString() );
         
-        AddOperationContext addContext = new AddOperationContext( null, attrs );
+        AddOperationContext addContext = new AddOperationContext( schemaManager, attrs );
         executionManagerFactory.instance().add( store, addContext );
 
         indexEntry.setId( Strings.getUUIDString( 12 ) );

Modified: directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/LessEqTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/LessEqTest.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/LessEqTest.java (original)
+++ directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/LessEqTest.java Wed Dec 21 17:04:19 2011
@@ -654,7 +654,7 @@ public class LessEqTest
         attrs.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
         attrs.add( "entryUUID", Strings.getUUIDString( 12 ).toString() );
         
-        AddOperationContext addContext = new AddOperationContext( null, attrs );
+        AddOperationContext addContext = new AddOperationContext( schemaManager, attrs );
         executionManagerFactory.instance().add( store, addContext );
 
         indexEntry.setId( Strings.getUUIDString( 12 ) );

Modified: directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/OneLevelScopeTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/OneLevelScopeTest.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/OneLevelScopeTest.java (original)
+++ directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/OneLevelScopeTest.java Wed Dec 21 17:04:19 2011
@@ -680,7 +680,7 @@ public class OneLevelScopeTest
         entry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
         entry.add( "entryUUID", Strings.getUUIDString( 12 ).toString() );
 
-        AddOperationContext addContext = new AddOperationContext( null, entry );
+        AddOperationContext addContext = new AddOperationContext( schemaManager, entry );
         executionManagerFactory.instance().add( store, addContext );
 
         dn = new Dn( schemaManager, SchemaConstants.CN_AT_OID + "=jdoe," + SchemaConstants.OU_AT_OID + "=board of directors,"
@@ -693,7 +693,7 @@ public class OneLevelScopeTest
         entry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
         entry.add( "entryUUID", Strings.getUUIDString( 13 ).toString() );
         
-        addContext = new AddOperationContext( null, entry );
+        addContext = new AddOperationContext( schemaManager, entry );
         executionManagerFactory.instance().add( store, addContext );
 
         ScopeNode node = new ScopeNode( AliasDerefMode.DEREF_IN_SEARCHING, new Dn( SchemaConstants.OU_AT_OID

Modified: directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/SubtreeScopeTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/SubtreeScopeTest.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/SubtreeScopeTest.java (original)
+++ directory/apacheds/branches/apacheds-txns/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/SubtreeScopeTest.java Wed Dec 21 17:04:19 2011
@@ -645,7 +645,7 @@ public class SubtreeScopeTest
         entry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
         entry.add( "entryUUID", Strings.getUUIDString( 12 ).toString() );
 
-        AddOperationContext addContext = new AddOperationContext( null, entry );
+        AddOperationContext addContext = new AddOperationContext( schemaManager, entry );
         executionManagerFactory.instance().add( store, addContext );
 
         dn = new Dn( schemaManager, SchemaConstants.CN_AT_OID + "=jdoe," + SchemaConstants.OU_AT_OID + "=board of directors,"
@@ -658,7 +658,7 @@ public class SubtreeScopeTest
         entry.add( "entryCSN", new CsnFactory( 1 ).newInstance().toString() );
         entry.add( "entryUUID", Strings.getUUIDString( 13 ).toString() );
         
-        addContext = new AddOperationContext( null, entry );
+        addContext = new AddOperationContext( schemaManager, entry );
         executionManagerFactory.instance().add( store, addContext );
 
         ScopeNode node = new ScopeNode( AliasDerefMode.DEREF_IN_SEARCHING, new Dn( SchemaConstants.OU_AT_OID

Modified: directory/apacheds/branches/apacheds-txns/xdbm-tools/src/main/java/org/apache/directory/server/core/partition/impl/btree/gui/PartitionFrame.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/xdbm-tools/src/main/java/org/apache/directory/server/core/partition/impl/btree/gui/PartitionFrame.java?rev=1221806&r1=1221805&r2=1221806&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/xdbm-tools/src/main/java/org/apache/directory/server/core/partition/impl/btree/gui/PartitionFrame.java (original)
+++ directory/apacheds/branches/apacheds-txns/xdbm-tools/src/main/java/org/apache/directory/server/core/partition/impl/btree/gui/PartitionFrame.java Wed Dec 21 17:04:19 2011
@@ -473,7 +473,7 @@ public class PartitionFrame extends JFra
 
                 if ( null == partition.getEntryId( ndn ) )
                 {
-                    partition.add( new AddOperationContext( null, attrs ) );
+                    partition.add( new AddOperationContext( schemaManager, attrs ) );
                     load();
                 }
             }