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 2006/12/31 20:46:55 UTC
svn commit: r491471 [2/5] - in /directory/trunks: ./ apacheds/
apacheds/bootstrap-partition/ apacheds/bootstrap-partition/src/
apacheds/bootstrap-partition/src/main/
apacheds/bootstrap-partition/src/main/java/
apacheds/bootstrap-partition/src/main/java...
Modified: directory/trunks/apacheds/core-plugin/src/main/resources/org/apache/directory/server/core/tools/schema/ObjectClasses.template
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core-plugin/src/main/resources/org/apache/directory/server/core/tools/schema/ObjectClasses.template?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core-plugin/src/main/resources/org/apache/directory/server/core/tools/schema/ObjectClasses.template (original)
+++ directory/trunks/apacheds/core-plugin/src/main/resources/org/apache/directory/server/core/tools/schema/ObjectClasses.template Sun Dec 31 11:46:40 2006
@@ -23,9 +23,10 @@
import java.util.ArrayList;
import javax.naming.NamingException;
import org.apache.directory.shared.ldap.schema.ObjectClassTypeEnum;
+import org.apache.directory.server.schema.registries.*;
-#if ( $package != "org.apache.directory.server.core.schema.bootstrap" )
-import org.apache.directory.server.core.schema.bootstrap.*;
+#if ( $package != "org.apache.directory.server.schema.bootstrap" )
+import org.apache.directory.server.schema.bootstrap.*;
#end
/**
@@ -52,12 +53,12 @@
/**
- * @see BootstrapProducer#produce(BootstrapRegistries, ProducerCallback)
+ * @see BootstrapProducer#produce(Registries, ProducerCallback)
*/
- public void produce( BootstrapRegistries registries, ProducerCallback cb )
+ public void produce( Registries registries, ProducerCallback cb )
throws NamingException
{
- ArrayList array = new ArrayList();
+ ArrayList<String> array = new ArrayList<String>();
BootstrapObjectClass objectClass;
#foreach ( $objectClass in $objectClasses )
Modified: directory/trunks/apacheds/core-plugin/src/main/resources/org/apache/directory/server/core/tools/schema/Schema.template
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core-plugin/src/main/resources/org/apache/directory/server/core/tools/schema/Schema.template?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core-plugin/src/main/resources/org/apache/directory/server/core/tools/schema/Schema.template (original)
+++ directory/trunks/apacheds/core-plugin/src/main/resources/org/apache/directory/server/core/tools/schema/Schema.template Sun Dec 31 11:46:40 2006
@@ -22,9 +22,8 @@
import java.util.ArrayList;
-
-#if ( $package != "org.apache.directory.server.core.schema.bootstrap" )
-import org.apache.directory.server.core.schema.bootstrap.*;
+#if ( $package != "org.apache.directory.server.schema.bootstrap" )
+import org.apache.directory.server.schema.bootstrap.*;
#end
@@ -41,7 +40,7 @@
{
super( "$owner", "$schema", "$package" );
- ArrayList list = new ArrayList();
+ ArrayList<String> list = new ArrayList<String>();
#if ( $deps )
list.clear();
#foreach ( $name in $deps ) list.add( "$name" );
Modified: directory/trunks/apacheds/core-plugin/src/main/resources/org/apache/directory/server/core/tools/schema/typeless.template
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core-plugin/src/main/resources/org/apache/directory/server/core/tools/schema/typeless.template?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core-plugin/src/main/resources/org/apache/directory/server/core/tools/schema/typeless.template (original)
+++ directory/trunks/apacheds/core-plugin/src/main/resources/org/apache/directory/server/core/tools/schema/typeless.template Sun Dec 31 11:46:40 2006
@@ -21,9 +21,10 @@
import javax.naming.NamingException;
+import org.apache.directory.server.schema.registries.*;
-#if ( $package != "org.apache.directory.server.core.schema.bootstrap" )
-import org.apache.directory.server.core.schema.bootstrap.*;
+#if ( $package != "org.apache.directory.server.schema.bootstrap" )
+import org.apache.directory.server.schema.bootstrap.*;
#end
@@ -50,9 +51,9 @@
/**
- * @see BootstrapProducer#produce(BootstrapRegistries, ProducerCallback)
+ * @see BootstrapProducer#produce(Registries, ProducerCallback)
*/
- public void produce( BootstrapRegistries registries, ProducerCallback cb )
+ public void produce( Registries registries, ProducerCallback cb )
throws NamingException
{
}
Modified: directory/trunks/apacheds/core-unit/pom.xml
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core-unit/pom.xml?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core-unit/pom.xml (original)
+++ directory/trunks/apacheds/core-unit/pom.xml Sun Dec 31 11:46:40 2006
@@ -32,6 +32,13 @@
<artifactId>apacheds-core</artifactId>
<version>${pom.version}</version>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.directory.server</groupId>
+ <artifactId>apacheds-schema-extras</artifactId>
+ <version>${pom.version}</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<profiles>
Modified: directory/trunks/apacheds/core-unit/src/main/java/org/apache/directory/server/core/unit/AbstractPerformanceTest.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core-unit/src/main/java/org/apache/directory/server/core/unit/AbstractPerformanceTest.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core-unit/src/main/java/org/apache/directory/server/core/unit/AbstractPerformanceTest.java (original)
+++ directory/trunks/apacheds/core-unit/src/main/java/org/apache/directory/server/core/unit/AbstractPerformanceTest.java Sun Dec 31 11:46:40 2006
@@ -152,10 +152,10 @@
partConfig.setContextEntry( attributes );
configuration.setShutdownHookEnabled( false );
- configuration.setContextPartitionConfigurations( Collections.singleton( partConfig ) );
+ configuration.setPartitionConfigurations( Collections.singleton( partConfig ) );
doDelete( configuration.getWorkingDirectory() );
- setSysRoot( username, password, configuration );
+ setContextRoots( username, password, configuration );
Hashtable env = new Hashtable( configuration.toJndiEnvironment() );
env.put( Context.SECURITY_PRINCIPAL, username );
Modified: directory/trunks/apacheds/core-unit/src/main/java/org/apache/directory/server/core/unit/AbstractTestCase.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core-unit/src/main/java/org/apache/directory/server/core/unit/AbstractTestCase.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core-unit/src/main/java/org/apache/directory/server/core/unit/AbstractTestCase.java (original)
+++ directory/trunks/apacheds/core-unit/src/main/java/org/apache/directory/server/core/unit/AbstractTestCase.java Sun Dec 31 11:46:40 2006
@@ -80,6 +80,9 @@
/** the context root for the system partition */
protected LdapContext sysRoot;
+ /** the context root for the schema partition */
+ protected LdapContext schemaRoot;
+
/** flag whether to delete database files for each test or not */
protected boolean doDelete = true;
@@ -153,7 +156,7 @@
List entries = reader.parseLdif( LDIF );
- Entry entry = (Entry)entries.get(0);
+ Entry entry = ( Entry ) entries.get(0);
testEntries.add( entry );
@@ -203,7 +206,7 @@
configuration.setTestEntries( testEntries );
configuration.setShutdownHookEnabled( false );
doDelete( configuration.getWorkingDirectory() );
- setSysRoot( username, password, configuration );
+ setContextRoots( username, password, configuration );
}
@@ -236,13 +239,13 @@
* @return the sysRoot context which is also set
* @throws NamingException if there is a failure of any kind
*/
- protected LdapContext setSysRoot( String user, String passwd, Configuration cfg ) throws NamingException
+ protected void setContextRoots( String user, String passwd, Configuration cfg ) throws NamingException
{
Hashtable env = new Hashtable( cfg.toJndiEnvironment() );
env.put( Context.SECURITY_PRINCIPAL, user );
env.put( Context.SECURITY_CREDENTIALS, passwd );
env.put( Context.SECURITY_AUTHENTICATION, "simple" );
- return setSysRoot( env );
+ setContextRoots( env );
}
@@ -255,7 +258,7 @@
* @return the sysRoot context which is also set
* @throws NamingException if there is a failure of any kind
*/
- protected LdapContext setSysRoot( Hashtable env ) throws NamingException
+ protected void setContextRoots( Hashtable env ) throws NamingException
{
Hashtable envFinal = new Hashtable( env );
if ( !envFinal.containsKey( Context.PROVIDER_URL ) )
@@ -274,7 +277,9 @@
new InitialLdapContext( adminEnv, null );
// OK, now let's get an appropriate context.
- return sysRoot = new InitialLdapContext( envFinal, null );
+ sysRoot = new InitialLdapContext( envFinal, null );
+ envFinal.put( Context.PROVIDER_URL, "ou=schema" );
+ schemaRoot = new InitialLdapContext( envFinal, null );
}
@@ -303,7 +308,7 @@
{
super.tearDown();
- Hashtable env = new Hashtable();
+ Hashtable<String,Object> env = new Hashtable<String,Object>();
env.put( Context.PROVIDER_URL, "ou=system" );
env.put( Context.INITIAL_CONTEXT_FACTORY, "org.apache.directory.server.core.jndi.CoreContextFactory" );
Modified: directory/trunks/apacheds/core-unit/src/test/java/org/apache/directory/server/core/SearchOpsITest.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core-unit/src/test/java/org/apache/directory/server/core/SearchOpsITest.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core-unit/src/test/java/org/apache/directory/server/core/SearchOpsITest.java (original)
+++ directory/trunks/apacheds/core-unit/src/test/java/org/apache/directory/server/core/SearchOpsITest.java Sun Dec 31 11:46:40 2006
@@ -25,15 +25,17 @@
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
+import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
+import javax.naming.directory.BasicAttribute;
import javax.naming.directory.BasicAttributes;
import javax.naming.directory.DirContext;
+import javax.naming.directory.ModificationItem;
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.MutableIndexConfiguration;
-import org.apache.directory.server.core.schema.bootstrap.NisSchema;
import org.apache.directory.server.core.unit.AbstractAdminTestCase;
@@ -55,18 +57,10 @@
}
+ @SuppressWarnings("unchecked")
public void setUp() throws Exception
{
// -------------------------------------------------------------------
- // Alter the system configuration to include the NisSchema
- // -------------------------------------------------------------------
-
- Set schemas = new HashSet();
- schemas.addAll( configuration.getBootstrapSchemas() );
- schemas.add( new NisSchema() );
- configuration.setBootstrapSchemas( schemas );
-
- // -------------------------------------------------------------------
// Alter the partition configuration to index gidNumber
// -------------------------------------------------------------------
@@ -89,6 +83,27 @@
}
super.setUp();
+
+ // -------------------------------------------------------------------
+ // Enable the nis schema
+ // -------------------------------------------------------------------
+
+ // check if nis is disabled
+ Attributes nisAttrs = schemaRoot.getAttributes( "cn=nis" );
+ boolean isNisDisabled = false;
+ if ( nisAttrs.get( "m-disabled" ) != null )
+ {
+ isNisDisabled = ( ( String ) nisAttrs.get( "m-disabled" ).get() ).equalsIgnoreCase( "TRUE" );
+ }
+
+ // if nis is disabled then enable it
+ if ( isNisDisabled )
+ {
+ Attribute disabled = new BasicAttribute( "m-disabled" );
+ ModificationItem[] mods = new ModificationItem[] {
+ new ModificationItem( DirContext.REMOVE_ATTRIBUTE, disabled ) };
+ schemaRoot.modifyAttributes( "cn=nis", mods );
+ }
// -------------------------------------------------------------------
// Add a bunch of nis groups
@@ -108,7 +123,7 @@
*/
public Set searchGroups( String filter ) throws NamingException
{
- Set results = new HashSet();
+ Set<String> results = new HashSet<String>();
NamingEnumeration list = sysRoot.search( "ou=groups", filter, new SearchControls() );
while( list.hasMore() )
{
Modified: directory/trunks/apacheds/core-unit/src/test/java/org/apache/directory/server/core/authn/SimpleAuthenticationITest.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core-unit/src/test/java/org/apache/directory/server/core/authn/SimpleAuthenticationITest.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core-unit/src/test/java/org/apache/directory/server/core/authn/SimpleAuthenticationITest.java (original)
+++ directory/trunks/apacheds/core-unit/src/test/java/org/apache/directory/server/core/authn/SimpleAuthenticationITest.java Sun Dec 31 11:46:40 2006
@@ -185,7 +185,7 @@
configuration.setAllowAnonymousAccess( false );
try
{
- setSysRoot( env );
+ setContextRoots( env );
fail( "should not get here due to exception" );
}
catch ( LdapNoPermissionException e )
@@ -198,8 +198,8 @@
env.put( Context.SECURITY_AUTHENTICATION, "none" );
configuration.setAllowAnonymousAccess( true );
- InitialLdapContext ctx = ( InitialLdapContext ) setSysRoot( env );
- assertNotNull( ctx );
+ setContextRoots( env );
+ assertNotNull( sysRoot );
// now go in as anonymous user and we should be wh
env.put( Context.PROVIDER_URL, "ou=system" );
@@ -242,7 +242,7 @@
try
{
- setSysRoot( env );
+ setContextRoots( env );
fail( "should not get here due to exception" );
}
catch ( ConfigurationException e )
@@ -271,7 +271,7 @@
try
{
- setSysRoot( env );
+ setContextRoots( env );
fail( "should not get here due to exception" );
}
catch ( ConfigurationException e )
Modified: directory/trunks/apacheds/core-unit/src/test/java/org/apache/directory/server/core/jndi/MixedCaseITest.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core-unit/src/test/java/org/apache/directory/server/core/jndi/MixedCaseITest.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core-unit/src/test/java/org/apache/directory/server/core/jndi/MixedCaseITest.java (original)
+++ directory/trunks/apacheds/core-unit/src/test/java/org/apache/directory/server/core/jndi/MixedCaseITest.java Sun Dec 31 11:46:40 2006
@@ -70,7 +70,7 @@
Set partitions = new HashSet();
partitions.add( partition );
- configuration.setContextPartitionConfigurations( partitions );
+ configuration.setPartitionConfigurations( partitions );
super.overrideEnvironment( Context.PROVIDER_URL, suffix );
super.setUp();
Modified: directory/trunks/apacheds/core-unit/src/test/java/org/apache/directory/server/core/jndi/ShutdownITest.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core-unit/src/test/java/org/apache/directory/server/core/jndi/ShutdownITest.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core-unit/src/test/java/org/apache/directory/server/core/jndi/ShutdownITest.java (original)
+++ directory/trunks/apacheds/core-unit/src/test/java/org/apache/directory/server/core/jndi/ShutdownITest.java Sun Dec 31 11:46:40 2006
@@ -47,7 +47,7 @@
*/
public void testShutdownNonNullContext() throws Exception
{
- setSysRoot( "uid=admin,ou=system", "secret", new ShutdownConfiguration() );
+ setContextRoots( "uid=admin,ou=system", "secret", new ShutdownConfiguration() );
assertNotNull( sysRoot );
doDelete( configuration.getWorkingDirectory() );
}
@@ -60,11 +60,11 @@
*/
public void testShutdownRestart() throws Exception
{
- setSysRoot( "uid=admin,ou=system", "secret", new ShutdownConfiguration() );
+ setContextRoots( "uid=admin,ou=system", "secret", new ShutdownConfiguration() );
assertNotNull( sysRoot );
// restart the system now
- setSysRoot( "uid=admin,ou=system", "secret", configuration );
+ setContextRoots( "uid=admin,ou=system", "secret", configuration );
// (tearDown is overriden)
super.tearDown();
Modified: directory/trunks/apacheds/core-unit/src/test/java/org/apache/directory/server/core/jndi/SyncITest.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core-unit/src/test/java/org/apache/directory/server/core/jndi/SyncITest.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core-unit/src/test/java/org/apache/directory/server/core/jndi/SyncITest.java (original)
+++ directory/trunks/apacheds/core-unit/src/test/java/org/apache/directory/server/core/jndi/SyncITest.java Sun Dec 31 11:46:40 2006
@@ -42,7 +42,7 @@
*/
public void testSyncNoException() throws Exception
{
- sysRoot = setSysRoot( "uid=admin,ou=system", "secret", new SyncConfiguration() );
+ setContextRoots( "uid=admin,ou=system", "secret", new SyncConfiguration() );
assertNotNull( sysRoot );
}
@@ -55,7 +55,7 @@
*/
public void testPostSyncLookup() throws Exception
{
- sysRoot = setSysRoot( "uid=admin,ou=system", "secret", new SyncConfiguration() );
+ setContextRoots( "uid=admin,ou=system", "secret", new SyncConfiguration() );
Attributes users = sysRoot.getAttributes( "ou=users" );
Modified: directory/trunks/apacheds/core/pom.xml
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/pom.xml?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/pom.xml (original)
+++ directory/trunks/apacheds/core/pom.xml Sun Dec 31 11:46:40 2006
@@ -26,142 +26,59 @@
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>jdbm</groupId>
- <artifactId>jdbm</artifactId>
+ <groupId>org.apache.directory.server</groupId>
+ <artifactId>apacheds-schema-bootstrap</artifactId>
+ <version>${pom.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.directory.server</groupId>
+ <artifactId>apacheds-schema-registries</artifactId>
+ <version>${pom.version}</version>
</dependency>
<dependency>
<groupId>org.apache.directory.server</groupId>
<artifactId>apacheds-core-shared</artifactId>
<version>${pom.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.directory.server</groupId>
+ <artifactId>apacheds-utils</artifactId>
+ <version>${pom.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.directory.server</groupId>
+ <artifactId>apacheds-jdbm-store</artifactId>
+ <version>${pom.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.directory.server</groupId>
+ <artifactId>apacheds-constants</artifactId>
+ <version>${pom.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.directory.server</groupId>
+ <artifactId>apacheds-btree-base</artifactId>
+ <version>${pom.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.directory.server</groupId>
+ <artifactId>apacheds-bootstrap-partition</artifactId>
+ <version>${pom.version}</version>
+ </dependency>
</dependencies>
<build>
<plugins>
<plugin>
- <groupId>org.apache.directory.server</groupId>
- <artifactId>apacheds-core-plugin</artifactId>
- <configuration>
- <schemaSourcesDir>src/main/schema</schemaSourcesDir>
- <schemas>
- <schema>
- <name>apache</name>
- <dependencies>
- <dependency>system</dependency>
- </dependencies>
- </schema>
- <schema>
- <name>apachemeta</name>
- <dependencies>
- <dependency>system</dependency>
- </dependencies>
- </schema>
- <schema>
- <name>apachedns</name>
- <dependencies>
- <dependency>system</dependency>
- <dependency>core</dependency>
- </dependencies>
- </schema>
- <schema>
- <name>autofs</name>
- <dependencies>
- <dependency>system</dependency>
- <dependency>core</dependency>
- <dependency>cosine</dependency>
- </dependencies>
- </schema>
- <schema>
- <name>collective</name>
- <dependencies>
- <dependency>system</dependency>
- <dependency>core</dependency>
- </dependencies>
- </schema>
- <schema>
- <name>corba</name>
- <dependencies>
- <dependency>system</dependency>
- <dependency>core</dependency>
- </dependencies>
- </schema>
- <schema>
- <name>core</name>
- <dependencies>
- <dependency>system</dependency>
- </dependencies>
- </schema>
- <schema>
- <name>cosine</name>
- <dependencies>
- <dependency>system</dependency>
- <dependency>core</dependency>
- </dependencies>
- </schema>
- <schema>
- <name>inetorgperson</name>
- <dependencies>
- <dependency>system</dependency>
- <dependency>core</dependency>
- <dependency>cosine</dependency>
- </dependencies>
- </schema>
- <schema>
- <name>java</name>
- <dependencies>
- <dependency>system</dependency>
- <dependency>core</dependency>
- </dependencies>
- </schema>
- <schema>
- <name>krb5kdc</name>
- <dependencies>
- <dependency>system</dependency>
- <dependency>core</dependency>
- </dependencies>
- </schema>
- <schema>
- <name>nis</name>
- <dependencies>
- <dependency>system</dependency>
- <dependency>core</dependency>
- <dependency>cosine</dependency>
- </dependencies>
- </schema>
- <schema>
- <name>system</name>
- </schema>
- <schema>
- <name>mozilla</name>
- <dependencies>
- <dependency>system</dependency>
- <dependency>core</dependency>
- </dependencies>
- </schema>
- <schema>
- <name>dhcp</name>
- <dependencies>
- <dependency>system</dependency>
- <dependency>core</dependency>
- </dependencies>
- </schema>
- <schema>
- <name>samba</name>
- <dependencies>
- <dependency>system</dependency>
- <dependency>core</dependency>
- <dependency>inetorgperson</dependency>
- <dependency>nis</dependency>
- </dependencies>
- </schema>
- </schemas>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <systemProperties>
+ <property>
+ <name>workingDirectory</name>
+ <value>${basedir}/target/server-work</value>
+ </property>
+ </systemProperties>
</configuration>
- <executions>
- <execution>
- <goals>
- <goal>generate</goal>
- </goals>
- </execution>
- </executions>
</plugin>
</plugins>
<resources>
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java Sun Dec 31 11:46:40 2006
@@ -20,6 +20,7 @@
package org.apache.directory.server.core;
+import java.io.IOException;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Map;
@@ -34,6 +35,8 @@
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.InterceptorChain;
import org.apache.directory.server.core.jndi.AbstractContextFactory;
@@ -42,10 +45,21 @@
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.schema.AttributeTypeRegistry;
-import org.apache.directory.server.core.schema.bootstrap.BootstrapRegistries;
-import org.apache.directory.server.core.schema.bootstrap.BootstrapSchemaLoader;
-import org.apache.directory.server.core.schema.global.GlobalRegistries;
+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.partition.SchemaPartitionExtractor;
+import org.apache.directory.server.schema.registries.AttributeTypeRegistry;
+import org.apache.directory.server.schema.registries.DefaultRegistries;
+import org.apache.directory.server.schema.registries.Registries;
import org.apache.directory.shared.ldap.exception.LdapAuthenticationNotSupportedException;
import org.apache.directory.shared.ldap.exception.LdapConfigurationException;
import org.apache.directory.shared.ldap.exception.LdapNoPermissionException;
@@ -77,6 +91,8 @@
private final DirectoryServiceConfiguration configuration = new DefaultDirectoryServiceConfiguration( this );
private DirectoryServiceListener serviceListener;
+
+ private SchemaManager schemaManager;
/** the initial context environment that fired up the backend subsystem */
private Hashtable<String, Object> environment;
@@ -85,7 +101,7 @@
private StartupConfiguration startupConfiguration;
/** the registries for system schema objects */
- private GlobalRegistries globalRegistries;
+ private Registries registries;
/** the root nexus */
private DefaultPartitionNexus partitionNexus;
@@ -107,7 +123,7 @@
/**
* Creates a new instance.
*/
- public DefaultDirectoryService(String instanceId)
+ public DefaultDirectoryService( String instanceId )
{
if ( instanceId == null )
{
@@ -315,9 +331,9 @@
}
- public GlobalRegistries getGlobalRegistries()
+ public Registries getRegistries()
{
- return globalRegistries;
+ return registries;
}
@@ -459,7 +475,7 @@
// create system users area
// -------------------------------------------------------------------
- Map oidsMap = configuration.getGlobalRegistries().getAttributeTypeRegistry().getNormalizerMapping();
+ Map oidsMap = configuration.getRegistries().getAttributeTypeRegistry().getNormalizerMapping();
LdapDN userDn = new LdapDN( "ou=users,ou=system" );
userDn.normalize( oidsMap );
@@ -665,7 +681,7 @@
boolean needToChangeAdminPassword = false;
LdapDN adminDn = new LdapDN( PartitionNexus.ADMIN_PRINCIPAL );
- adminDn.normalize( configuration.getGlobalRegistries().getAttributeTypeRegistry().getNormalizerMapping() );
+ adminDn.normalize( configuration.getRegistries().getAttributeTypeRegistry().getNormalizerMapping() );
Attributes adminEntry = partitionNexus.lookup( adminDn );
Object userPassword = adminEntry.get( "userPassword" ).get();
@@ -736,24 +752,126 @@
}
// --------------------------------------------------------------------
- // Load the schema here and check that it is ok!
+ // Load the bootstrap schemas to start up the schema partition
// --------------------------------------------------------------------
- BootstrapRegistries bootstrapRegistries = new BootstrapRegistries();
+ // setup temporary loader and temp registry
BootstrapSchemaLoader loader = new BootstrapSchemaLoader();
- loader.load( startupConfiguration.getBootstrapSchemas(), bootstrapRegistries );
+ registries = new DefaultRegistries( "bootstrap", loader );
+
+ // load essential bootstrap schemas
+ Set<Schema> bootstrapSchemas = new HashSet<Schema>();
+ bootstrapSchemas.add( new ApachemetaSchema() );
+ bootstrapSchemas.add( new ApacheSchema() );
+ bootstrapSchemas.add( new CoreSchema() );
+ bootstrapSchemas.add( new SystemSchema() );
+ loader.loadWithDependencies( bootstrapSchemas, registries );
- java.util.List errors = bootstrapRegistries.checkRefInteg();
+ // run referential integrity tests
+ java.util.List errors = registries.checkRefInteg();
if ( !errors.isEmpty() )
{
NamingException e = new NamingException();
-
e.setRootCause( ( Throwable ) errors.get( 0 ) );
-
throw e;
}
+
+ SerializableComparator.setRegistry( registries.getComparatorRegistry() );
+
+ // --------------------------------------------------------------------
+ // If not present extract schema partition from jar
+ // --------------------------------------------------------------------
- globalRegistries = new GlobalRegistries( bootstrapRegistries );
+ SchemaPartitionExtractor extractor = null;
+ try
+ {
+ extractor = new SchemaPartitionExtractor( startupConfiguration.getWorkingDirectory() );
+ extractor.extract();
+ }
+ catch ( IOException e )
+ {
+ NamingException ne = new NamingException( "Failed to extract pre-loaded schema partition." );
+ ne.setRootCause( e );
+ throw ne;
+ }
+
+ // --------------------------------------------------------------------
+ // Initialize schema partition
+ // --------------------------------------------------------------------
+
+ MutablePartitionConfiguration schemaPartitionConfig = new MutablePartitionConfiguration();
+ schemaPartitionConfig.setName( "schema" );
+ schemaPartitionConfig.setCacheSize( 1000 );
+ schemaPartitionConfig.setIndexedAttributes( extractor.getDbFileListing().getIndexedAttributes() );
+ schemaPartitionConfig.setOptimizerEnabled( true );
+ schemaPartitionConfig.setSuffix( "ou=schema" );
+
+ Attributes entry = new LockableAttributesImpl();
+ entry.put( "objectClass", "top" );
+ entry.get( "objectClass" ).add( "organizationalUnit" );
+ entry.put( "ou", "schema" );
+ schemaPartitionConfig.setContextEntry( entry );
+ JdbmPartition schemaPartition = new JdbmPartition();
+ schemaPartition.init( configuration, schemaPartitionConfig );
+ schemaPartitionConfig.setContextPartition( schemaPartition );
+
+ // --------------------------------------------------------------------
+ // Enable schemas of all indices of partition configurations
+ // --------------------------------------------------------------------
+
+ /*
+ * We need to make sure that every attribute indexed by a partition is
+ * loaded into the registries on the next step. So here we must enable
+ * the schemas of those attributes so they are loaded into the global
+ * registries.
+ */
+
+ SchemaPartitionDao dao = new SchemaPartitionDao( schemaPartition, registries );
+ Map<String,Schema> schemaMap = dao.getSchemas();
+ PartitionConfiguration pc = startupConfiguration.getSystemPartitionConfiguration();
+ Set<PartitionConfiguration> pcs = new HashSet<PartitionConfiguration>();
+ if ( pc != null )
+ {
+ pcs.add( pc );
+ }
+ else
+ {
+ log.warn( "Encountered null configuration." );
+ }
+
+
+ pcs.addAll( startupConfiguration.getPartitionConfigurations() );
+
+ for ( PartitionConfiguration pconf : pcs )
+ {
+ Iterator indices = pconf.getIndexedAttributes().iterator();
+ while ( indices.hasNext() )
+ {
+ Object indexedAttr = indices.next();
+ String schemaName = dao.findSchema( indexedAttr.toString() );
+ if ( schemaName == null )
+ {
+ throw new NamingException( "Index on unidentified attribute" );
+ }
+
+ Schema schema = schemaMap.get( schemaName );
+ if ( schema.isDisabled() )
+ {
+ dao.enableSchema( schemaName );
+ }
+ }
+ }
+
+ // --------------------------------------------------------------------
+ // Initialize schema subsystem and reset registries
+ // --------------------------------------------------------------------
+
+ PartitionSchemaLoader schemaLoader = new PartitionSchemaLoader( schemaPartition, registries );
+ Registries globalRegistries = new DefaultRegistries( "global", schemaLoader );
+ schemaLoader.loadEnabled( globalRegistries );
+ registries = globalRegistries;
+ SerializableComparator.setRegistry( globalRegistries.getComparatorRegistry() );
+
Set<String> binaries = new HashSet<String>();
if ( this.environment.containsKey( BINARY_KEY ) )
{
@@ -790,13 +908,16 @@
}
}
}
+
+ schemaManager = new SchemaManager( globalRegistries, schemaLoader );
// now get all the attributeTypes that are binary from the registry
- AttributeTypeRegistry registry = globalRegistries.getAttributeTypeRegistry();
+ AttributeTypeRegistry registry = registries.getAttributeTypeRegistry();
Iterator list = registry.list();
while ( list.hasNext() )
{
AttributeType type = ( AttributeType ) list.next();
+
if ( !type.getSyntax().isHumanReadible() )
{
// add the OID for the attributeType
@@ -819,6 +940,7 @@
partitionNexus = new DefaultPartitionNexus( new LockableAttributesImpl() );
partitionNexus.init( configuration, null );
+ partitionNexus.addContextPartition( schemaPartitionConfig );
interceptorChain = new InterceptorChain();
interceptorChain.init( configuration );
@@ -827,5 +949,11 @@
{
log.debug( "<--- DefaultDirectoryService initialized" );
}
+ }
+
+
+ public SchemaManager getSchemaManager()
+ {
+ return schemaManager;
}
}
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryServiceConfiguration.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryServiceConfiguration.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryServiceConfiguration.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryServiceConfiguration.java Sun Dec 31 11:46:40 2006
@@ -28,7 +28,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.schema.global.GlobalRegistries;
+import org.apache.directory.server.core.schema.SchemaManager;
+import org.apache.directory.server.schema.registries.Registries;
import org.apache.directory.shared.ldap.name.LdapDN;
@@ -79,9 +80,9 @@
}
- public GlobalRegistries getGlobalRegistries()
+ public Registries getRegistries()
{
- return parent.getGlobalRegistries();
+ return parent.getRegistries();
}
@@ -113,5 +114,11 @@
String authentication, String baseName ) throws NamingException
{
return parent.getJndiContext( principalDn, principal, credential, authentication, baseName );
+ }
+
+
+ public SchemaManager getSchemaManager()
+ {
+ return parent.getSchemaManager();
}
}
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/DirectoryServiceConfiguration.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/DirectoryServiceConfiguration.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/DirectoryServiceConfiguration.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/DirectoryServiceConfiguration.java Sun Dec 31 11:46:40 2006
@@ -27,7 +27,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.schema.global.GlobalRegistries;
+import org.apache.directory.server.core.schema.SchemaManager;
+import org.apache.directory.server.schema.registries.Registries;
/**
@@ -72,7 +73,7 @@
/**
* Returns the registries for system schema objects of the {@link DirectoryService}.
*/
- GlobalRegistries getGlobalRegistries();
+ Registries getRegistries();
/**
@@ -87,6 +88,10 @@
*/
InterceptorChain getInterceptorChain();
+ /**
+ * Returns the schema manager for the {@link DirectoryService}.
+ */
+ SchemaManager getSchemaManager();
/**
* Returns <tt>true</tt> if this service is started
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/AuthorizationService.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/AuthorizationService.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/AuthorizationService.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/AuthorizationService.java Sun Dec 31 11:46:40 2006
@@ -35,10 +35,10 @@
import org.apache.directory.server.core.jndi.ServerContext;
import org.apache.directory.server.core.jndi.ServerLdapContext;
import org.apache.directory.server.core.partition.PartitionNexusProxy;
-import org.apache.directory.server.core.schema.AttributeTypeRegistry;
-import org.apache.directory.server.core.schema.ConcreteNameComponentNormalizer;
-import org.apache.directory.server.core.schema.OidRegistry;
import org.apache.directory.server.core.subtree.SubentryService;
+import org.apache.directory.server.schema.ConcreteNameComponentNormalizer;
+import org.apache.directory.server.schema.registries.AttributeTypeRegistry;
+import org.apache.directory.server.schema.registries.OidRegistry;
import org.apache.directory.shared.ldap.aci.ACIItem;
import org.apache.directory.shared.ldap.aci.ACIItemParser;
import org.apache.directory.shared.ldap.aci.MicroOperation;
@@ -166,8 +166,8 @@
super.init( factoryCfg, cfg );
tupleCache = new TupleCache( factoryCfg );
groupCache = new GroupCache( factoryCfg );
- attrRegistry = factoryCfg.getGlobalRegistries().getAttributeTypeRegistry();
- OidRegistry oidRegistry = factoryCfg.getGlobalRegistries().getOidRegistry();
+ attrRegistry = factoryCfg.getRegistries().getAttributeTypeRegistry();
+ OidRegistry oidRegistry = factoryCfg.getRegistries().getOidRegistry();
// look up some constant information
objectClassOid = oidRegistry.getOid( "objectClass" );
@@ -177,7 +177,7 @@
acSubentryType = attrRegistry.lookup( acSubentryOid );
aciParser = new ACIItemParser( new ConcreteNameComponentNormalizer( attrRegistry, oidRegistry ), attrRegistry.getNormalizerMapping() );
- engine = new ACDFEngine( factoryCfg.getGlobalRegistries().getOidRegistry(), attrRegistry );
+ engine = new ACDFEngine( factoryCfg.getRegistries().getOidRegistry(), attrRegistry );
chain = factoryCfg.getInterceptorChain();
enabled = factoryCfg.getStartupConfiguration().isAccessControlEnabled();
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/DefaultAuthorizationService.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/DefaultAuthorizationService.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/DefaultAuthorizationService.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/DefaultAuthorizationService.java Sun Dec 31 11:46:40 2006
@@ -102,7 +102,7 @@
public void init( DirectoryServiceConfiguration factoryCfg, InterceptorConfiguration cfg ) throws NamingException
{
nexus = factoryCfg.getPartitionNexus();
- normalizerMapping = factoryCfg.getGlobalRegistries().getAttributeTypeRegistry().getNormalizerMapping();
+ normalizerMapping = factoryCfg.getRegistries().getAttributeTypeRegistry().getNormalizerMapping();
// disable this static module if basic access control mechanisms are enabled
enabled = !factoryCfg.getStartupConfiguration().isAccessControlEnabled();
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/GroupCache.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/GroupCache.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/GroupCache.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/GroupCache.java Sun Dec 31 11:46:40 2006
@@ -82,7 +82,7 @@
*/
public GroupCache( DirectoryServiceConfiguration factoryCfg ) throws NamingException
{
- normalizerMap = factoryCfg.getGlobalRegistries().getAttributeTypeRegistry().getNormalizerMapping();
+ normalizerMap = factoryCfg.getRegistries().getAttributeTypeRegistry().getNormalizerMapping();
this.nexus = factoryCfg.getPartitionNexus();
this.env = ( Hashtable ) factoryCfg.getEnvironment().clone();
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/TupleCache.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/TupleCache.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/TupleCache.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/TupleCache.java Sun Dec 31 11:46:40 2006
@@ -34,9 +34,9 @@
import org.apache.directory.server.core.DirectoryServiceConfiguration;
import org.apache.directory.server.core.partition.PartitionNexus;
-import org.apache.directory.server.core.schema.AttributeTypeRegistry;
-import org.apache.directory.server.core.schema.ConcreteNameComponentNormalizer;
-import org.apache.directory.server.core.schema.OidRegistry;
+import org.apache.directory.server.schema.ConcreteNameComponentNormalizer;
+import org.apache.directory.server.schema.registries.AttributeTypeRegistry;
+import org.apache.directory.server.schema.registries.OidRegistry;
import org.apache.directory.shared.ldap.aci.ACIItem;
import org.apache.directory.shared.ldap.aci.ACIItemParser;
import org.apache.directory.shared.ldap.exception.LdapSchemaViolationException;
@@ -91,10 +91,10 @@
*/
public TupleCache(DirectoryServiceConfiguration factoryCfg) throws NamingException
{
- normalizerMap = factoryCfg.getGlobalRegistries().getAttributeTypeRegistry().getNormalizerMapping();
+ normalizerMap = factoryCfg.getRegistries().getAttributeTypeRegistry().getNormalizerMapping();
this.nexus = factoryCfg.getPartitionNexus();
- AttributeTypeRegistry attributeRegistry = factoryCfg.getGlobalRegistries().getAttributeTypeRegistry();
- OidRegistry oidRegistry = factoryCfg.getGlobalRegistries().getOidRegistry();
+ AttributeTypeRegistry attributeRegistry = factoryCfg.getRegistries().getAttributeTypeRegistry();
+ OidRegistry oidRegistry = factoryCfg.getRegistries().getOidRegistry();
NameComponentNormalizer ncn = new ConcreteNameComponentNormalizer( attributeRegistry, oidRegistry );
aciParser = new ACIItemParser( ncn, normalizerMap );
env = ( Hashtable ) factoryCfg.getEnvironment().clone();
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/support/ACDFEngine.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/support/ACDFEngine.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/support/ACDFEngine.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/support/ACDFEngine.java Sun Dec 31 11:46:40 2006
@@ -28,11 +28,11 @@
import org.apache.directory.server.core.event.Evaluator;
import org.apache.directory.server.core.event.ExpressionEvaluator;
import org.apache.directory.server.core.partition.PartitionNexusProxy;
-import org.apache.directory.server.core.schema.AttributeTypeRegistry;
-import org.apache.directory.server.core.schema.OidRegistry;
import org.apache.directory.server.core.subtree.RefinementEvaluator;
import org.apache.directory.server.core.subtree.RefinementLeafEvaluator;
import org.apache.directory.server.core.subtree.SubtreeEvaluator;
+import org.apache.directory.server.schema.registries.AttributeTypeRegistry;
+import org.apache.directory.server.schema.registries.OidRegistry;
import org.apache.directory.shared.ldap.aci.ACITuple;
import org.apache.directory.shared.ldap.aci.AuthenticationLevel;
import org.apache.directory.shared.ldap.exception.LdapNoPermissionException;
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/support/RelatedProtectedItemFilter.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/support/RelatedProtectedItemFilter.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/support/RelatedProtectedItemFilter.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/authz/support/RelatedProtectedItemFilter.java Sun Dec 31 11:46:40 2006
@@ -30,9 +30,9 @@
import org.apache.directory.server.core.ServerUtils;
import org.apache.directory.server.core.event.Evaluator;
import org.apache.directory.server.core.partition.PartitionNexusProxy;
-import org.apache.directory.server.core.schema.AttributeTypeRegistry;
-import org.apache.directory.server.core.schema.OidRegistry;
import org.apache.directory.server.core.subtree.RefinementEvaluator;
+import org.apache.directory.server.schema.registries.AttributeTypeRegistry;
+import org.apache.directory.server.schema.registries.OidRegistry;
import org.apache.directory.shared.ldap.aci.ACITuple;
import org.apache.directory.shared.ldap.aci.AuthenticationLevel;
import org.apache.directory.shared.ldap.aci.ProtectedItem;
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/collective/CollectiveAttributeService.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/collective/CollectiveAttributeService.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/collective/CollectiveAttributeService.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/collective/CollectiveAttributeService.java Sun Dec 31 11:46:40 2006
@@ -29,8 +29,8 @@
import org.apache.directory.server.core.invocation.Invocation;
import org.apache.directory.server.core.invocation.InvocationStack;
import org.apache.directory.server.core.partition.PartitionNexus;
-import org.apache.directory.server.core.schema.AttributeTypeRegistry;
import org.apache.directory.server.core.subtree.SubentryService;
+import org.apache.directory.server.schema.registries.AttributeTypeRegistry;
import org.apache.directory.shared.ldap.filter.ExprNode;
import org.apache.directory.shared.ldap.message.LockableAttributeImpl;
import org.apache.directory.shared.ldap.name.LdapDN;
@@ -81,7 +81,7 @@
{
super.init( factoryCfg, cfg );
nexus = factoryCfg.getPartitionNexus();
- registry = factoryCfg.getGlobalRegistries().getAttributeTypeRegistry();
+ registry = factoryCfg.getRegistries().getAttributeTypeRegistry();
}
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/configuration/MutableStartupConfiguration.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/configuration/MutableStartupConfiguration.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/configuration/MutableStartupConfiguration.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/configuration/MutableStartupConfiguration.java Sun Dec 31 11:46:40 2006
@@ -92,15 +92,9 @@
}
- public void setBootstrapSchemas( Set bootstrapSchemas )
+ public void setPartitionConfigurations( Set paritionConfigurations )
{
- super.setBootstrapSchemas( bootstrapSchemas );
- }
-
-
- public void setContextPartitionConfigurations( Set contextParitionConfigurations )
- {
- super.setContextPartitionConfigurations( contextParitionConfigurations );
+ super.setPartitionConfigurations( paritionConfigurations );
}
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/configuration/PartitionConfiguration.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/configuration/PartitionConfiguration.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/configuration/PartitionConfiguration.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/configuration/PartitionConfiguration.java Sun Dec 31 11:46:40 2006
@@ -30,7 +30,7 @@
import org.apache.directory.server.core.partition.Partition;
import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition;
-import org.apache.directory.server.core.schema.MatchingRuleRegistry;
+import org.apache.directory.server.schema.registries.MatchingRuleRegistry;
import org.apache.directory.shared.ldap.exception.LdapConfigurationException;
import org.apache.directory.shared.ldap.name.LdapDN;
import org.apache.directory.shared.ldap.schema.Normalizer;
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/configuration/StartupConfiguration.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/configuration/StartupConfiguration.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/configuration/StartupConfiguration.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/configuration/StartupConfiguration.java Sun Dec 31 11:46:40 2006
@@ -42,14 +42,6 @@
import org.apache.directory.server.core.operational.OperationalAttributeService;
import org.apache.directory.server.core.referral.ReferralService;
import org.apache.directory.server.core.schema.SchemaService;
-import org.apache.directory.server.core.schema.bootstrap.ApacheSchema;
-import org.apache.directory.server.core.schema.bootstrap.BootstrapSchema;
-import org.apache.directory.server.core.schema.bootstrap.CollectiveSchema;
-import org.apache.directory.server.core.schema.bootstrap.CoreSchema;
-import org.apache.directory.server.core.schema.bootstrap.CosineSchema;
-import org.apache.directory.server.core.schema.bootstrap.InetorgpersonSchema;
-import org.apache.directory.server.core.schema.bootstrap.JavaSchema;
-import org.apache.directory.server.core.schema.bootstrap.SystemSchema;
import org.apache.directory.server.core.subtree.SubentryService;
import org.apache.directory.server.core.trigger.TriggerService;
import org.apache.directory.shared.ldap.ldif.Entry;
@@ -81,8 +73,7 @@
private Set authenticatorConfigurations; // Set<AuthenticatorConfiguration>
private List interceptorConfigurations; // Set<InterceptorConfiguration>
private PartitionConfiguration systemPartitionConfiguration;
- private Set bootstrapSchemas; // Set<BootstrapSchema>
- private Set contextPartitionConfigurations = new HashSet(); // Set<ContextPartitionConfiguration>
+ private Set<PartitionConfiguration> partitionConfigurations = new HashSet<PartitionConfiguration>();
private List testEntries = new ArrayList(); // List<Attributes>
@@ -92,7 +83,6 @@
public StartupConfiguration()
{
setDefaultAuthenticatorConfigurations();
- setDefaultBootstrapSchemas();
setDefaultInterceptorConfigurations();
}
@@ -104,7 +94,6 @@
public StartupConfiguration(String instanceId)
{
setDefaultAuthenticatorConfigurations();
- setDefaultBootstrapSchemas();
setDefaultInterceptorConfigurations();
setInstanceId( instanceId );
}
@@ -135,24 +124,6 @@
}
- private void setDefaultBootstrapSchemas()
- {
- Set set;
- // Set default bootstrap schemas
- set = new HashSet();
-
- set.add( new CoreSchema() );
- set.add( new CosineSchema() );
- set.add( new ApacheSchema() );
- set.add( new InetorgpersonSchema() );
- set.add( new JavaSchema() );
- set.add( new SystemSchema() );
- set.add( new CollectiveSchema() );
-
- setBootstrapSchemas( set );
- }
-
-
private void setDefaultInterceptorConfigurations()
{
// Set default interceptor chains
@@ -259,36 +230,18 @@
/**
- * Returns {@link BootstrapSchema}s to load while bootstrapping.
- */
- public Set getBootstrapSchemas()
- {
- return ConfigurationUtil.getClonedSet( bootstrapSchemas );
- }
-
-
- /**
- * Sets {@link BootstrapSchema}s to load while bootstrapping.
- */
- protected void setBootstrapSchemas( Set bootstrapSchemas )
- {
- this.bootstrapSchemas = ConfigurationUtil.getTypeSafeSet( bootstrapSchemas, BootstrapSchema.class );
- }
-
-
- /**
* Returns {@link PartitionConfiguration}s to configure context partitions.
*/
- public Set getContextPartitionConfigurations()
+ public Set<PartitionConfiguration> getPartitionConfigurations()
{
- return ConfigurationUtil.getClonedSet( contextPartitionConfigurations );
+ return ConfigurationUtil.getClonedSet( partitionConfigurations );
}
/**
* Sets {@link PartitionConfiguration}s to configure context partitions.
*/
- protected void setContextPartitionConfigurations( Set contextParitionConfigurations )
+ protected void setPartitionConfigurations( Set contextParitionConfigurations )
{
Set newSet = ConfigurationUtil.getTypeSafeSet( contextParitionConfigurations,
PartitionConfiguration.class );
@@ -308,7 +261,7 @@
names.add( name );
}
- this.contextPartitionConfigurations = newSet;
+ this.partitionConfigurations = newSet;
}
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/enumeration/ReferralHandlingEnumeration.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/enumeration/ReferralHandlingEnumeration.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/enumeration/ReferralHandlingEnumeration.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/enumeration/ReferralHandlingEnumeration.java Sun Dec 31 11:46:40 2006
@@ -33,7 +33,7 @@
import org.apache.directory.server.core.partition.PartitionNexus;
import org.apache.directory.server.core.referral.ReferralLut;
-import org.apache.directory.server.core.schema.AttributeTypeRegistry;
+import org.apache.directory.server.schema.registries.AttributeTypeRegistry;
import org.apache.directory.shared.ldap.codec.util.LdapURL;
import org.apache.directory.shared.ldap.codec.util.LdapURLEncodingException;
import org.apache.directory.shared.ldap.exception.LdapReferralException;
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/event/EventService.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/event/EventService.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/event/EventService.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/event/EventService.java Sun Dec 31 11:46:40 2006
@@ -29,9 +29,9 @@
import org.apache.directory.server.core.normalization.NormalizingVisitor;
import org.apache.directory.server.core.partition.PartitionNexus;
import org.apache.directory.server.core.partition.PartitionNexusProxy;
-import org.apache.directory.server.core.schema.AttributeTypeRegistry;
-import org.apache.directory.server.core.schema.ConcreteNameComponentNormalizer;
-import org.apache.directory.server.core.schema.OidRegistry;
+import org.apache.directory.server.schema.ConcreteNameComponentNormalizer;
+import org.apache.directory.server.schema.registries.AttributeTypeRegistry;
+import org.apache.directory.server.schema.registries.OidRegistry;
import org.apache.directory.shared.ldap.filter.AssertionEnum;
import org.apache.directory.shared.ldap.filter.BranchNode;
import org.apache.directory.shared.ldap.filter.ExprNode;
@@ -77,12 +77,12 @@
{
super.init( factoryCfg, cfg );
- OidRegistry oidRegistry = factoryCfg.getGlobalRegistries().getOidRegistry();
- attributeRegistry = factoryCfg.getGlobalRegistries().getAttributeTypeRegistry();
+ OidRegistry oidRegistry = factoryCfg.getRegistries().getOidRegistry();
+ attributeRegistry = factoryCfg.getRegistries().getAttributeTypeRegistry();
evaluator = new ExpressionEvaluator( oidRegistry, attributeRegistry );
nexus = factoryCfg.getPartitionNexus();
NameComponentNormalizer ncn = new ConcreteNameComponentNormalizer( attributeRegistry, oidRegistry );
- visitor = new NormalizingVisitor( ncn, factoryCfg.getGlobalRegistries().getOidRegistry() );
+ visitor = new NormalizingVisitor( ncn, factoryCfg.getRegistries().getOidRegistry() );
}
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/event/ExpressionEvaluator.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/event/ExpressionEvaluator.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/event/ExpressionEvaluator.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/event/ExpressionEvaluator.java Sun Dec 31 11:46:40 2006
@@ -25,8 +25,8 @@
import javax.naming.NamingException;
import javax.naming.directory.Attributes;
-import org.apache.directory.server.core.schema.AttributeTypeRegistry;
-import org.apache.directory.server.core.schema.OidRegistry;
+import org.apache.directory.server.schema.registries.AttributeTypeRegistry;
+import org.apache.directory.server.schema.registries.OidRegistry;
import org.apache.directory.shared.ldap.filter.BranchNode;
import org.apache.directory.shared.ldap.filter.ExprNode;
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/event/LeafEvaluator.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/event/LeafEvaluator.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/event/LeafEvaluator.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/event/LeafEvaluator.java Sun Dec 31 11:46:40 2006
@@ -28,8 +28,8 @@
import javax.naming.directory.Attributes;
import org.apache.directory.server.core.ServerUtils;
-import org.apache.directory.server.core.schema.AttributeTypeRegistry;
-import org.apache.directory.server.core.schema.OidRegistry;
+import org.apache.directory.server.schema.registries.AttributeTypeRegistry;
+import org.apache.directory.server.schema.registries.OidRegistry;
import org.apache.directory.shared.ldap.NotImplementedException;
import org.apache.directory.shared.ldap.filter.ExprNode;
import org.apache.directory.shared.ldap.filter.LeafNode;
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/event/SubstringEvaluator.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/event/SubstringEvaluator.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/event/SubstringEvaluator.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/event/SubstringEvaluator.java Sun Dec 31 11:46:40 2006
@@ -28,8 +28,8 @@
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
-import org.apache.directory.server.core.schema.AttributeTypeRegistry;
-import org.apache.directory.server.core.schema.OidRegistry;
+import org.apache.directory.server.schema.registries.AttributeTypeRegistry;
+import org.apache.directory.server.schema.registries.OidRegistry;
import org.apache.directory.shared.ldap.filter.ExprNode;
import org.apache.directory.shared.ldap.filter.SubstringNode;
import org.apache.directory.shared.ldap.schema.AttributeType;
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/exception/ExceptionService.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/exception/ExceptionService.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/exception/ExceptionService.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/exception/ExceptionService.java Sun Dec 31 11:46:40 2006
@@ -71,7 +71,7 @@
public void init( DirectoryServiceConfiguration factoryCfg, InterceptorConfiguration cfg ) throws NamingException
{
nexus = factoryCfg.getPartitionNexus();
- normalizerMap = factoryCfg.getGlobalRegistries().getAttributeTypeRegistry().getNormalizerMapping();
+ normalizerMap = factoryCfg.getRegistries().getAttributeTypeRegistry().getNormalizerMapping();
Attribute attr = nexus.getRootDSE().get( "subschemaSubentry" );
subschemSubentryDn = new LdapDN( ( String ) attr.get() );
subschemSubentryDn.normalize( normalizerMap );
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/normalization/ExpandingVisitor.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/normalization/ExpandingVisitor.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/normalization/ExpandingVisitor.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/normalization/ExpandingVisitor.java Sun Dec 31 11:46:40 2006
@@ -25,7 +25,7 @@
import javax.naming.NamingException;
-import org.apache.directory.server.core.schema.AttributeTypeRegistry;
+import org.apache.directory.server.schema.registries.AttributeTypeRegistry;
import org.apache.directory.shared.ldap.filter.AssertionEnum;
import org.apache.directory.shared.ldap.filter.BranchNode;
import org.apache.directory.shared.ldap.filter.ExprNode;
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/normalization/NormalizationService.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/normalization/NormalizationService.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/normalization/NormalizationService.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/normalization/NormalizationService.java Sun Dec 31 11:46:40 2006
@@ -36,9 +36,9 @@
import org.apache.directory.server.core.interceptor.BaseInterceptor;
import org.apache.directory.server.core.interceptor.NextInterceptor;
import org.apache.directory.server.core.partition.PartitionNexus;
-import org.apache.directory.server.core.schema.AttributeTypeRegistry;
-import org.apache.directory.server.core.schema.ConcreteNameComponentNormalizer;
-import org.apache.directory.server.core.schema.OidRegistry;
+import org.apache.directory.server.schema.ConcreteNameComponentNormalizer;
+import org.apache.directory.server.schema.registries.AttributeTypeRegistry;
+import org.apache.directory.server.schema.registries.OidRegistry;
import org.apache.directory.shared.ldap.filter.AssertionEnum;
import org.apache.directory.shared.ldap.filter.BranchNode;
@@ -80,8 +80,8 @@
public void init( DirectoryServiceConfiguration factoryCfg, InterceptorConfiguration cfg ) throws NamingException
{
- OidRegistry oidRegistry = factoryCfg.getGlobalRegistries().getOidRegistry();
- attributeRegistry = factoryCfg.getGlobalRegistries().getAttributeTypeRegistry();
+ OidRegistry oidRegistry = factoryCfg.getRegistries().getOidRegistry();
+ attributeRegistry = factoryCfg.getRegistries().getAttributeTypeRegistry();
NameComponentNormalizer ncn = new ConcreteNameComponentNormalizer( attributeRegistry, oidRegistry );
normVisitor = new NormalizingVisitor( ncn, oidRegistry );
expVisitor = new ExpandingVisitor( attributeRegistry );
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/normalization/NormalizingVisitor.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/normalization/NormalizingVisitor.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/normalization/NormalizingVisitor.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/normalization/NormalizingVisitor.java Sun Dec 31 11:46:40 2006
@@ -20,7 +20,7 @@
package org.apache.directory.server.core.normalization;
-import org.apache.directory.server.core.schema.OidRegistry;
+import org.apache.directory.server.schema.registries.OidRegistry;
import org.apache.directory.shared.ldap.filter.AssertionEnum;
import org.apache.directory.shared.ldap.filter.BranchNode;
import org.apache.directory.shared.ldap.filter.ExprNode;
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/operational/OperationalAttributeService.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/operational/OperationalAttributeService.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/operational/OperationalAttributeService.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/operational/OperationalAttributeService.java Sun Dec 31 11:46:40 2006
@@ -46,7 +46,7 @@
import org.apache.directory.server.core.invocation.Invocation;
import org.apache.directory.server.core.invocation.InvocationStack;
import org.apache.directory.server.core.partition.PartitionNexus;
-import org.apache.directory.server.core.schema.AttributeTypeRegistry;
+import org.apache.directory.server.schema.registries.AttributeTypeRegistry;
import org.apache.directory.shared.ldap.filter.ExprNode;
import org.apache.directory.shared.ldap.schema.AttributeType;
import org.apache.directory.shared.ldap.schema.UsageEnum;
@@ -120,7 +120,7 @@
public void init( DirectoryServiceConfiguration factoryCfg, InterceptorConfiguration cfg ) throws NamingException
{
nexus = factoryCfg.getPartitionNexus();
- registry = factoryCfg.getGlobalRegistries().getAttributeTypeRegistry();
+ registry = factoryCfg.getRegistries().getAttributeTypeRegistry();
isDenormalizeOpAttrsEnabled = factoryCfg.getStartupConfiguration().isDenormalizeOpAttrsEnabled();
}
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/partition/AbstractPartition.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/partition/AbstractPartition.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/partition/AbstractPartition.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/partition/AbstractPartition.java Sun Dec 31 11:46:40 2006
@@ -170,7 +170,7 @@
if ( suffixDn == null )
{
suffixDn = new LdapDN( cfg.getSuffix() );
- suffixDn.normalize( factoryCfg.getGlobalRegistries().getAttributeTypeRegistry().getNormalizerMapping() );
+ suffixDn.normalize( factoryCfg.getRegistries().getAttributeTypeRegistry().getNormalizerMapping() );
}
return suffixDn;
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/partition/DefaultPartitionNexus.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/partition/DefaultPartitionNexus.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/partition/DefaultPartitionNexus.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/partition/DefaultPartitionNexus.java Sun Dec 31 11:46:40 2006
@@ -47,8 +47,8 @@
import org.apache.directory.server.core.configuration.PartitionConfiguration;
import org.apache.directory.server.core.partition.impl.btree.MutableBTreePartitionConfiguration;
import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition;
-import org.apache.directory.server.core.schema.AttributeTypeRegistry;
-import org.apache.directory.server.core.schema.OidRegistry;
+import org.apache.directory.server.schema.registries.AttributeTypeRegistry;
+import org.apache.directory.server.schema.registries.OidRegistry;
import org.apache.directory.shared.ldap.MultiException;
import org.apache.directory.shared.ldap.NotImplementedException;
import org.apache.directory.shared.ldap.exception.LdapInvalidAttributeIdentifierException;
@@ -193,13 +193,13 @@
}
this.factoryCfg = factoryCfg;
- this.attrRegistry = this.factoryCfg.getGlobalRegistries().getAttributeTypeRegistry();
- this.oidRegistry = this.factoryCfg.getGlobalRegistries().getOidRegistry();
+ this.attrRegistry = this.factoryCfg.getRegistries().getAttributeTypeRegistry();
+ this.oidRegistry = this.factoryCfg.getRegistries().getOidRegistry();
List<PartitionConfiguration> initializedPartitionCfgs = new ArrayList<PartitionConfiguration>();
initializedPartitionCfgs.add( initializeSystemPartition() );
- Iterator i = factoryCfg.getStartupConfiguration().getContextPartitionConfigurations().iterator();
+ Iterator i = factoryCfg.getStartupConfiguration().getPartitionConfigurations().iterator();
try
{
while ( i.hasNext() )
@@ -278,12 +278,12 @@
}
// add all attribute oids of index configs to a hashset
- Set<String> indices = systemCfg.getIndexedAttributes();
+ Set indices = systemCfg.getIndexedAttributes();
Set<String> indexOids = new HashSet<String>();
- OidRegistry registry = factoryCfg.getGlobalRegistries().getOidRegistry();
- for ( Iterator ii = indices.iterator(); ii.hasNext(); /**/ )
+ OidRegistry registry = factoryCfg.getRegistries().getOidRegistry();
+ for ( Object index : indices )
{
- indexOids.add( registry.getOid( ii.next().toString() ) );
+ indexOids.add( registry.getOid( index.toString() ) );
}
if ( ! indexOids.contains( Oid.ALIAS ) )
@@ -454,7 +454,7 @@
public boolean compare( LdapDN name, String oid, Object value ) throws NamingException
{
Partition partition = getBackend( name );
- AttributeTypeRegistry registry = factoryCfg.getGlobalRegistries().getAttributeTypeRegistry();
+ AttributeTypeRegistry registry = factoryCfg.getRegistries().getAttributeTypeRegistry();
// complain if we do not recognize the attribute being compared
if ( !registry.hasAttributeType( oid ) )
@@ -527,7 +527,11 @@
throw new ConfigurationException( "Duplicate partition suffix: " + key );
}
- partition.init( factoryCfg, config );
+ if ( ! partition.isInitialized() )
+ {
+ partition.init( factoryCfg, config );
+ }
+
partitions.put( partition.getSuffix().toString(), partition );
Attribute namingContexts = rootDSE.get( NAMINGCTXS_ATTR );
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/partition/Partition.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/partition/Partition.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/partition/Partition.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/partition/Partition.java Sun Dec 31 11:46:40 2006
@@ -184,7 +184,7 @@
* <a href="http://java.sun.com/j2se/1.4.2/docs/api/
* javax/naming/directory/SearchResult.html">SearchResult</a>.
*/
- NamingEnumeration search( LdapDN baseName, Map environment, ExprNode filter, SearchControls searchControls )
+ NamingEnumeration<SearchResult> search( LdapDN baseName, Map environment, ExprNode filter, SearchControls searchControls )
throws NamingException;
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/BTreePartition.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/BTreePartition.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/BTreePartition.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/BTreePartition.java Sun Dec 31 11:46:40 2006
@@ -39,9 +39,9 @@
import org.apache.directory.server.core.partition.Partition;
import org.apache.directory.server.core.partition.Oid;
import org.apache.directory.server.core.partition.impl.btree.gui.PartitionViewer;
-import org.apache.directory.server.core.schema.AttributeTypeRegistry;
-import org.apache.directory.server.core.schema.OidRegistry;
-import org.apache.directory.server.core.schema.Registries;
+import org.apache.directory.server.schema.registries.AttributeTypeRegistry;
+import org.apache.directory.server.schema.registries.OidRegistry;
+import org.apache.directory.server.schema.registries.Registries;
import org.apache.directory.shared.ldap.exception.LdapContextNotEmptyException;
import org.apache.directory.shared.ldap.exception.LdapNameNotFoundException;
import org.apache.directory.shared.ldap.filter.ExprNode;
@@ -63,13 +63,10 @@
{
private static final Logger log = LoggerFactory.getLogger( BTreePartition.class );
- /**
- * the search engine used to search the database
- */
+ /** the search engine used to search the database */
private SearchEngine searchEngine = null;
private Optimizer optimizer = new NoOpOptimizer();
- protected BTreePartitionConfiguration btpConfig;
protected AttributeTypeRegistry attributeTypeRegistry = null;
protected OidRegistry oidRegistry = null;
@@ -94,7 +91,22 @@
*
* @param registries the schema entity registries
*/
- public void setRegistries( Registries registries )
+ public void initRegistries( Registries registries )
+ {
+ initRegistries1( registries );
+ }
+
+
+ /**
+ * This should be called second after initializing the optimizer with
+ * initOptimizer0. This is the same as calling initRegistries()
+ * (initRegistries actually calls initRegistries1) except it is protected
+ * to hide the '1' at the end of the method name. The '1' indicates it
+ * is the 2nd thing that must be executed during initialization.
+ *
+ * @param registries the schema entity registries
+ */
+ protected void initRegistries1( Registries registries )
{
attributeTypeRegistry = registries.getAttributeTypeRegistry();
oidRegistry = registries.getOidRegistry();
@@ -103,19 +115,17 @@
this.searchEngine = new DefaultSearchEngine( this, evaluator, enumerator, optimizer );
}
-
- public void init( DirectoryServiceConfiguration factoryCfg, PartitionConfiguration cfg )
- throws NamingException
+
+ /**
+ * Use this method to initialize the indices. Only call this after
+ * the registries and the optimizer have been enabled. The '2' at the end
+ * shows this is the 3rd init method called in the init sequence.
+ *
+ * @param indices
+ * @throws NamingException
+ */
+ protected void initIndices2(Set indices ) throws NamingException
{
- this.btpConfig = BTreePartitionConfiguration.convert( cfg );
- if ( this.btpConfig.isOptimizerEnabled() )
- {
- optimizer = new DefaultOptimizer( this );
- }
-
- // Call this ONLY after trying to override the optimizer default above
- setRegistries( factoryCfg.getGlobalRegistries() );
-
Set<String> sysOidSet = new HashSet<String>();
sysOidSet.add( Oid.EXISTANCE );
sysOidSet.add( Oid.HIERARCHY );
@@ -128,7 +138,7 @@
// Used to calculate the system indices we must automatically add
Set<String> customAddedSystemIndices = new HashSet<String>();
- for ( Iterator ii = cfg.getIndexedAttributes().iterator(); ii.hasNext(); /**/ )
+ for ( Iterator ii = indices.iterator(); ii.hasNext(); /**/ )
{
/*
* NOTE
@@ -299,15 +309,54 @@
}
}
}
+ }
+
+ /**
+ * Called last (4th) to check if the suffix entry has been created on disk,
+ * and if not it is created.
+ *
+ * @param suffix
+ * @param entry
+ * @throws NamingException
+ */
+ protected void initSuffixEntry3( String suffix, Attributes entry ) throws NamingException
+ {
// add entry for context, if it does not exist
Attributes suffixOnDisk = getSuffixEntry();
if ( suffixOnDisk == null )
{
- LdapDN suffix = new LdapDN( cfg.getSuffix() );
- LdapDN normalizedSuffix = LdapDN.normalize( suffix, attributeTypeRegistry.getNormalizerMapping() );
- add( normalizedSuffix, cfg.getContextEntry() );
+ LdapDN dn = new LdapDN( suffix );
+ LdapDN normalizedSuffix = LdapDN.normalize( dn, attributeTypeRegistry.getNormalizerMapping() );
+ add( normalizedSuffix, entry );
}
+ }
+
+
+ /**
+ * Call this first in the init sequence to initialize the optimizer.
+ *
+ * @param cfg
+ */
+ protected void initOptimizer0( PartitionConfiguration cfg )
+ {
+ if ( cfg instanceof BTreePartitionConfiguration )
+ {
+ if ( ( ( BTreePartitionConfiguration ) cfg ).isOptimizerEnabled() )
+ {
+ optimizer = new DefaultOptimizer( this );
+ }
+ }
+ }
+
+
+ public void init( DirectoryServiceConfiguration factoryCfg, PartitionConfiguration cfg )
+ throws NamingException
+ {
+ initOptimizer0( cfg );
+ initRegistries1( factoryCfg.getRegistries() );
+ initIndices2( cfg.getIndexedAttributes() );
+ initSuffixEntry3( cfg.getSuffix(), cfg.getContextEntry() );
}
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/BTreeSearchResultEnumeration.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/BTreeSearchResultEnumeration.java?view=diff&rev=491471&r1=491470&r2=491471
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/BTreeSearchResultEnumeration.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/BTreeSearchResultEnumeration.java Sun Dec 31 11:46:40 2006
@@ -26,7 +26,7 @@
import javax.naming.directory.Attributes;
import org.apache.directory.server.core.enumeration.SearchResultEnumeration;
-import org.apache.directory.server.core.schema.AttributeTypeRegistry;
+import org.apache.directory.server.schema.registries.AttributeTypeRegistry;
import org.apache.directory.shared.ldap.message.LockableAttributesImpl;
import org.apache.directory.shared.ldap.schema.AttributeType;
import org.apache.directory.shared.ldap.schema.UsageEnum;