You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2007/09/30 03:27:11 UTC
svn commit: r580666 [1/2] - in /directory/apacheds/branches/bigbang:
bootstrap-extract/src/main/java/org/apache/directory/server/schema/bootstrap/partition/
btree-base/src/main/java/org/apache/directory/server/core/partition/impl/btree/
core-unit/src/m...
Author: akarasulu
Date: Sat Sep 29 18:27:08 2007
New Revision: 580666
URL: http://svn.apache.org/viewvc?rev=580666&view=rev
Log:
prep refactoring to be able to remove IndexConfiguration
Modified:
directory/apacheds/branches/bigbang/bootstrap-extract/src/main/java/org/apache/directory/server/schema/bootstrap/partition/DbFileListing.java
directory/apacheds/branches/bigbang/btree-base/src/main/java/org/apache/directory/server/core/partition/impl/btree/Index.java
directory/apacheds/branches/bigbang/core-unit/src/main/java/org/apache/directory/server/core/unit/AbstractPerformanceTest.java
directory/apacheds/branches/bigbang/core-unit/src/test/java/org/apache/directory/server/core/SearchOpsITest.java
directory/apacheds/branches/bigbang/core-unit/src/test/java/org/apache/directory/server/core/jndi/MixedCaseITest.java
directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java
directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/configuration/MutablePartitionConfiguration.java
directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/configuration/PartitionConfiguration.java
directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/configuration/StartupConfiguration.java
directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/DefaultPartitionNexus.java
directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/BTreePartition.java
directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/BTreePartitionConfiguration.java
directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/MutableBTreePartitionConfiguration.java
directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmPartition.java
directory/apacheds/branches/bigbang/core/src/test/java/org/apache/directory/server/core/schema/PartitionSchemaLoaderTest.java
directory/apacheds/branches/bigbang/jdbm-store/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmIndex.java
directory/apacheds/branches/bigbang/jdbm-store/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStore.java
directory/apacheds/branches/bigbang/jdbm-store/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmTable.java
directory/apacheds/branches/bigbang/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/BindHandler.java
directory/apacheds/branches/bigbang/server-jndi/src/main/java/org/apache/directory/server/jndi/ServerContextFactory.java
directory/apacheds/branches/bigbang/server-tools/src/main/java/org/apache/directory/server/tools/commands/dumpcmd/DumpCommandExecutor.java
directory/apacheds/branches/bigbang/server-unit/src/main/java/org/apache/directory/server/unit/AbstractServerTest.java
directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/DIRSERVER951ITest.java
directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/KeyDerivationServiceITest.java
directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/MiscTest.java
directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/NegationOperatorITest.java
directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/NtpITest.java
directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/PasswordPolicyServiceITest.java
directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/SaslBindITest.java
directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/SaslGssapiBindITest.java
directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/jndi/ServerContextFactoryTest.java
Modified: directory/apacheds/branches/bigbang/bootstrap-extract/src/main/java/org/apache/directory/server/schema/bootstrap/partition/DbFileListing.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/bootstrap-extract/src/main/java/org/apache/directory/server/schema/bootstrap/partition/DbFileListing.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/bootstrap-extract/src/main/java/org/apache/directory/server/schema/bootstrap/partition/DbFileListing.java (original)
+++ directory/apacheds/branches/bigbang/bootstrap-extract/src/main/java/org/apache/directory/server/schema/bootstrap/partition/DbFileListing.java Sat Sep 29 18:27:08 2007
@@ -177,9 +177,9 @@
*
* @return set of user index names
*/
- public Set<Object> getIndexedAttributes()
+ public Set<String> getIndexedAttributes()
{
- Set<Object> attributes = new HashSet<Object>();
+ Set<String> attributes = new HashSet<String>();
Iterator<String> ii = iterator();
while( ii.hasNext() )
{
Modified: directory/apacheds/branches/bigbang/btree-base/src/main/java/org/apache/directory/server/core/partition/impl/btree/Index.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/btree-base/src/main/java/org/apache/directory/server/core/partition/impl/btree/Index.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/btree-base/src/main/java/org/apache/directory/server/core/partition/impl/btree/Index.java (original)
+++ directory/apacheds/branches/bigbang/btree-base/src/main/java/org/apache/directory/server/core/partition/impl/btree/Index.java Sat Sep 29 18:27:08 2007
@@ -21,6 +21,7 @@
import java.util.regex.Pattern;
+import java.io.File;
import javax.naming.NamingException;
import javax.naming.directory.Attribute;
@@ -37,6 +38,68 @@
*/
public interface Index
{
+ // -----------------------------------------------------------------------
+ // C O N F I G U R A T I O N M E T H O D S
+ // -----------------------------------------------------------------------
+
+
+ /**
+ * Gets the attribute identifier set at configuration time for this index which may not
+ * be the OID but an alias name for the attributeType associated with this Index
+ *
+ * @return configured attribute oid or alias name
+ */
+ String getAttributeId();
+
+
+ /**
+ * Sets the attribute identifier set at configuration time for this index which may not
+ * be the OID but an alias name for the attributeType associated with this Index
+ *
+ * @param attributeId configured attribute oid or alias name
+ */
+ void setAttributeId( String attributeId );
+
+
+ /**
+ * Gets the size of the index cache in terms of the number of index entries to be cached.
+ *
+ * @return the size of the index cache
+ */
+ int getCacheSize();
+
+
+ /**
+ * Sets the size of the index cache in terms of the number of index entries to be cached.
+ *
+ * @param cacheSize the size of the index cache
+ */
+ void setCacheSize( int cacheSize );
+
+
+ /**
+ * Sets the working directory path to something other than the default. Sometimes more
+ * performance is gained by locating indices on separate disk spindles.
+ *
+ * @param wkDirPath optional working directory path
+ */
+ void setWkDirPath( File wkDirPath );
+
+
+ /**
+ * Gets the working directory path to something other than the default. Sometimes more
+ * performance is gained by locating indices on separate disk spindles.
+ *
+ * @return optional working directory path
+ */
+ File getWkDirPath();
+
+
+ // -----------------------------------------------------------------------
+ // E N D C O N F I G U R A T I O N M E T H O D S
+ // -----------------------------------------------------------------------
+
+
/**
* Gets the attribute this Index is built upon.
*
Modified: directory/apacheds/branches/bigbang/core-unit/src/main/java/org/apache/directory/server/core/unit/AbstractPerformanceTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core-unit/src/main/java/org/apache/directory/server/core/unit/AbstractPerformanceTest.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core-unit/src/main/java/org/apache/directory/server/core/unit/AbstractPerformanceTest.java (original)
+++ directory/apacheds/branches/bigbang/core-unit/src/main/java/org/apache/directory/server/core/unit/AbstractPerformanceTest.java Sat Sep 29 18:27:08 2007
@@ -20,32 +20,29 @@
package org.apache.directory.server.core.unit;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import javax.naming.Context;
-import javax.naming.directory.Attributes;
-import javax.naming.ldap.InitialLdapContext;
-import javax.naming.ldap.LdapContext;
-
-import org.apache.directory.server.core.configuration.MutablePartitionConfiguration;
import org.apache.directory.server.core.configuration.PartitionConfiguration;
import org.apache.directory.server.core.partition.PartitionNexus;
+import org.apache.directory.server.core.partition.impl.btree.Index;
+import org.apache.directory.server.core.partition.impl.btree.MutableBTreePartitionConfiguration;
+import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex;
import org.apache.directory.shared.ldap.constants.SchemaConstants;
-import org.apache.directory.shared.ldap.ldif.Entry;
import org.apache.directory.shared.ldap.ldif.ChangeType;
+import org.apache.directory.shared.ldap.ldif.Entry;
import org.apache.directory.shared.ldap.ldif.LdifReader;
import org.apache.directory.shared.ldap.message.AttributesImpl;
import org.apache.directory.shared.ldap.name.LdapDN;
import org.apache.directory.shared.ldap.util.NamespaceTools;
+import javax.naming.Context;
+import javax.naming.directory.Attributes;
+import javax.naming.ldap.InitialLdapContext;
+import javax.naming.ldap.LdapContext;
+import java.io.*;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Hashtable;
+import java.util.Iterator;
+
/**
* A base testcase is used to create test harnesses for running performance
@@ -138,10 +135,10 @@
if ( ! isExternal )
{
// Add indices for ou, uid, and objectClass
- HashSet<Object> indexedAttributes = new HashSet<Object>();
- indexedAttributes.add( "ou" );
- indexedAttributes.add( "uid" );
- indexedAttributes.add( SchemaConstants.OBJECT_CLASS_AT );
+ HashSet<Index> indexedAttributes = new HashSet<Index>();
+ indexedAttributes.add( new JdbmIndex( "ou" ) );
+ indexedAttributes.add( new JdbmIndex( "uid" ) );
+ indexedAttributes.add( new JdbmIndex( SchemaConstants.OBJECT_CLASS_AT ) );
// Build the root entry for the new partition
Attributes attributes = new AttributesImpl( SchemaConstants.OBJECT_CLASS_AT, "top", true );
@@ -149,7 +146,7 @@
attributes.put( "ou", "test" );
// Add apache.org paritition since all work will be done here
- MutablePartitionConfiguration partConfig = new MutablePartitionConfiguration();
+ MutableBTreePartitionConfiguration partConfig = new MutableBTreePartitionConfiguration();
partConfig.setIndexedAttributes( indexedAttributes );
partConfig.setName( "test" );
partConfig.setSuffix( "ou=test" );
Modified: directory/apacheds/branches/bigbang/core-unit/src/test/java/org/apache/directory/server/core/SearchOpsITest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core-unit/src/test/java/org/apache/directory/server/core/SearchOpsITest.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core-unit/src/test/java/org/apache/directory/server/core/SearchOpsITest.java (original)
+++ directory/apacheds/branches/bigbang/core-unit/src/test/java/org/apache/directory/server/core/SearchOpsITest.java Sat Sep 29 18:27:08 2007
@@ -20,24 +20,21 @@
package org.apache.directory.server.core;
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-import javax.naming.directory.Attribute;
-import javax.naming.directory.Attributes;
-import javax.naming.directory.DirContext;
-import javax.naming.directory.SearchControls;
-import javax.naming.directory.SearchResult;
-
-import org.apache.directory.server.core.configuration.MutablePartitionConfiguration;
+import org.apache.directory.server.core.partition.impl.btree.Index;
+import org.apache.directory.server.core.partition.impl.btree.MutableBTreePartitionConfiguration;
import org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration;
+import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex;
import org.apache.directory.server.core.unit.AbstractAdminTestCase;
import org.apache.directory.shared.ldap.message.AttributeImpl;
import org.apache.directory.shared.ldap.message.AttributesImpl;
import org.apache.directory.shared.ldap.message.ModificationItemImpl;
+import javax.naming.NamingEnumeration;
+import javax.naming.NamingException;
+import javax.naming.directory.*;
+import java.util.HashSet;
+import java.util.Set;
+
/**
* Tests various search scenarios.
@@ -66,7 +63,7 @@
if ( getName().indexOf( "WithIndices" ) != -1 )
{
- MutablePartitionConfiguration sysConf = new MutablePartitionConfiguration();
+ MutableBTreePartitionConfiguration sysConf = new MutableBTreePartitionConfiguration();
sysConf.setName( "system" );
Attributes attrs = new AttributesImpl( "objectClass", "top", true );
attrs.get( "objectClass" ).add( "organizationalUnit" );
@@ -74,15 +71,10 @@
sysConf.setContextEntry( attrs );
sysConf.setSuffix( "ou=system" );
- Set<Object> indices = new HashSet<Object>();
+ Set<Index> indices = new HashSet<Index>();
indices.addAll( sysConf.getIndexedAttributes() );
-
- MutableIndexConfiguration idxConfig = new MutableIndexConfiguration();
- idxConfig.setAttributeId( "gidNumber" );
- indices.add( "gidNumber" );
-
+ indices.add( new JdbmIndex( "gidNumber" ) );
sysConf.setIndexedAttributes( indices );
-
configuration.setSystemPartitionConfiguration( sysConf );
}
Modified: directory/apacheds/branches/bigbang/core-unit/src/test/java/org/apache/directory/server/core/jndi/MixedCaseITest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core-unit/src/test/java/org/apache/directory/server/core/jndi/MixedCaseITest.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core-unit/src/test/java/org/apache/directory/server/core/jndi/MixedCaseITest.java (original)
+++ directory/apacheds/branches/bigbang/core-unit/src/test/java/org/apache/directory/server/core/jndi/MixedCaseITest.java Sat Sep 29 18:27:08 2007
@@ -20,22 +20,20 @@
package org.apache.directory.server.core.jndi;
-import javax.naming.NamingException;
-import javax.naming.Context;
-import javax.naming.NamingEnumeration;
-import javax.naming.directory.Attribute;
-import javax.naming.directory.Attributes;
-import javax.naming.directory.DirContext;
-import javax.naming.directory.SearchControls;
-import javax.naming.directory.SearchResult;
-
import org.apache.directory.server.core.configuration.MutablePartitionConfiguration;
+import org.apache.directory.server.core.partition.impl.btree.Index;
+import org.apache.directory.server.core.partition.impl.btree.MutableBTreePartitionConfiguration;
+import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex;
import org.apache.directory.server.core.unit.AbstractAdminTestCase;
import org.apache.directory.shared.ldap.exception.LdapNameNotFoundException;
import org.apache.directory.shared.ldap.message.AttributeImpl;
import org.apache.directory.shared.ldap.message.AttributesImpl;
import org.apache.directory.shared.ldap.message.ModificationItemImpl;
+import javax.naming.Context;
+import javax.naming.NamingEnumeration;
+import javax.naming.NamingException;
+import javax.naming.directory.*;
import java.util.HashSet;
import java.util.Set;
@@ -54,14 +52,14 @@
public void setUp() throws Exception
{
- MutablePartitionConfiguration partition = new MutablePartitionConfiguration();
+ MutableBTreePartitionConfiguration partition = new MutableBTreePartitionConfiguration();
partition.setName( "apache" );
partition.setSuffix( suffix );
- Set<Object> indexedAttributes = new HashSet<Object>();
- indexedAttributes.add( "objectClass" );
- indexedAttributes.add( "ou" );
- indexedAttributes.add( "uid" );
+ HashSet<Index> indexedAttributes = new HashSet<Index>();
+ indexedAttributes.add( new JdbmIndex( "objectClass" ) );
+ indexedAttributes.add( new JdbmIndex( "ou" ) );
+ indexedAttributes.add( new JdbmIndex( "uid" ) );
partition.setIndexedAttributes( indexedAttributes );
Attributes attrs = new AttributesImpl( true );
@@ -74,7 +72,7 @@
partition.setContextEntry( attrs );
- Set<MutablePartitionConfiguration> partitions = new HashSet<MutablePartitionConfiguration>();
+ Set<MutableBTreePartitionConfiguration> partitions = new HashSet<MutableBTreePartitionConfiguration>();
partitions.add( partition );
configuration.setPartitionConfigurations( partitions );
Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java Sat Sep 29 18:27:08 2007
@@ -20,24 +20,9 @@
package org.apache.directory.server.core;
-import java.io.File;
-import java.io.IOException;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.naming.Context;
-import javax.naming.NamingException;
-import javax.naming.directory.Attribute;
-import javax.naming.directory.Attributes;
-
import org.apache.directory.server.core.authz.AuthorizationService;
import org.apache.directory.server.core.configuration.Configuration;
import org.apache.directory.server.core.configuration.ConfigurationException;
-import org.apache.directory.server.core.configuration.MutablePartitionConfiguration;
import org.apache.directory.server.core.configuration.PartitionConfiguration;
import org.apache.directory.server.core.configuration.StartupConfiguration;
import org.apache.directory.server.core.interceptor.Interceptor;
@@ -51,24 +36,19 @@
import org.apache.directory.server.core.jndi.ServerLdapContext;
import org.apache.directory.server.core.partition.DefaultPartitionNexus;
import org.apache.directory.server.core.partition.PartitionNexus;
+import org.apache.directory.server.core.partition.impl.btree.BTreePartitionConfiguration;
+import org.apache.directory.server.core.partition.impl.btree.Index;
+import org.apache.directory.server.core.partition.impl.btree.MutableBTreePartitionConfiguration;
+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.schema.PartitionSchemaLoader;
import org.apache.directory.server.core.schema.SchemaManager;
import org.apache.directory.server.core.schema.SchemaPartitionDao;
import org.apache.directory.server.schema.SerializableComparator;
-import org.apache.directory.server.schema.bootstrap.ApacheSchema;
-import org.apache.directory.server.schema.bootstrap.ApachemetaSchema;
-import org.apache.directory.server.schema.bootstrap.BootstrapSchemaLoader;
-import org.apache.directory.server.schema.bootstrap.CoreSchema;
-import org.apache.directory.server.schema.bootstrap.Schema;
-import org.apache.directory.server.schema.bootstrap.SystemSchema;
+import org.apache.directory.server.schema.bootstrap.*;
import org.apache.directory.server.schema.bootstrap.partition.DbFileListing;
import org.apache.directory.server.schema.bootstrap.partition.SchemaPartitionExtractor;
-import org.apache.directory.server.schema.registries.AttributeTypeRegistry;
-import org.apache.directory.server.schema.registries.DefaultOidRegistry;
-import org.apache.directory.server.schema.registries.DefaultRegistries;
-import org.apache.directory.server.schema.registries.OidRegistry;
-import org.apache.directory.server.schema.registries.Registries;
+import org.apache.directory.server.schema.registries.*;
import org.apache.directory.shared.ldap.constants.JndiPropertyConstants;
import org.apache.directory.shared.ldap.constants.SchemaConstants;
import org.apache.directory.shared.ldap.constants.ServerDNConstants;
@@ -88,6 +68,14 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.naming.directory.Attribute;
+import javax.naming.directory.Attributes;
+import java.io.File;
+import java.io.IOException;
+import java.util.*;
+
/**
* Default implementation of {@link DirectoryService}.
@@ -290,7 +278,7 @@
{
if ( !started )
{
- return;
+ throw new IllegalStateException( "Attempt to shutdown server before it has started!" );
}
serviceListener.beforeShutdown( this );
@@ -846,7 +834,7 @@
// Initialize schema partition
// --------------------------------------------------------------------
- MutablePartitionConfiguration schemaPartitionConfig = new MutablePartitionConfiguration();
+ MutableBTreePartitionConfiguration schemaPartitionConfig = new MutableBTreePartitionConfiguration();
schemaPartitionConfig.setName( "schema" );
schemaPartitionConfig.setCacheSize( 1000 );
@@ -860,8 +848,14 @@
throw new LdapNamingException( "Got IOException while trying to read DBFileListing: " + e.getMessage(),
ResultCodeEnum.OTHER );
}
-
- schemaPartitionConfig.setIndexedAttributes( listing.getIndexedAttributes() );
+
+ Set<Index> indexedAttributes = new HashSet<Index>();
+ for ( String attributeId : listing.getIndexedAttributes() )
+ {
+ indexedAttributes.add( new JdbmIndex( attributeId ) );
+ }
+
+ schemaPartitionConfig.setIndexedAttributes( indexedAttributes );
schemaPartitionConfig.setSuffix( "ou=schema" );
Attributes entry = new AttributesImpl();
@@ -901,20 +895,24 @@
for ( PartitionConfiguration pconf : pcs )
{
- Iterator<Object> indices = pconf.getIndexedAttributes().iterator();
- while ( indices.hasNext() )
+ if ( pconf instanceof BTreePartitionConfiguration )
{
- Object indexedAttr = indices.next();
- String schemaName = dao.findSchema( indexedAttr.toString() );
- if ( schemaName == null )
- {
- throw new NamingException( "Index on unidentified attribute: " + indexedAttr.toString() );
- }
-
- Schema schema = schemaMap.get( schemaName );
- if ( schema.isDisabled() )
+ BTreePartitionConfiguration btpconf = ( BTreePartitionConfiguration ) pconf;
+ Iterator<Index> indices = btpconf.getIndexedAttributes().iterator();
+ while ( indices.hasNext() )
{
- dao.enableSchema( schemaName );
+ Index indexedAttr = indices.next();
+ String schemaName = dao.findSchema( indexedAttr.getAttributeId() );
+ if ( schemaName == null )
+ {
+ throw new NamingException( "Index on unidentified attribute: " + indexedAttr.toString() );
+ }
+
+ Schema schema = schemaMap.get( schemaName );
+ if ( schema.isDisabled() )
+ {
+ dao.enableSchema( schemaName );
+ }
}
}
}
Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/configuration/MutablePartitionConfiguration.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/configuration/MutablePartitionConfiguration.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/configuration/MutablePartitionConfiguration.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/configuration/MutablePartitionConfiguration.java Sat Sep 29 18:27:08 2007
@@ -48,12 +48,6 @@
}
- public void setIndexedAttributes( Set<Object> indexedAttributes )
- {
- super.setIndexedAttributes( indexedAttributes );
- }
-
-
public void setPartitionClassName( String partitionClassName )
{
super.setPartitionClassName( partitionClassName );
Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/configuration/PartitionConfiguration.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/configuration/PartitionConfiguration.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/configuration/PartitionConfiguration.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/configuration/PartitionConfiguration.java Sat Sep 29 18:27:08 2007
@@ -20,21 +20,21 @@
package org.apache.directory.server.core.configuration;
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.naming.Name;
-import javax.naming.NamingException;
-import javax.naming.directory.Attributes;
-
+import org.apache.directory.server.core.partition.Partition;
import org.apache.directory.shared.ldap.exception.LdapConfigurationException;
import org.apache.directory.shared.ldap.message.AttributesImpl;
import org.apache.directory.shared.ldap.name.LdapDN;
import org.apache.directory.shared.ldap.schema.Normalizer;
+import javax.naming.Name;
+import javax.naming.NamingException;
+import javax.naming.directory.Attributes;
+import java.util.HashSet;
+import java.util.Set;
+
/**
- * A configuration for {@link Partition}.
+ * A configuration for {@link PartitionConfiguration}.
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$, $Date$
@@ -50,7 +50,6 @@
private String name;
private int cacheSize = -1;
private String suffix;
- private Set<Object> indexedAttributes; // Set<String> or <IndexConfiguration>
private Attributes contextEntry = new AttributesImpl( true );
private String partitionClassName = DEFAULT_PARTITION_IMPLEMENTATION;
@@ -60,7 +59,6 @@
*/
protected PartitionConfiguration()
{
- setIndexedAttributes( new HashSet<Object>() );
}
@@ -82,27 +80,6 @@
{
name = name.trim();
this.name = name;
- }
-
-
- /**
- * Returns the set of attribute type strings to create an index on.
- */
- @SuppressWarnings("unchecked")
- public Set<Object> getIndexedAttributes()
- {
- Set<Object> newSet = new HashSet<Object>();
- newSet.addAll( indexedAttributes );
- return newSet;
- }
-
-
- /**
- * Sets the set of attribute type strings to create an index on.
- */
- protected void setIndexedAttributes( Set<Object> indexedAttributes )
- {
- this.indexedAttributes = indexedAttributes;
}
Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/configuration/StartupConfiguration.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/configuration/StartupConfiguration.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/configuration/StartupConfiguration.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/configuration/StartupConfiguration.java Sat Sep 29 18:27:08 2007
@@ -186,7 +186,7 @@
/**
* Returns {@link PartitionConfiguration}s to configure context partitions.
*/
- public Set<PartitionConfiguration> getPartitionConfigurations()
+ public Set<? extends PartitionConfiguration> getPartitionConfigurations()
{
Set<PartitionConfiguration> cloned = new HashSet<PartitionConfiguration>();
cloned.addAll( partitionConfigurations );
Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/DefaultPartitionNexus.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/DefaultPartitionNexus.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/DefaultPartitionNexus.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/DefaultPartitionNexus.java Sat Sep 29 18:27:08 2007
@@ -20,55 +20,16 @@
package org.apache.directory.server.core.partition;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-
-import javax.naming.ConfigurationException;
-import javax.naming.NameNotFoundException;
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-import javax.naming.directory.Attribute;
-import javax.naming.directory.Attributes;
-import javax.naming.directory.SearchControls;
-import javax.naming.directory.SearchResult;
-import javax.naming.ldap.LdapContext;
-
import org.apache.directory.server.core.DirectoryServiceConfiguration;
import org.apache.directory.server.core.configuration.PartitionConfiguration;
-import org.apache.directory.server.core.interceptor.context.AddContextPartitionOperationContext;
-import org.apache.directory.server.core.interceptor.context.AddOperationContext;
-import org.apache.directory.server.core.interceptor.context.BindOperationContext;
-import org.apache.directory.server.core.interceptor.context.CompareOperationContext;
-import org.apache.directory.server.core.interceptor.context.DeleteOperationContext;
-import org.apache.directory.server.core.interceptor.context.EntryOperationContext;
-import org.apache.directory.server.core.interceptor.context.GetMatchedNameOperationContext;
-import org.apache.directory.server.core.interceptor.context.GetRootDSEOperationContext;
-import org.apache.directory.server.core.interceptor.context.GetSuffixOperationContext;
-import org.apache.directory.server.core.interceptor.context.ListOperationContext;
-import org.apache.directory.server.core.interceptor.context.ListSuffixOperationContext;
-import org.apache.directory.server.core.interceptor.context.LookupOperationContext;
-import org.apache.directory.server.core.interceptor.context.ModifyOperationContext;
-import org.apache.directory.server.core.interceptor.context.MoveAndRenameOperationContext;
-import org.apache.directory.server.core.interceptor.context.MoveOperationContext;
-import org.apache.directory.server.core.interceptor.context.RemoveContextPartitionOperationContext;
-import org.apache.directory.server.core.interceptor.context.RenameOperationContext;
-import org.apache.directory.server.core.interceptor.context.SearchOperationContext;
-import org.apache.directory.server.core.interceptor.context.UnbindOperationContext;
+import org.apache.directory.server.core.interceptor.context.*;
+import org.apache.directory.server.core.partition.impl.btree.Index;
import org.apache.directory.server.core.partition.impl.btree.MutableBTreePartitionConfiguration;
+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.partition.tree.BranchNode;
import org.apache.directory.server.core.partition.tree.LeafNode;
import org.apache.directory.server.core.partition.tree.Node;
-import org.apache.directory.server.core.partition.tree.BranchNode;
import org.apache.directory.server.ldap.constants.SupportedSASLMechanisms;
import org.apache.directory.server.schema.registries.AttributeTypeRegistry;
import org.apache.directory.server.schema.registries.OidRegistry;
@@ -80,14 +41,7 @@
import org.apache.directory.shared.ldap.exception.LdapNoSuchAttributeException;
import org.apache.directory.shared.ldap.filter.ExprNode;
import org.apache.directory.shared.ldap.filter.PresenceNode;
-import org.apache.directory.shared.ldap.message.CascadeControl;
-import org.apache.directory.shared.ldap.message.EntryChangeControl;
-import org.apache.directory.shared.ldap.message.AttributeImpl;
-import org.apache.directory.shared.ldap.message.AttributesImpl;
-import org.apache.directory.shared.ldap.message.ManageDsaITControl;
-import org.apache.directory.shared.ldap.message.PersistentSearchControl;
-import org.apache.directory.shared.ldap.message.ServerSearchResult;
-import org.apache.directory.shared.ldap.message.SubentriesControl;
+import org.apache.directory.shared.ldap.message.*;
import org.apache.directory.shared.ldap.message.extended.NoticeOfDisconnect;
import org.apache.directory.shared.ldap.name.LdapDN;
import org.apache.directory.shared.ldap.schema.AttributeType;
@@ -97,10 +51,21 @@
import org.apache.directory.shared.ldap.util.NamespaceTools;
import org.apache.directory.shared.ldap.util.SingletonEnumeration;
import org.apache.directory.shared.ldap.util.StringTools;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import javax.naming.ConfigurationException;
+import javax.naming.NameNotFoundException;
+import javax.naming.NamingEnumeration;
+import javax.naming.NamingException;
+import javax.naming.directory.Attribute;
+import javax.naming.directory.Attributes;
+import javax.naming.directory.SearchControls;
+import javax.naming.directory.SearchResult;
+import javax.naming.ldap.LdapContext;
+import java.io.IOException;
+import java.util.*;
+
/**
* A nexus for partitions dedicated for storing entries specific to a naming
@@ -231,6 +196,7 @@
{
return "NEXUS";
}
+
public void init( DirectoryServiceConfiguration factoryCfg, PartitionConfiguration cfg )
throws NamingException
@@ -249,8 +215,8 @@
List<Partition> initializedPartitions = new ArrayList<Partition>();
initializedPartitions.add( 0, this.system );
- Iterator<PartitionConfiguration> partitionConfigurations =
- factoryCfg.getStartupConfiguration().getPartitionConfigurations().iterator();
+ Iterator<PartitionConfiguration> partitionConfigurations =
+ ( Iterator<PartitionConfiguration> ) factoryCfg.getStartupConfiguration().getPartitionConfigurations().iterator();
try
{
while ( partitionConfigurations.hasNext() )
@@ -329,56 +295,23 @@
}
// add all attribute oids of index configs to a hashset
- Set<Object> indices = systemCfg.getIndexedAttributes();
+ Set<Index> indices = systemCfg.getIndexedAttributes();
Set<String> indexOids = new HashSet<String>();
OidRegistry registry = factoryCfg.getRegistries().getOidRegistry();
- for ( Object index : indices )
- {
- indexOids.add( registry.getOid( index.toString() ) );
- }
-
- if ( ! indexOids.contains( Oid.ALIAS ) )
- {
- indices.add( Oid.ALIAS );
- }
-
- if ( ! indexOids.contains( Oid.EXISTANCE ) )
- {
- indices.add( Oid.EXISTANCE );
- }
-
- if ( ! indexOids.contains( Oid.HIERARCHY ) )
- {
- indices.add( Oid.HIERARCHY );
- }
-
- if ( ! indexOids.contains( Oid.NDN ) )
+ for ( Index index : indices )
{
- indices.add( Oid.NDN );
+ indexOids.add( registry.getOid( index.getAttributeId() ) );
}
-
- if ( ! indexOids.contains( Oid.ONEALIAS ) )
- {
- indices.add( Oid.ONEALIAS );
- }
-
- if ( ! indexOids.contains( Oid.SUBALIAS ) )
- {
- indices.add( Oid.SUBALIAS );
- }
-
- if ( ! indexOids.contains( Oid.UPDN ) )
- {
- indices.add( Oid.UPDN );
- }
-
+
if ( ! indexOids.contains( registry.getOid( SchemaConstants.OBJECT_CLASS_AT ) ) )
{
log.warn( "CAUTION: You have not included objectClass as an indexed attribute" +
"in the system partition configuration. This will lead to poor " +
"performance. The server is automatically adding this index for you." );
- indices.add( SchemaConstants.OBJECT_CLASS_AT );
+ JdbmIndex index = new JdbmIndex();
+ index.setAttributeId( SchemaConstants.OBJECT_CLASS_AT );
+ indices.add( index );
}
}
else
@@ -392,16 +325,9 @@
systemCfg.setSuffix( PartitionNexus.SYSTEM_PARTITION_SUFFIX );
// Add indexed attributes for system partition
- Set<Object> indexedSystemAttrs = new HashSet<Object>();
- indexedSystemAttrs.add( Oid.ALIAS );
- indexedSystemAttrs.add( Oid.EXISTANCE );
- indexedSystemAttrs.add( Oid.HIERARCHY );
- indexedSystemAttrs.add( Oid.NDN );
- indexedSystemAttrs.add( Oid.ONEALIAS );
- indexedSystemAttrs.add( Oid.SUBALIAS );
- indexedSystemAttrs.add( Oid.UPDN );
- indexedSystemAttrs.add( SchemaConstants.OBJECT_CLASS_AT );
- systemCfg.setIndexedAttributes( indexedSystemAttrs );
+ Set<JdbmIndex> indexedAttrs = new HashSet<JdbmIndex>();
+ indexedAttrs.add( new JdbmIndex( SchemaConstants.OBJECT_CLASS_AT ) );
+ systemCfg.setIndexedAttributes( indexedAttrs );
// Add context entry for system partition
Attributes systemEntry = new AttributesImpl();
@@ -650,13 +576,12 @@
// This is easier to create a new structure from scratch than to reorganize
// the current structure. As this strcuture is not modified often
// this is an acceptable solution.
- synchronized (partitionLookupTree)
+ synchronized ( partitionLookupTree )
{
partitions.remove( key );
-
partitionLookupTree = new BranchNode();
- for ( Partition part:partitions.values() )
+ for ( Partition part : partitions.values() )
{
partitionLookupTree.recursivelyAddPartition( partitionLookupTree, part.getSuffix(), 0, partition );
}
Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/BTreePartition.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/BTreePartition.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/BTreePartition.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/BTreePartition.java Sat Sep 29 18:27:08 2007
@@ -143,7 +143,7 @@
* @param indices
* @throws NamingException
*/
- protected void initIndices2(Set indices ) throws NamingException
+ protected void initIndices2( Set<Index> indices ) throws NamingException
{
Set<String> sysOidSet = new HashSet<String>();
sysOidSet.add( Oid.EXISTANCE );
@@ -384,7 +384,11 @@
{
initOptimizerAndConfiguration0( cfg );
initRegistries1( factoryCfg.getRegistries() );
- initIndices2( cfg.getIndexedAttributes() );
+ if ( cfg instanceof BTreePartitionConfiguration )
+ {
+ BTreePartitionConfiguration btpconf = ( BTreePartitionConfiguration ) cfg;
+ initIndices2( btpconf.getIndexedAttributes() );
+ }
initSuffixEntry3( cfg.getSuffix(), cfg.getContextEntry() );
}
Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/BTreePartitionConfiguration.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/BTreePartitionConfiguration.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/BTreePartitionConfiguration.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/BTreePartitionConfiguration.java Sat Sep 29 18:27:08 2007
@@ -24,6 +24,9 @@
import org.apache.directory.server.core.configuration.PartitionConfiguration;
+import java.util.Set;
+import java.util.HashSet;
+
/**
* A partition configuration containing parameters specific to the BTree
@@ -41,6 +44,34 @@
*/
private boolean synchOnWrite = false;
private boolean optimizerEnabled = true;
+ private Set<? extends Index> indexedAttributes;
+
+
+ public BTreePartitionConfiguration()
+ {
+ setIndexedAttributes( new HashSet<Index>() );
+ }
+
+
+ /**
+ * Returns the set of attribute type strings to create an index on.
+ */
+ @SuppressWarnings("unchecked")
+ public Set<Index> getIndexedAttributes()
+ {
+ Set<Index> newSet = new HashSet<Index>();
+ newSet.addAll( indexedAttributes );
+ return newSet;
+ }
+
+
+ /**
+ * Sets the set of attribute type strings to create an index on.
+ */
+ protected void setIndexedAttributes( Set<? extends Index> indexedAttributes )
+ {
+ this.indexedAttributes = indexedAttributes;
+ }
protected void setOptimizerEnabled( boolean optimizerEnabled )
@@ -78,7 +109,6 @@
newConfig.setCacheSize( config.getCacheSize() );
newConfig.setContextEntry( config.getContextEntry() );
newConfig.setPartitionClassName( config.getPartitionClassName() );
- newConfig.setIndexedAttributes( config.getIndexedAttributes() );
newConfig.setName( config.getName() );
newConfig.setSuffix( config.getSuffix() );
return newConfig;
Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/MutableBTreePartitionConfiguration.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/MutableBTreePartitionConfiguration.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/MutableBTreePartitionConfiguration.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/MutableBTreePartitionConfiguration.java Sat Sep 29 18:27:08 2007
@@ -54,7 +54,7 @@
*
* @param indexedAttributes
*/
- public void setIndexedAttributes( Set<Object> indexedAttributes )
+ public void setIndexedAttributes( Set<? extends Index> indexedAttributes )
{
super.setIndexedAttributes( indexedAttributes );
}
@@ -96,7 +96,13 @@
MutableBTreePartitionConfiguration newConfig = new MutableBTreePartitionConfiguration();
newConfig.setCacheSize( config.getCacheSize() );
newConfig.setContextEntry( config.getContextEntry() );
- newConfig.setIndexedAttributes( config.getIndexedAttributes() );
+
+ if ( config instanceof BTreePartitionConfiguration )
+ {
+ BTreePartitionConfiguration btpconf = ( BTreePartitionConfiguration ) config;
+ newConfig.setIndexedAttributes( btpconf.getIndexedAttributes() );
+ }
+
newConfig.setName( config.getName() );
newConfig.setSuffix( config.getSuffix() );
newConfig.setSynchOnWrite( false );
Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmPartition.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmPartition.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmPartition.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmPartition.java Sat Sep 29 18:27:08 2007
@@ -89,35 +89,32 @@
+ File.separator + cfg.getName() ) );
Set<JdbmIndex> userIndices = new HashSet<JdbmIndex>();
- for ( Object obj : cfg.getIndexedAttributes() )
+ if ( cfg instanceof BTreePartitionConfiguration )
{
- JdbmIndex index = new JdbmIndex();
- userIndices.add( index );
-
- if ( obj instanceof String )
- {
- index.setAttributeId( ( String ) obj );
- }
- else if ( obj instanceof IndexConfiguration )
+ BTreePartitionConfiguration btpconf = ( BTreePartitionConfiguration ) cfg;
+ for ( Index obj : btpconf.getIndexedAttributes() )
{
- IndexConfiguration indexConfiguration = ( IndexConfiguration ) obj;
- index.setAttributeId( indexConfiguration.getAttributeId() );
- index.setCacheSize( indexConfiguration.getCacheSize() );
- index.setNumDupLimit( indexConfiguration.getDuplicateLimit() );
- }
- }
- store.setUserIndices( userIndices );
+ JdbmIndex index;
- if ( cfg instanceof BTreePartitionConfiguration )
- {
+ if ( obj instanceof JdbmIndex )
+ {
+ index = ( JdbmIndex ) obj;
+ }
+ else
+ {
+ index = new JdbmIndex();
+ index.setAttributeId( obj.getAttributeId() );
+ index.setCacheSize( obj.getCacheSize() );
+ index.setWkDirPath( obj.getWkDirPath() );
+ }
+
+ userIndices.add( index );
+ }
+ store.setUserIndices( userIndices );
store.setSyncOnWrite( ( ( BTreePartitionConfiguration ) cfg ).isSynchOnWrite() );
- }
-
- if ( cfg instanceof BTreePartitionConfiguration )
- {
store.setEnableOptimizer( ( ( BTreePartitionConfiguration ) cfg ).isOptimizerEnabled() );
}
-
+
store.init( oidRegistry, attributeTypeRegistry );
}
Modified: directory/apacheds/branches/bigbang/core/src/test/java/org/apache/directory/server/core/schema/PartitionSchemaLoaderTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/test/java/org/apache/directory/server/core/schema/PartitionSchemaLoaderTest.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/test/java/org/apache/directory/server/core/schema/PartitionSchemaLoaderTest.java (original)
+++ directory/apacheds/branches/bigbang/core/src/test/java/org/apache/directory/server/core/schema/PartitionSchemaLoaderTest.java Sat Sep 29 18:27:08 2007
@@ -20,39 +20,34 @@
package org.apache.directory.server.core.schema;
-import java.io.File;
-import java.io.IOException;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Map;
-import java.util.Set;
-
-import javax.naming.NamingException;
-import javax.naming.directory.Attributes;
-
+import junit.framework.TestCase;
import org.apache.directory.server.core.DirectoryService;
import org.apache.directory.server.core.DirectoryServiceConfiguration;
import org.apache.directory.server.core.DirectoryServiceListener;
-import org.apache.directory.server.core.configuration.MutablePartitionConfiguration;
import org.apache.directory.server.core.configuration.MutableStartupConfiguration;
import org.apache.directory.server.core.configuration.StartupConfiguration;
import org.apache.directory.server.core.interceptor.InterceptorChain;
import org.apache.directory.server.core.partition.PartitionNexus;
+import org.apache.directory.server.core.partition.impl.btree.Index;
+import org.apache.directory.server.core.partition.impl.btree.MutableBTreePartitionConfiguration;
+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.schema.SerializableComparator;
-import org.apache.directory.server.schema.bootstrap.ApacheSchema;
-import org.apache.directory.server.schema.bootstrap.ApachemetaSchema;
-import org.apache.directory.server.schema.bootstrap.BootstrapSchemaLoader;
-import org.apache.directory.server.schema.bootstrap.CoreSchema;
-import org.apache.directory.server.schema.bootstrap.Schema;
-import org.apache.directory.server.schema.bootstrap.SystemSchema;
+import org.apache.directory.server.schema.bootstrap.*;
import org.apache.directory.server.schema.bootstrap.partition.SchemaPartitionExtractor;
import org.apache.directory.server.schema.registries.DefaultOidRegistry;
import org.apache.directory.server.schema.registries.DefaultRegistries;
import org.apache.directory.server.schema.registries.Registries;
import org.apache.directory.shared.ldap.message.AttributesImpl;
-import junit.framework.TestCase;
+import javax.naming.NamingException;
+import javax.naming.directory.Attributes;
+import java.io.File;
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Hashtable;
+import java.util.Map;
+import java.util.Set;
/**
@@ -130,11 +125,18 @@
// Initialize schema partition
// --------------------------------------------------------------------
- MutablePartitionConfiguration pc = new MutablePartitionConfiguration();
+ MutableBTreePartitionConfiguration pc = new MutableBTreePartitionConfiguration();
pc.setName( "schema" );
pc.setCacheSize( 1000 );
pc.setPartitionClassName( JdbmPartition.class.getName() );
- pc.setIndexedAttributes( extractor.getDbFileListing().getIndexedAttributes() );
+
+ Set<Index> indexedAttributes = new HashSet<Index>();
+ for ( String attributeId : extractor.getDbFileListing().getIndexedAttributes() )
+ {
+ indexedAttributes.add( new JdbmIndex( attributeId ) );
+ }
+
+ pc.setIndexedAttributes( indexedAttributes );
pc.setSuffix( "ou=schema" );
Attributes entry = new AttributesImpl();
Modified: directory/apacheds/branches/bigbang/jdbm-store/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmIndex.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/jdbm-store/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmIndex.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/jdbm-store/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmIndex.java (original)
+++ directory/apacheds/branches/bigbang/jdbm-store/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmIndex.java Sat Sep 29 18:27:08 2007
@@ -134,6 +134,13 @@
}
+ public JdbmIndex( String attributeId )
+ {
+ initialized = false;
+ setAttributeId( attributeId );
+ }
+
+
public void init( AttributeType attributeType, File wkDirPath ) throws NamingException
{
this.keyCache = new SynchronizedLRUMap( cacheSize );
Modified: directory/apacheds/branches/bigbang/jdbm-store/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStore.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/jdbm-store/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStore.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/jdbm-store/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStore.java (original)
+++ directory/apacheds/branches/bigbang/jdbm-store/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStore.java Sat Sep 29 18:27:08 2007
@@ -445,6 +445,8 @@
*/
public synchronized void destroy()
{
+ LOG.debug( "destroy() called on store for {}", this.suffixDn );
+
if ( !initialized )
{
return;
@@ -493,6 +495,7 @@
try
{
index.close();
+ LOG.debug( "Closed {} index for {} partition.", index.getAttributeId(), suffixDn );
}
catch ( Throwable t )
{
@@ -503,6 +506,7 @@
try
{
master.close();
+ LOG.debug( "Closed master table for {} partition.", suffixDn );
}
catch ( Throwable t )
{
@@ -512,6 +516,7 @@
try
{
recMan.close();
+ LOG.debug( "Cloased record manager for {} partition.", suffixDn );
}
catch ( Throwable t )
{
Modified: directory/apacheds/branches/bigbang/jdbm-store/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmTable.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/jdbm-store/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmTable.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/jdbm-store/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmTable.java (original)
+++ directory/apacheds/branches/bigbang/jdbm-store/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmTable.java Sat Sep 29 18:27:08 2007
@@ -20,39 +20,22 @@
package org.apache.directory.server.core.partition.impl.btree.jdbm;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Set;
-import java.util.Map;
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-
import jdbm.RecordManager;
import jdbm.btree.BTree;
import jdbm.helper.Serializer;
import jdbm.helper.TupleBrowser;
-
import org.apache.commons.collections.iterators.ArrayIterator;
-import org.apache.directory.server.core.partition.impl.btree.IndexConfiguration;
-import org.apache.directory.server.core.partition.impl.btree.KeyOnlyComparator;
-import org.apache.directory.server.core.partition.impl.btree.NoDupsEnumeration;
-import org.apache.directory.server.core.partition.impl.btree.Table;
-import org.apache.directory.server.core.partition.impl.btree.Tuple;
-import org.apache.directory.server.core.partition.impl.btree.TupleComparator;
-import org.apache.directory.server.core.partition.impl.btree.TupleEnumeration;
-import org.apache.directory.server.core.partition.impl.btree.TupleRenderer;
+import org.apache.directory.server.core.partition.impl.btree.*;
import org.apache.directory.server.schema.SerializableComparator;
-
import org.apache.directory.shared.ldap.exception.LdapNamingException;
import org.apache.directory.shared.ldap.message.ResultCodeEnum;
import org.apache.directory.shared.ldap.util.EmptyEnumeration;
import org.apache.directory.shared.ldap.util.SingletonEnumeration;
+
+import javax.naming.NamingEnumeration;
+import javax.naming.NamingException;
+import java.io.IOException;
+import java.util.*;
/**
Modified: directory/apacheds/branches/bigbang/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/BindHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/BindHandler.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/BindHandler.java (original)
+++ directory/apacheds/branches/bigbang/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/BindHandler.java Sat Sep 29 18:27:08 2007
@@ -75,7 +75,7 @@
/**
* Creates a new instance of BindHandler.
- */
+ */
public BindHandler()
{
saslBindHandler = new BindHandlerChain();
Modified: directory/apacheds/branches/bigbang/server-jndi/src/main/java/org/apache/directory/server/jndi/ServerContextFactory.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/server-jndi/src/main/java/org/apache/directory/server/jndi/ServerContextFactory.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/server-jndi/src/main/java/org/apache/directory/server/jndi/ServerContextFactory.java (original)
+++ directory/apacheds/branches/bigbang/server-jndi/src/main/java/org/apache/directory/server/jndi/ServerContextFactory.java Sat Sep 29 18:27:08 2007
@@ -149,7 +149,8 @@
}
- public void afterShutdown( DirectoryService service )
+ // @todo this was afterShutdown but perhaps it's best this occurs before shutdown
+ public void beforeShutdown( DirectoryService service )
{
ServerStartupConfiguration cfg = ( ServerStartupConfiguration ) service.getConfiguration()
.getStartupConfiguration();
Modified: directory/apacheds/branches/bigbang/server-tools/src/main/java/org/apache/directory/server/tools/commands/dumpcmd/DumpCommandExecutor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/server-tools/src/main/java/org/apache/directory/server/tools/commands/dumpcmd/DumpCommandExecutor.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/server-tools/src/main/java/org/apache/directory/server/tools/commands/dumpcmd/DumpCommandExecutor.java (original)
+++ directory/apacheds/branches/bigbang/server-tools/src/main/java/org/apache/directory/server/tools/commands/dumpcmd/DumpCommandExecutor.java Sat Sep 29 18:27:08 2007
@@ -18,31 +18,11 @@
*
*/
package org.apache.directory.server.tools.commands.dumpcmd;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-import javax.naming.directory.Attribute;
-import javax.naming.directory.Attributes;
import jdbm.helper.MRU;
import jdbm.recman.BaseRecordManager;
import jdbm.recman.CacheRecordManager;
-
import org.apache.directory.server.configuration.MutableServerStartupConfiguration;
import org.apache.directory.server.configuration.ServerStartupConfiguration;
import org.apache.directory.server.core.DirectoryService;
@@ -52,6 +32,8 @@
import org.apache.directory.server.core.configuration.StartupConfiguration;
import org.apache.directory.server.core.interceptor.InterceptorChain;
import org.apache.directory.server.core.partition.PartitionNexus;
+import org.apache.directory.server.core.partition.impl.btree.Index;
+import org.apache.directory.server.core.partition.impl.btree.MutableBTreePartitionConfiguration;
import org.apache.directory.server.core.partition.impl.btree.Tuple;
import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex;
import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmMasterTable;
@@ -59,18 +41,9 @@
import org.apache.directory.server.core.schema.PartitionSchemaLoader;
import org.apache.directory.server.core.schema.SchemaManager;
import org.apache.directory.server.schema.SerializableComparator;
-import org.apache.directory.server.schema.bootstrap.ApacheSchema;
-import org.apache.directory.server.schema.bootstrap.ApachemetaSchema;
-import org.apache.directory.server.schema.bootstrap.BootstrapSchemaLoader;
-import org.apache.directory.server.schema.bootstrap.CoreSchema;
-import org.apache.directory.server.schema.bootstrap.Schema;
-import org.apache.directory.server.schema.bootstrap.SystemSchema;
+import org.apache.directory.server.schema.bootstrap.*;
import org.apache.directory.server.schema.bootstrap.partition.DbFileListing;
-import org.apache.directory.server.schema.registries.AttributeTypeRegistry;
-import org.apache.directory.server.schema.registries.DefaultOidRegistry;
-import org.apache.directory.server.schema.registries.DefaultRegistries;
-import org.apache.directory.server.schema.registries.OidRegistry;
-import org.apache.directory.server.schema.registries.Registries;
+import org.apache.directory.server.schema.registries.*;
import org.apache.directory.server.tools.ToolCommandListener;
import org.apache.directory.server.tools.execution.BaseToolCommandExecutor;
import org.apache.directory.server.tools.util.ListenerParameter;
@@ -88,6 +61,18 @@
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
+import javax.naming.NamingEnumeration;
+import javax.naming.NamingException;
+import javax.naming.directory.Attribute;
+import javax.naming.directory.Attributes;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.*;
+
/**
* This is the Executor Class of the Dump Command.
@@ -206,7 +191,7 @@
"the installation layout could not be found:\n\t" + schemaDirectory );
}
- MutablePartitionConfiguration schemaPartitionConfig = new MutablePartitionConfiguration();
+ MutableBTreePartitionConfiguration schemaPartitionConfig = new MutableBTreePartitionConfiguration();
schemaPartitionConfig.setName( "schema" );
schemaPartitionConfig.setCacheSize( 1000 );
@@ -220,8 +205,13 @@
throw new LdapNamingException( "Got IOException while trying to read DBFileListing: " + e.getMessage(),
ResultCodeEnum.OTHER );
}
-
- schemaPartitionConfig.setIndexedAttributes( listing.getIndexedAttributes() );
+
+ Set<Index> indexedAttributes = new HashSet<Index>();
+ for ( String attributeId : listing.getIndexedAttributes() )
+ {
+ indexedAttributes.add( new JdbmIndex( attributeId ) );
+ }
+ schemaPartitionConfig.setIndexedAttributes( indexedAttributes );
schemaPartitionConfig.setSuffix( "ou=schema" );
Attributes entry = new AttributesImpl();
Modified: directory/apacheds/branches/bigbang/server-unit/src/main/java/org/apache/directory/server/unit/AbstractServerTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/server-unit/src/main/java/org/apache/directory/server/unit/AbstractServerTest.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/server-unit/src/main/java/org/apache/directory/server/unit/AbstractServerTest.java (original)
+++ directory/apacheds/branches/bigbang/server-unit/src/main/java/org/apache/directory/server/unit/AbstractServerTest.java Sat Sep 29 18:27:08 2007
@@ -20,31 +20,12 @@
package org.apache.directory.server.unit;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.naming.ConfigurationException;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-import javax.naming.directory.Attribute;
-import javax.naming.directory.Attributes;
-import javax.naming.ldap.InitialLdapContext;
-import javax.naming.ldap.LdapContext;
-
import junit.framework.AssertionFailedError;
import junit.framework.TestCase;
-
import org.apache.commons.io.FileUtils;
import org.apache.directory.server.configuration.MutableServerStartupConfiguration;
import org.apache.directory.server.core.configuration.ShutdownConfiguration;
+import org.apache.directory.server.core.configuration.SyncConfiguration;
import org.apache.directory.server.jndi.ServerContextFactory;
import org.apache.directory.shared.ldap.exception.LdapConfigurationException;
import org.apache.directory.shared.ldap.ldif.Entry;
@@ -54,6 +35,16 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import javax.naming.*;
+import javax.naming.directory.Attribute;
+import javax.naming.directory.Attributes;
+import javax.naming.ldap.InitialLdapContext;
+import javax.naming.ldap.LdapContext;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.*;
+
/**
* A simple testcase for testing JNDI provider functionality.
@@ -268,6 +259,7 @@
{
FileUtils.deleteDirectory( wkdir );
}
+
if ( wkdir.exists() )
{
throw new IOException( "Failed to delete: " + wkdir );
@@ -331,6 +323,9 @@
env.putAll( new ShutdownConfiguration().toJndiEnvironment() );
env.put( Context.SECURITY_PRINCIPAL, "uid=admin,ou=system" );
env.put( Context.SECURITY_CREDENTIALS, "secret" );
+ env.put( Context.SECURITY_AUTHENTICATION, "simple" );
+
+
try
{
new InitialContext( env );
@@ -338,10 +333,10 @@
}
catch ( Exception e )
{
+ e.printStackTrace();
}
sysRoot = null;
- doDelete( configuration.getWorkingDirectory() );
configuration = new MutableServerStartupConfiguration();
if ( start >= nbTests )
Modified: directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/DIRSERVER951ITest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/DIRSERVER951ITest.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/DIRSERVER951ITest.java (original)
+++ directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/DIRSERVER951ITest.java Sat Sep 29 18:27:08 2007
@@ -20,26 +20,27 @@
package org.apache.directory.server;
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-import javax.naming.directory.Attribute;
-import javax.naming.directory.Attributes;
-import javax.naming.directory.SearchControls;
-import javax.naming.directory.SearchResult;
-import javax.naming.ldap.LdapContext;
-
import org.apache.directory.server.core.partition.Oid;
import org.apache.directory.server.core.partition.PartitionNexus;
+import org.apache.directory.server.core.partition.impl.btree.Index;
import org.apache.directory.server.core.partition.impl.btree.MutableBTreePartitionConfiguration;
+import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex;
import org.apache.directory.server.unit.AbstractServerTest;
import org.apache.directory.shared.ldap.message.AttributeImpl;
import org.apache.directory.shared.ldap.message.AttributesImpl;
import org.apache.directory.shared.ldap.util.DateUtils;
import org.apache.directory.shared.ldap.util.NamespaceTools;
+import javax.naming.NamingEnumeration;
+import javax.naming.NamingException;
+import javax.naming.directory.Attribute;
+import javax.naming.directory.Attributes;
+import javax.naming.directory.SearchControls;
+import javax.naming.directory.SearchResult;
+import javax.naming.ldap.LdapContext;
+import java.util.HashSet;
+import java.util.Set;
+
/**
* A set of tests to make sure the negation operator is working
@@ -69,16 +70,16 @@
systemCfg.setSuffix( PartitionNexus.SYSTEM_PARTITION_SUFFIX );
// Add indexed attributes for system partition
- Set<Object> indexedAttrs = new HashSet<Object>();
- indexedAttrs.add( Oid.ALIAS );
- indexedAttrs.add( Oid.EXISTANCE );
- indexedAttrs.add( Oid.HIERARCHY );
- indexedAttrs.add( Oid.NDN );
- indexedAttrs.add( Oid.ONEALIAS );
- indexedAttrs.add( Oid.SUBALIAS );
- indexedAttrs.add( Oid.UPDN );
- indexedAttrs.add( "objectClass" );
- indexedAttrs.add( "ou" );
+ Set<Index> indexedAttrs = new HashSet<Index>();
+ indexedAttrs.add( new JdbmIndex( Oid.ALIAS ) );
+ indexedAttrs.add( new JdbmIndex( Oid.EXISTANCE ) );
+ indexedAttrs.add( new JdbmIndex( Oid.HIERARCHY ) );
+ indexedAttrs.add( new JdbmIndex( Oid.NDN ) );
+ indexedAttrs.add( new JdbmIndex( Oid.ONEALIAS ) );
+ indexedAttrs.add( new JdbmIndex( Oid.SUBALIAS ) );
+ indexedAttrs.add( new JdbmIndex( Oid.UPDN ) );
+ indexedAttrs.add( new JdbmIndex( "objectClass" ) );
+ indexedAttrs.add( new JdbmIndex( "ou" ) );
systemCfg.setIndexedAttributes( indexedAttrs );
// Add context entry for system partition
Modified: directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/KeyDerivationServiceITest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/KeyDerivationServiceITest.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/KeyDerivationServiceITest.java (original)
+++ directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/KeyDerivationServiceITest.java Sat Sep 29 18:27:08 2007
@@ -20,28 +20,13 @@
package org.apache.directory.server;
-import java.io.IOException;
-import java.security.InvalidKeyException;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.crypto.spec.DESKeySpec;
-import javax.naming.Context;
-import javax.naming.NamingException;
-import javax.naming.directory.Attribute;
-import javax.naming.directory.Attributes;
-import javax.naming.directory.DirContext;
-import javax.naming.directory.InitialDirContext;
-
import org.apache.directory.server.core.configuration.MutablePartitionConfiguration;
import org.apache.directory.server.core.configuration.PartitionConfiguration;
import org.apache.directory.server.core.interceptor.Interceptor;
import org.apache.directory.server.core.kerberos.KeyDerivationService;
+import org.apache.directory.server.core.partition.impl.btree.Index;
+import org.apache.directory.server.core.partition.impl.btree.MutableBTreePartitionConfiguration;
+import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex;
import org.apache.directory.server.kerberos.shared.crypto.encryption.EncryptionType;
import org.apache.directory.server.kerberos.shared.io.decoder.EncryptionKeyDecoder;
import org.apache.directory.server.kerberos.shared.messages.value.EncryptionKey;
@@ -52,6 +37,17 @@
import org.apache.directory.shared.ldap.message.ModificationItemImpl;
import org.apache.mina.util.AvailablePortFinder;
+import javax.crypto.spec.DESKeySpec;
+import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.naming.directory.Attribute;
+import javax.naming.directory.Attributes;
+import javax.naming.directory.DirContext;
+import javax.naming.directory.InitialDirContext;
+import java.io.IOException;
+import java.security.InvalidKeyException;
+import java.util.*;
+
/**
* An {@link AbstractServerTest} testing the (@link {@link KeyDerivationService}'s
@@ -79,17 +75,17 @@
Attributes attrs;
Set<PartitionConfiguration> pcfgs = new HashSet<PartitionConfiguration>();
- MutablePartitionConfiguration pcfg;
+ MutableBTreePartitionConfiguration pcfg;
// Add partition 'example'
- pcfg = new MutablePartitionConfiguration();
+ pcfg = new MutableBTreePartitionConfiguration();
pcfg.setName( "example" );
pcfg.setSuffix( "dc=example,dc=com" );
- Set<Object> indexedAttrs = new HashSet<Object>();
- indexedAttrs.add( "ou" );
- indexedAttrs.add( "dc" );
- indexedAttrs.add( "objectClass" );
+ Set<Index> indexedAttrs = new HashSet<Index>();
+ indexedAttrs.add( new JdbmIndex( "ou" ) );
+ indexedAttrs.add( new JdbmIndex( "dc" ) );
+ indexedAttrs.add( new JdbmIndex( "objectClass" ) );
pcfg.setIndexedAttributes( indexedAttrs );
attrs = new AttributesImpl( true );
Modified: directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/MiscTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/MiscTest.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/MiscTest.java (original)
+++ directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/MiscTest.java Sat Sep 29 18:27:08 2007
@@ -23,9 +23,11 @@
import netscape.ldap.LDAPAttribute;
import netscape.ldap.LDAPConnection;
import netscape.ldap.LDAPException;
-
import org.apache.directory.server.core.configuration.MutablePartitionConfiguration;
import org.apache.directory.server.core.configuration.PartitionConfiguration;
+import org.apache.directory.server.core.partition.impl.btree.Index;
+import org.apache.directory.server.core.partition.impl.btree.MutableBTreePartitionConfiguration;
+import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex;
import org.apache.directory.server.unit.AbstractServerTest;
import org.apache.directory.shared.asn1.util.Asn1StringUtils;
import org.apache.directory.shared.ldap.message.AttributeImpl;
@@ -34,22 +36,16 @@
import org.apache.directory.shared.ldap.util.ArrayUtils;
import org.apache.directory.shared.ldap.util.EmptyEnumeration;
-import java.util.Hashtable;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.Collections;
-
import javax.naming.Context;
-import javax.naming.NoPermissionException;
import javax.naming.NamingEnumeration;
+import javax.naming.NoPermissionException;
import javax.naming.OperationNotSupportedException;
-import javax.naming.directory.Attribute;
-import javax.naming.directory.Attributes;
-import javax.naming.directory.DirContext;
-import javax.naming.directory.InitialDirContext;
-import javax.naming.directory.SearchControls;
-import javax.naming.directory.SearchResult;
+import javax.naming.directory.*;
import javax.naming.ldap.InitialLdapContext;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Hashtable;
+import java.util.Set;
/**
@@ -88,7 +84,7 @@
{
Set<PartitionConfiguration> partitions = new HashSet<PartitionConfiguration>();
partitions.addAll( configuration.getPartitionConfigurations() );
- MutablePartitionConfiguration partition = new MutablePartitionConfiguration();
+ MutableBTreePartitionConfiguration partition = new MutableBTreePartitionConfiguration();
partition.setSuffix( "dc=aPache,dc=org" );
Attributes entry = new AttributesImpl( "dc", "aPache", true );
Attribute oc = new AttributeImpl( "objectClass" );
@@ -97,7 +93,9 @@
oc.add( "domain" );
partition.setName( "apache" );
partition.setContextEntry( entry );
- partition.setIndexedAttributes( Collections.singleton( ( Object ) "dc" ) );
+ Set<Index> indexedAttributes = new HashSet<Index>();
+ indexedAttributes.add( new JdbmIndex( "dc" ) );
+ partition.setIndexedAttributes( indexedAttributes );
partitions.add( partition );
configuration.setPartitionConfigurations( partitions );
}
@@ -109,7 +107,7 @@
// create a partition to search
Set partitions = new HashSet();
partitions.addAll( configuration.getPartitionConfigurations() );
- MutablePartitionConfiguration partition = new MutablePartitionConfiguration();
+ MutableBTreePartitionConfiguration partition = new MutableBTreePartitionConfiguration();
partition.setSuffix( "dc=apache,dc=org" );
Attributes entry = new AttributesImpl( "dc", "apache", true );
Attribute oc = new AttributeImpl( "objectClass" );
@@ -118,7 +116,9 @@
oc.add( "domain" );
partition.setName( "apache" );
partition.setContextEntry( entry );
- partition.setIndexedAttributes( Collections.singleton( ( Object ) "dc" ) );
+ Set<Index> indexedAttributes = new HashSet<Index>();
+ indexedAttributes.add( new JdbmIndex( "dc" ) );
+ partition.setIndexedAttributes( indexedAttributes );
partitions.add( partition );
configuration.setPartitionConfigurations( partitions );
}
Modified: directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/NegationOperatorITest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/NegationOperatorITest.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/NegationOperatorITest.java (original)
+++ directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/NegationOperatorITest.java Sat Sep 29 18:27:08 2007
@@ -20,21 +20,11 @@
package org.apache.directory.server;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-import javax.naming.directory.Attribute;
-import javax.naming.directory.Attributes;
-import javax.naming.directory.SearchControls;
-import javax.naming.directory.SearchResult;
-import javax.naming.ldap.LdapContext;
-
import org.apache.directory.server.core.partition.Oid;
import org.apache.directory.server.core.partition.PartitionNexus;
+import org.apache.directory.server.core.partition.impl.btree.Index;
import org.apache.directory.server.core.partition.impl.btree.MutableBTreePartitionConfiguration;
+import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex;
import org.apache.directory.server.unit.AbstractServerTest;
import org.apache.directory.shared.ldap.constants.SchemaConstants;
import org.apache.directory.shared.ldap.ldif.Entry;
@@ -43,6 +33,17 @@
import org.apache.directory.shared.ldap.util.DateUtils;
import org.apache.directory.shared.ldap.util.NamespaceTools;
+import javax.naming.NamingEnumeration;
+import javax.naming.NamingException;
+import javax.naming.directory.Attribute;
+import javax.naming.directory.Attributes;
+import javax.naming.directory.SearchControls;
+import javax.naming.directory.SearchResult;
+import javax.naming.ldap.LdapContext;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
/**
* A set of tests to make sure the negation operator is working
@@ -75,16 +76,16 @@
systemCfg.setSuffix( PartitionNexus.SYSTEM_PARTITION_SUFFIX );
// Add indexed attributes for system partition
- Set<Object> indexedAttrs = new HashSet<Object>();
- indexedAttrs.add( Oid.ALIAS );
- indexedAttrs.add( Oid.EXISTANCE );
- indexedAttrs.add( Oid.HIERARCHY );
- indexedAttrs.add( Oid.NDN );
- indexedAttrs.add( Oid.ONEALIAS );
- indexedAttrs.add( Oid.SUBALIAS );
- indexedAttrs.add( Oid.UPDN );
- indexedAttrs.add( SchemaConstants.OBJECT_CLASS_AT );
- indexedAttrs.add( SchemaConstants.OU_AT );
+ Set<Index> indexedAttrs = new HashSet<Index>();
+ indexedAttrs.add( new JdbmIndex( Oid.ALIAS ) );
+ indexedAttrs.add( new JdbmIndex( Oid.EXISTANCE ) );
+ indexedAttrs.add( new JdbmIndex( Oid.HIERARCHY ) );
+ indexedAttrs.add( new JdbmIndex( Oid.NDN ) );
+ indexedAttrs.add( new JdbmIndex( Oid.ONEALIAS ) );
+ indexedAttrs.add( new JdbmIndex( Oid.SUBALIAS ) );
+ indexedAttrs.add( new JdbmIndex( Oid.UPDN ) );
+ indexedAttrs.add( new JdbmIndex( SchemaConstants.OBJECT_CLASS_AT ) );
+ indexedAttrs.add( new JdbmIndex( SchemaConstants.OU_AT ) );
systemCfg.setIndexedAttributes( indexedAttrs );
// Add context entry for system partition
Modified: directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/NtpITest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/NtpITest.java?rev=580666&r1=580665&r2=580666&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/NtpITest.java (original)
+++ directory/apacheds/branches/bigbang/server-unit/src/test/java/org/apache/directory/server/NtpITest.java Sat Sep 29 18:27:08 2007
@@ -20,21 +20,13 @@
package org.apache.directory.server;
-import java.net.InetAddress;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Set;
-
-import javax.naming.Context;
-import javax.naming.directory.Attribute;
-import javax.naming.directory.Attributes;
-import javax.naming.directory.DirContext;
-import javax.naming.directory.InitialDirContext;
-
import org.apache.commons.net.ntp.NTPUDPClient;
import org.apache.commons.net.ntp.TimeInfo;
import org.apache.directory.server.core.configuration.MutablePartitionConfiguration;
import org.apache.directory.server.core.configuration.PartitionConfiguration;
+import org.apache.directory.server.core.partition.impl.btree.Index;
+import org.apache.directory.server.core.partition.impl.btree.MutableBTreePartitionConfiguration;
+import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex;
import org.apache.directory.server.ldap.LdapConfiguration;
import org.apache.directory.server.ntp.NtpConfiguration;
import org.apache.directory.server.unit.AbstractServerTest;
@@ -42,6 +34,16 @@
import org.apache.directory.shared.ldap.message.AttributesImpl;
import org.apache.mina.util.AvailablePortFinder;
+import javax.naming.Context;
+import javax.naming.directory.Attribute;
+import javax.naming.directory.Attributes;
+import javax.naming.directory.DirContext;
+import javax.naming.directory.InitialDirContext;
+import java.net.InetAddress;
+import java.util.HashSet;
+import java.util.Hashtable;
+import java.util.Set;
+
/**
* An {@link AbstractServerTest} testing the Network Time Protocol (NTP).
@@ -73,17 +75,17 @@
Attributes attrs;
Set<PartitionConfiguration> pcfgs = new HashSet<PartitionConfiguration>();
- MutablePartitionConfiguration pcfg;
+ MutableBTreePartitionConfiguration pcfg;
// Add partition 'example'
- pcfg = new MutablePartitionConfiguration();
+ pcfg = new MutableBTreePartitionConfiguration();
pcfg.setName( "example" );
pcfg.setSuffix( "dc=example,dc=com" );
- Set<Object> indexedAttrs = new HashSet<Object>();
- indexedAttrs.add( "ou" );
- indexedAttrs.add( "dc" );
- indexedAttrs.add( "objectClass" );
+ Set<Index> indexedAttrs = new HashSet<Index>();
+ indexedAttrs.add( new JdbmIndex( "ou" ) );
+ indexedAttrs.add( new JdbmIndex( "dc" ) );
+ indexedAttrs.add( new JdbmIndex( "objectClass" ) );
pcfg.setIndexedAttributes( indexedAttrs );
attrs = new AttributesImpl( true );