You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2006/11/02 19:26:47 UTC

svn commit: r470464 - in /directory/branches/apacheds-schema/apacheds/core: pom.xml src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java src/main/java/org/apache/directory/server/core/configuration/StartupConfiguration.java

Author: elecharny
Date: Thu Nov  2 10:26:46 2006
New Revision: 470464

URL: http://svn.apache.org/viewvc?view=rev&rev=470464
Log:
Applied Norval patch for dynamic schemas
Modified the pom.xml to reflect this change 

Modified:
    directory/branches/apacheds-schema/apacheds/core/pom.xml
    directory/branches/apacheds-schema/apacheds/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java
    directory/branches/apacheds-schema/apacheds/core/src/main/java/org/apache/directory/server/core/configuration/StartupConfiguration.java

Modified: directory/branches/apacheds-schema/apacheds/core/pom.xml
URL: http://svn.apache.org/viewvc/directory/branches/apacheds-schema/apacheds/core/pom.xml?view=diff&rev=470464&r1=470463&r2=470464
==============================================================================
--- directory/branches/apacheds-schema/apacheds/core/pom.xml (original)
+++ directory/branches/apacheds-schema/apacheds/core/pom.xml Thu Nov  2 10:26:46 2006
@@ -34,6 +34,11 @@
       <artifactId>apacheds-core-shared</artifactId>
       <version>${pom.version}</version>
     </dependency>
+    <dependency>
+      <groupId>org.apache.directory.server</groupId>
+      <artifactId>apacheds-core-plugin</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
   </dependencies>
   <build>
     <plugins>

Modified: directory/branches/apacheds-schema/apacheds/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java
URL: http://svn.apache.org/viewvc/directory/branches/apacheds-schema/apacheds/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java?view=diff&rev=470464&r1=470463&r2=470464
==============================================================================
--- directory/branches/apacheds-schema/apacheds/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java (original)
+++ directory/branches/apacheds-schema/apacheds/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java Thu Nov  2 10:26:46 2006
@@ -20,11 +20,7 @@
 package org.apache.directory.server.core;
 
 
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.HashSet;
+import java.util.*;
 
 import javax.naming.Context;
 import javax.naming.NamingException;
@@ -35,6 +31,7 @@
 import org.apache.directory.server.core.configuration.Configuration;
 import org.apache.directory.server.core.configuration.ConfigurationException;
 import org.apache.directory.server.core.configuration.StartupConfiguration;
+import org.apache.directory.server.core.configuration.SchemaLoader;
 import org.apache.directory.server.core.interceptor.InterceptorChain;
 import org.apache.directory.server.core.jndi.AbstractContextFactory;
 import org.apache.directory.server.core.jndi.DeadContext;
@@ -526,7 +523,8 @@
 
             partitionNexus.add(normName, attributes );
             AuthorizationService authzSrvc = ( AuthorizationService ) interceptorChain.get( "authorizationService" );
-            authzSrvc.cacheNewGroup( upName, normName, attributes );
+            if (authzSrvc != null)
+                authzSrvc.cacheNewGroup( upName, normName, attributes );
         }
 
         // -------------------------------------------------------------------
@@ -726,7 +724,7 @@
      *
      * @throws javax.naming.NamingException if there are problems along the way
      */
-    private void initialize() throws NamingException
+    protected void initialize() throws NamingException
     {
         if ( log.isDebugEnabled() )
         {
@@ -740,6 +738,16 @@
         BootstrapRegistries bootstrapRegistries = new BootstrapRegistries();
         BootstrapSchemaLoader loader = new BootstrapSchemaLoader();
         loader.load( startupConfiguration.getBootstrapSchemas(), bootstrapRegistries );
+        if (startupConfiguration.getSchemaLoaders() != null)
+        {
+            for (Iterator it = startupConfiguration.getSchemaLoaders().iterator(); it.hasNext();)
+            {
+                final SchemaLoader     schemaLoader;
+
+                schemaLoader = (SchemaLoader) it.next();
+                schemaLoader.loadSchemas(startupConfiguration, bootstrapRegistries);
+            }
+        }
 
         java.util.List errors = bootstrapRegistries.checkRefInteg();
         if ( !errors.isEmpty() )

Modified: directory/branches/apacheds-schema/apacheds/core/src/main/java/org/apache/directory/server/core/configuration/StartupConfiguration.java
URL: http://svn.apache.org/viewvc/directory/branches/apacheds-schema/apacheds/core/src/main/java/org/apache/directory/server/core/configuration/StartupConfiguration.java?view=diff&rev=470464&r1=470463&r2=470464
==============================================================================
--- directory/branches/apacheds-schema/apacheds/core/src/main/java/org/apache/directory/server/core/configuration/StartupConfiguration.java (original)
+++ directory/branches/apacheds-schema/apacheds/core/src/main/java/org/apache/directory/server/core/configuration/StartupConfiguration.java Thu Nov  2 10:26:46 2006
@@ -21,11 +21,7 @@
 
 
 import java.io.File;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
 
 import javax.naming.directory.Attributes;
 
@@ -42,14 +38,7 @@
 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.schema.bootstrap.*;
 import org.apache.directory.server.core.subtree.SubentryService;
 import org.apache.directory.server.core.trigger.TriggerService;
 import org.apache.directory.shared.ldap.ldif.Entry;
@@ -80,12 +69,12 @@
     private int maxTimeLimit = MAX_TIME_LIMIT_DEFAULT; // set to default value (milliseconds)
     private Set authenticatorConfigurations; // Set<AuthenticatorConfiguration>
     private List interceptorConfigurations; // Set<InterceptorConfiguration>
-    private PartitionConfiguration systemPartitionConfiguration; 
+    private PartitionConfiguration systemPartitionConfiguration;
+    private List schemaLoaders;
     private Set bootstrapSchemas; // Set<BootstrapSchema>
     private Set contextPartitionConfigurations = new HashSet(); // Set<ContextPartitionConfiguration>
     private List testEntries = new ArrayList(); // List<Attributes>
 
-
     /**
      * Creates a new instance with default settings.
      */
@@ -257,6 +246,20 @@
         this.authenticatorConfigurations = newSet;
     }
 
+    /**
+     *   An optional list of {@link SchemaLoader}s which can be specified to load schemas dynamically at server-startup.
+     *
+     * @return  The loader bean, if one has been configured.
+     */
+    public List getSchemaLoaders()
+    {
+        return schemaLoaders;
+    }
+
+    public void setSchemaLoaders(final List schemaLoaders)
+    {
+        this.schemaLoaders = schemaLoaders;
+    }
 
     /**
      * Returns {@link BootstrapSchema}s to load while bootstrapping.