You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ka...@apache.org on 2010/09/27 17:20:24 UTC

svn commit: r1001777 - in /directory/apacheds/trunk/server-config/src: main/java/org/apache/directory/server/config/ConfigPartitionReader.java test/java/org/apache/directory/server/config/ConfigPartitionReaderTest.java

Author: kayyagari
Date: Mon Sep 27 15:20:24 2010
New Revision: 1001777

URL: http://svn.apache.org/viewvc?rev=1001777&view=rev
Log:
o updated config reader to work with any sort of LDIF partition
o fixed an issue with loading disabled webapps
o updated test to use SingleFileLdifPartition

Modified:
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/ConfigPartitionReader.java
    directory/apacheds/trunk/server-config/src/test/java/org/apache/directory/server/config/ConfigPartitionReaderTest.java

Modified: directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/ConfigPartitionReader.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/ConfigPartitionReader.java?rev=1001777&r1=1001776&r2=1001777&view=diff
==============================================================================
--- directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/ConfigPartitionReader.java (original)
+++ directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/ConfigPartitionReader.java Mon Sep 27 15:20:24 2010
@@ -72,7 +72,7 @@ import org.apache.directory.server.core.
 import org.apache.directory.server.core.partition.Partition;
 import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex;
 import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition;
-import org.apache.directory.server.core.partition.ldif.LdifPartition;
+import org.apache.directory.server.core.partition.ldif.AbstractLdifPartition;
 import org.apache.directory.server.dhcp.service.DhcpService;
 import org.apache.directory.server.dhcp.service.StoreBasedDhcpService;
 import org.apache.directory.server.dhcp.store.DhcpStore;
@@ -115,7 +115,7 @@ import org.apache.directory.shared.ldap.
 import org.apache.directory.shared.ldap.schema.SchemaManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-;
+
 
 /**
  * A class used for reading the configuration present in a Partition
@@ -128,7 +128,7 @@ public class ConfigPartitionReader
     private static final Logger LOG = LoggerFactory.getLogger( ConfigPartitionReader.class );
 
     /** the partition which holds the configuration data */
-    private LdifPartition configPartition;
+    private AbstractLdifPartition configPartition;
 
     /** the search engine of the partition */
     private SearchEngine<Entry, Long> se;
@@ -162,8 +162,9 @@ public class ConfigPartitionReader
      * Creates a new instance of ConfigPartitionReader.
      *
      * @param configPartition the non null config partition
+     * @param partitionsDir the directory where all the partitions' data is stored
      */
-    public ConfigPartitionReader( LdifPartition configPartition )
+    public ConfigPartitionReader( AbstractLdifPartition configPartition, File partitionsDir )
     {
         if ( configPartition == null )
         {
@@ -178,7 +179,7 @@ public class ConfigPartitionReader
         this.configPartition = configPartition;
         se = configPartition.getSearchEngine();
         this.schemaManager = configPartition.getSchemaManager();
-        workDir = configPartition.getPartitionDir().getParentFile();
+        this.workDir = partitionsDir;
         
         // setup ObjectClass attribute type value
         OBJECT_CLASS_AT = schemaManager.getAttributeType( SchemaConstants.OBJECT_CLASS_AT );
@@ -1418,6 +1419,11 @@ public class ConfigPartitionReader
                 .get();
             Entry webAppEntry = configPartition.lookup( forwardEntry.getId() );
 
+            if ( ! isEnabled( webAppEntry ) )
+            {
+                continue;
+            }
+            
             WebApp app = new WebApp();
             app.setWarFile( getString( ConfigSchemaConstants.ADS_HTTP_WARFILE, webAppEntry ) );
 

Modified: directory/apacheds/trunk/server-config/src/test/java/org/apache/directory/server/config/ConfigPartitionReaderTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-config/src/test/java/org/apache/directory/server/config/ConfigPartitionReaderTest.java?rev=1001777&r1=1001776&r2=1001777&view=diff
==============================================================================
--- directory/apacheds/trunk/server-config/src/test/java/org/apache/directory/server/config/ConfigPartitionReaderTest.java (original)
+++ directory/apacheds/trunk/server-config/src/test/java/org/apache/directory/server/config/ConfigPartitionReaderTest.java Mon Sep 27 15:20:24 2010
@@ -32,6 +32,7 @@ import org.apache.directory.junit.tools.
 import org.apache.directory.junit.tools.ConcurrentJunitRunner;
 import org.apache.directory.server.core.DirectoryService;
 import org.apache.directory.server.core.partition.ldif.LdifPartition;
+import org.apache.directory.server.core.partition.ldif.SingleFileLdifPartition;
 import org.apache.directory.server.core.schema.SchemaPartition;
 import org.apache.directory.server.ldap.LdapServer;
 import org.apache.directory.server.protocol.shared.transport.Transport;
@@ -101,18 +102,19 @@ public class ConfigPartitionReaderTest
             throw new Exception( "Schema load failed : " + LdapExceptionUtils.printErrors( errors ) );
         }
 
-        LdifConfigExtractor.extract( workDir, true );
+        File configDir = new File( workDir, "config" ); // could be any directory, cause the config is now in a single file
+        
+        String configFile = LdifConfigExtractor.extractSingleFileConfig( configDir, true );
 
-        LdifPartition configPartition = new LdifPartition();
+        SingleFileLdifPartition configPartition = new SingleFileLdifPartition( configFile );
         configPartition.setId( "config" );
         configPartition.setSuffix( new DN( "ou=config" ) );
         configPartition.setSchemaManager( schemaManager );
-        configPartition.setWorkingDirectory( workingDirectory + "/config" );
-        configPartition.setPartitionDir( new File( configPartition.getWorkingDirectory() ) );
-
+        
         configPartition.initialize();
-
-        ConfigPartitionReader cpReader = new ConfigPartitionReader( configPartition );
+        
+        ConfigPartitionReader cpReader = new ConfigPartitionReader( configPartition, workDir );
+        
         dirService = cpReader.createDirectoryService();
 
         SchemaPartition schemaPartition = dirService.getSchemaService().getSchemaPartition();