You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by sa...@apache.org on 2011/12/14 09:15:11 UTC
svn commit: r1214100 -
/directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/
Author: saya
Date: Wed Dec 14 08:15:11 2011
New Revision: 1214100
URL: http://svn.apache.org/viewvc?rev=1214100&view=rev
Log:
added refs to txnmanager and execution manger instances in several classes
Modified:
directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/AvlPartitionFactory.java
directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/DSAnnotationProcessor.java
directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/DefaultDirectoryServiceFactory.java
directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/DirectoryServiceFactory.java
directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/JdbmPartitionFactory.java
directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/LdifPartitionFactory.java
directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/PartitionFactory.java
Modified: directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/AvlPartitionFactory.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/AvlPartitionFactory.java?rev=1214100&r1=1214099&r2=1214100&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/AvlPartitionFactory.java (original)
+++ directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/AvlPartitionFactory.java Wed Dec 14 08:15:11 2011
@@ -25,6 +25,8 @@ import java.util.Set;
import org.apache.directory.server.core.api.partition.Partition;
import org.apache.directory.server.core.api.partition.index.Index;
import org.apache.directory.server.core.partition.impl.avl.AvlPartition;
+import org.apache.directory.server.core.shared.partition.OperationExecutionManagerFactory;
+import org.apache.directory.server.core.shared.txn.TxnManagerFactory;
import org.apache.directory.server.xdbm.impl.avl.AvlIndex;
import org.apache.directory.shared.ldap.model.entry.Entry;
import org.apache.directory.shared.ldap.model.name.Dn;
@@ -42,10 +44,12 @@ public class AvlPartitionFactory impleme
/**
* {@inheritDoc}
*/
- public AvlPartition createPartition( SchemaManager schemaManager, String id, String suffix, int cacheSize, File workingDirectory )
+ public AvlPartition createPartition( SchemaManager schemaManager, String id, String suffix, int cacheSize, File workingDirectory,
+ TxnManagerFactory txnManagerFactory,
+ OperationExecutionManagerFactory executionManagerFactory )
throws Exception
{
- AvlPartition partition = new AvlPartition( schemaManager );
+ AvlPartition partition = new AvlPartition( schemaManager, txnManagerFactory, executionManagerFactory );
partition.setId( id );
partition.setSuffixDn( new Dn( suffix ) );
partition.setCacheSize( 500 );
Modified: directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/DSAnnotationProcessor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/DSAnnotationProcessor.java?rev=1214100&r1=1214099&r2=1214100&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/DSAnnotationProcessor.java (original)
+++ directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/DSAnnotationProcessor.java Wed Dec 14 08:15:11 2011
@@ -43,6 +43,8 @@ import org.apache.directory.server.core.
import org.apache.directory.server.core.authn.DelegatingAuthenticator;
import org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition;
import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex;
+import org.apache.directory.server.core.shared.partition.OperationExecutionManagerFactory;
+import org.apache.directory.server.core.shared.txn.TxnManagerFactory;
import org.apache.directory.server.i18n.I18n;
import org.apache.directory.shared.ldap.model.entry.DefaultEntry;
import org.apache.directory.shared.ldap.model.exception.LdapException;
@@ -146,7 +148,9 @@ public class DSAnnotationProcessor
createPartition.name(),
createPartition.suffix(),
createPartition.cacheSize(),
- new File( service.getInstanceLayout().getPartitionsDirectory(), createPartition.name() ) );
+ new File( service.getInstanceLayout().getPartitionsDirectory(), createPartition.name() ),
+ dsf.getTxnManagerFactory() ,
+ dsf.getOperationExecutionManagerFactory() );
CreateIndex[] indexes = createPartition.indexes();
@@ -160,9 +164,9 @@ public class DSAnnotationProcessor
{
// The annotation contains a specific partition type, we use
// that type.
- Class<?> partypes[] = new Class[]{SchemaManager.class};
+ Class<?> partypes[] = new Class[]{SchemaManager.class, TxnManagerFactory.class, OperationExecutionManagerFactory.class };
Constructor<?> constructor = createPartition.type().getConstructor(partypes);
- partition = (Partition)constructor.newInstance( new Object[]{service.getSchemaManager()} );
+ partition = (Partition)constructor.newInstance( new Object[]{service.getSchemaManager(), dsf.getTxnManagerFactory(), dsf.getOperationExecutionManagerFactory() } );
partition.setId( createPartition.name() );
partition.setSuffixDn( new Dn( service.getSchemaManager(), createPartition.suffix() ) );
Modified: directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/DefaultDirectoryServiceFactory.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/DefaultDirectoryServiceFactory.java?rev=1214100&r1=1214099&r2=1214100&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/DefaultDirectoryServiceFactory.java (original)
+++ directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/DefaultDirectoryServiceFactory.java Wed Dec 14 08:15:11 2011
@@ -61,13 +61,6 @@ public class DefaultDirectoryServiceFact
/** The partition factory. */
private PartitionFactory partitionFactory;
-
- /** Default txn log file size */
- private final static long TXN_LOG_FILE_SIZE = 1 << 27;
-
- /** Default txn log buffer size */
- private final static int TXN_LOG_BUFFER_SIZE = 1 << 22;
-
public DefaultDirectoryServiceFactory()
{
@@ -184,7 +177,7 @@ public class DefaultDirectoryServiceFact
directoryService.setSchemaManager( schemaManager );
// Init the LdifPartition
- LdifPartition ldifPartition = new LdifPartition( schemaManager );
+ LdifPartition ldifPartition = new LdifPartition( schemaManager, getTxnManagerFactory(), getOperationExecutionManagerFactory() );
ldifPartition.setPartitionPath( new File(workingDirectory, "schema" ).toURI() );
SchemaPartition schemaPartition = new SchemaPartition( schemaManager );
schemaPartition.setWrappedPartition( ldifPartition );
@@ -213,7 +206,8 @@ public class DefaultDirectoryServiceFact
// Inject the System Partition
Partition systemPartition = partitionFactory.createPartition( directoryService.getSchemaManager(),
"system", ServerDNConstants.SYSTEM_DN, 500,
- new File( directoryService.getInstanceLayout().getPartitionsDirectory(), "system" ) );
+ new File( directoryService.getInstanceLayout().getPartitionsDirectory(), "system" ),
+ getTxnManagerFactory(), getOperationExecutionManagerFactory() );
systemPartition.setSchemaManager( directoryService.getSchemaManager() );
partitionFactory.addIndex( systemPartition, SchemaConstants.OBJECT_CLASS_AT, 100 );
@@ -233,8 +227,12 @@ public class DefaultDirectoryServiceFact
buildInstanceDirectory( name );
// Initialize the txn subsystem and the operation execution manager
- TxnManagerFactory.init( directoryService.getInstanceLayout().getTxnLogDirectory().getPath(), TXN_LOG_BUFFER_SIZE, TXN_LOG_FILE_SIZE );
- OperationExecutionManagerFactory.init();
+ TxnManagerFactory txnManagerFactory = new TxnManagerFactory( directoryService.getInstanceLayout().getTxnLogDirectory().getPath(),
+ DefaultDirectoryService.TXN_LOG_BUFFER_SIZE, DefaultDirectoryService.TXN_LOG_FILE_SIZE );
+ OperationExecutionManagerFactory executionManagerFactory = new OperationExecutionManagerFactory( txnManagerFactory );
+
+ ( ( DefaultDirectoryService )directoryService ).setTxnManagerFactory( txnManagerFactory );
+ ( ( DefaultDirectoryService )directoryService ).setExecutionManagerFactory( executionManagerFactory );
// Init the service now
initSchema();
@@ -260,4 +258,24 @@ public class DefaultDirectoryServiceFact
{
return partitionFactory;
}
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public TxnManagerFactory getTxnManagerFactory()
+ {
+ return ( ( DefaultDirectoryService )directoryService ).getTxnManagerFactory();
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public OperationExecutionManagerFactory getOperationExecutionManagerFactory()
+ {
+ return ( ( DefaultDirectoryService )directoryService ).getOperationExecutionManagerFactory();
+ }
+
+
}
Modified: directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/DirectoryServiceFactory.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/DirectoryServiceFactory.java?rev=1214100&r1=1214099&r2=1214100&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/DirectoryServiceFactory.java (original)
+++ directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/DirectoryServiceFactory.java Wed Dec 14 08:15:11 2011
@@ -19,7 +19,10 @@
package org.apache.directory.server.core.factory;
+import org.apache.directory.server.core.DefaultDirectoryService;
import org.apache.directory.server.core.api.DirectoryService;
+import org.apache.directory.server.core.shared.partition.OperationExecutionManagerFactory;
+import org.apache.directory.server.core.shared.txn.TxnManagerFactory;
/**
@@ -55,4 +58,10 @@ public interface DirectoryServiceFactory
* @return the partition factory
*/
PartitionFactory getPartitionFactory() throws Exception;
+
+
+ TxnManagerFactory getTxnManagerFactory();
+
+
+ OperationExecutionManagerFactory getOperationExecutionManagerFactory();
}
Modified: directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/JdbmPartitionFactory.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/JdbmPartitionFactory.java?rev=1214100&r1=1214099&r2=1214100&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/JdbmPartitionFactory.java (original)
+++ directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/JdbmPartitionFactory.java Wed Dec 14 08:15:11 2011
@@ -25,6 +25,8 @@ import java.util.Set;
import org.apache.directory.server.core.api.partition.Partition;
import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex;
import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition;
+import org.apache.directory.server.core.shared.partition.OperationExecutionManagerFactory;
+import org.apache.directory.server.core.shared.txn.TxnManagerFactory;
import org.apache.directory.server.core.api.partition.index.Index;
import org.apache.directory.shared.ldap.model.entry.Entry;
import org.apache.directory.shared.ldap.model.name.Dn;
@@ -42,10 +44,12 @@ public class JdbmPartitionFactory implem
/**
* {@inheritDoc}
*/
- public JdbmPartition createPartition( SchemaManager schemaManager, String id, String suffix, int cacheSize, File workingDirectory )
+ public JdbmPartition createPartition( SchemaManager schemaManager, String id, String suffix, int cacheSize, File workingDirectory,
+ TxnManagerFactory txnManagerFactory,
+ OperationExecutionManagerFactory executionManagerFactory )
throws Exception
{
- JdbmPartition partition = new JdbmPartition( schemaManager );
+ JdbmPartition partition = new JdbmPartition( schemaManager, txnManagerFactory, executionManagerFactory );
partition.setId( id );
partition.setSuffixDn( new Dn( suffix ) );
partition.setCacheSize( 500 );
Modified: directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/LdifPartitionFactory.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/LdifPartitionFactory.java?rev=1214100&r1=1214099&r2=1214100&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/LdifPartitionFactory.java (original)
+++ directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/LdifPartitionFactory.java Wed Dec 14 08:15:11 2011
@@ -24,6 +24,8 @@ import java.util.Set;
import org.apache.directory.server.core.api.partition.Partition;
import org.apache.directory.server.core.partition.ldif.LdifPartition;
+import org.apache.directory.server.core.shared.partition.OperationExecutionManagerFactory;
+import org.apache.directory.server.core.shared.txn.TxnManagerFactory;
import org.apache.directory.server.core.api.partition.index.Index;
import org.apache.directory.server.xdbm.impl.avl.AvlIndex;
import org.apache.directory.shared.ldap.model.entry.Entry;
@@ -42,10 +44,12 @@ public class LdifPartitionFactory implem
/**
* {@inheritDoc}
*/
- public LdifPartition createPartition( SchemaManager schemaManager, String id, String suffix, int cacheSize, File workingDirectory )
+ public LdifPartition createPartition( SchemaManager schemaManager, String id, String suffix, int cacheSize, File workingDirectory,
+ TxnManagerFactory txnManagerFactory,
+ OperationExecutionManagerFactory executionManagerFactory )
throws Exception
{
- LdifPartition partition = new LdifPartition( schemaManager );
+ LdifPartition partition = new LdifPartition( schemaManager, txnManagerFactory, executionManagerFactory );
partition.setId( id );
partition.setSuffixDn( new Dn( suffix ) );
partition.setCacheSize( 500 );
Modified: directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/PartitionFactory.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/PartitionFactory.java?rev=1214100&r1=1214099&r2=1214100&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/PartitionFactory.java (original)
+++ directory/apacheds/branches/apacheds-txns/core-annotations/src/main/java/org/apache/directory/server/core/factory/PartitionFactory.java Wed Dec 14 08:15:11 2011
@@ -23,6 +23,8 @@ import java.io.File;
import org.apache.directory.server.core.api.partition.Partition;
import org.apache.directory.server.core.api.partition.index.Index;
+import org.apache.directory.server.core.shared.partition.OperationExecutionManagerFactory;
+import org.apache.directory.server.core.shared.txn.TxnManagerFactory;
import org.apache.directory.shared.ldap.model.schema.SchemaManager;
@@ -42,10 +44,14 @@ public interface PartitionFactory
* @param suffix the suffix
* @param cacheSize the cache size
* @param workingDirectory the working directory
+ * @param txnManagerFactory txn manager factory
+ * @param operationExecutionManagerFactory execution manager factory
* @return the partition
* @throws Exception the exception
*/
- Partition createPartition( SchemaManager schemaManager, String id, String suffix, int cacheSize, File workingDirectory ) throws Exception;
+ Partition createPartition( SchemaManager schemaManager, String id, String suffix, int cacheSize, File workingDirectory,
+ TxnManagerFactory txnManagerFactory,
+ OperationExecutionManagerFactory executionManagerFactory ) throws Exception;
/**