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 2010/10/14 03:49:39 UTC

svn commit: r1022351 [1/2] - in /directory/apacheds/trunk/server-config/src/main: java/org/apache/directory/server/config/ java/org/apache/directory/server/config/beans/ resources/ resources/config/ou=config/ou=servers/ads-serverid=ldapserver/ou=extend...

Author: elecharny
Date: Thu Oct 14 01:49:38 2010
New Revision: 1022351

URL: http://svn.apache.org/viewvc?rev=1022351&view=rev
Log:
o Added all the missing beans, except the replication beans
o Fixed the config reader accordingly to the added beans
o Modified the config ldif

Added:
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/AdsIndexBean.java
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/AdsServerBean.java
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/BaseAdsBean.java
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/CatalogBasedServerBean.java
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/ChangePasswordServerBean.java
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/HttpServerBean.java
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/HttpWebAppBean.java
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/LdapServerBean.java
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/LdapServerExtendedOpHandlerBean.java
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/LdapServerSaslMechanisHandlerBean.java
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/PartitionBean.java
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/ReplConsumerBean.java
Removed:
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/BTreePartitionBean.java
Modified:
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/ConfigPartitionReader.java
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/ChangeLogBean.java
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/DhcpServerBean.java
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/DirectoryServiceBean.java
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/DnsServerBean.java
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/InterceptorBean.java
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/JdbmIndexBean.java
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/JdbmPartitionBean.java
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/JournalBean.java
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/KdcServerBean.java
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/NtpServerBean.java
    directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/TransportBean.java
    directory/apacheds/trunk/server-config/src/main/resources/config.ldif
    directory/apacheds/trunk/server-config/src/main/resources/config/ou=config/ou=servers/ads-serverid=ldapserver/ou=extendedoperatiohandlers/ads-id=gracefulshutdownhandler.ldif
    directory/apacheds/trunk/server-config/src/main/resources/config/ou=config/ou=servers/ads-serverid=ldapserver/ou=extendedoperatiohandlers/ads-id=starttlshandler.ldif
    directory/apacheds/trunk/server-config/src/main/resources/config/ou=config/ou=servers/ads-serverid=ldapserver/ou=extendedoperatiohandlers/ads-id=storedprochandler.ldif

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=1022351&r1=1022350&r2=1022351&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 Thu Oct 14 01:49:38 2010
@@ -57,7 +57,6 @@ import java.util.TreeSet;
 import javax.naming.directory.SearchControls;
 
 import org.apache.directory.server.changepw.ChangePasswordServer;
-import org.apache.directory.server.config.beans.BTreePartitionBean;
 import org.apache.directory.server.config.beans.ChangeLogBean;
 import org.apache.directory.server.config.beans.DnsServerBean;
 import org.apache.directory.server.config.beans.InterceptorBean;
@@ -66,6 +65,7 @@ import org.apache.directory.server.confi
 import org.apache.directory.server.config.beans.JournalBean;
 import org.apache.directory.server.config.beans.KdcServerBean;
 import org.apache.directory.server.config.beans.NtpServerBean;
+import org.apache.directory.server.config.beans.PartitionBean;
 import org.apache.directory.server.config.beans.TcpTransportBean;
 import org.apache.directory.server.config.beans.TransportBean;
 import org.apache.directory.server.config.beans.UdpTransportBean;
@@ -225,7 +225,7 @@ public class ConfigPartitionReader
             .get();
         cursor.close();
 
-        ClonedServerEntry ldapServerEntry = configPartition.lookup( forwardEntry.getId() );
+        Entry ldapServerEntry = configPartition.lookup( forwardEntry.getId() );
         LOG.debug( "LDAP Server Entry {}", ldapServerEntry );
 
         if ( !isEnabled( ldapServerEntry ) )
@@ -249,7 +249,7 @@ public class ConfigPartitionReader
                 
                 String fqcn = null;
                 
-                if( replProvImplAttr != null )
+                if ( replProvImplAttr != null )
                 {
                     fqcn = replProvImplAttr.getString();
                 }
@@ -375,7 +375,7 @@ public class ConfigPartitionReader
         KdcServerBean kdcServerBean = new KdcServerBean();
 
         // The serviceID
-        kdcServerBean.setServiceId( getString( ConfigSchemaConstants.ADS_SERVER_ID, kdcEntry ) );
+        kdcServerBean.setServerId( getString( ConfigSchemaConstants.ADS_SERVER_ID, kdcEntry ) );
 
         TransportBean[] transports = readTransports( kdcEntry.getDn() );
         kdcServerBean.setTransports( transports );
@@ -385,7 +385,7 @@ public class ConfigPartitionReader
 
         if ( clockSkewAttr != null )
         {
-            kdcServerBean.setAllowableClockSkew( Long.parseLong( clockSkewAttr.getString() ) );
+            kdcServerBean.setKrbAllowableClockSkew( Long.parseLong( clockSkewAttr.getString() ) );
         }
 
         EntryAttribute encryptionTypeAttr = kdcEntry.get( ConfigSchemaConstants.ADS_KRB_ENCRYPTION_TYPES );
@@ -400,91 +400,91 @@ public class ConfigPartitionReader
                 encryptionTypes[count++] = EncryptionType.getByName( value.getString() );
             }
 
-            kdcServerBean.setEncryptionTypes( encryptionTypes );
+            kdcServerBean.setKrbEncryptionTypes( encryptionTypes );
         }
 
         EntryAttribute emptyAddrAttr = kdcEntry.get( ConfigSchemaConstants.ADS_KRB_EMPTY_ADDRESSES_ALLOWED );
 
         if ( emptyAddrAttr != null )
         {
-            kdcServerBean.setEmptyAddressesAllowed( Boolean.parseBoolean( emptyAddrAttr.getString() ) );
+            kdcServerBean.setKrbEmptyAddressesAllowed( Boolean.parseBoolean( emptyAddrAttr.getString() ) );
         }
 
         EntryAttribute fwdAllowedAttr = kdcEntry.get( ConfigSchemaConstants.ADS_KRB_FORWARDABLE_ALLOWED );
 
         if ( fwdAllowedAttr != null )
         {
-            kdcServerBean.setForwardableAllowed( Boolean.parseBoolean( fwdAllowedAttr.getString() ) );
+            kdcServerBean.setKrbForwardableAllowed( Boolean.parseBoolean( fwdAllowedAttr.getString() ) );
         }
 
         EntryAttribute paEncTmstpAttr = kdcEntry.get( ConfigSchemaConstants.ADS_KRB_PAENC_TIMESTAMP_REQUIRED );
 
         if ( paEncTmstpAttr != null )
         {
-            kdcServerBean.setPaEncTimestampRequired( Boolean.parseBoolean( paEncTmstpAttr.getString() ) );
+            kdcServerBean.setKrbPaEncTimestampRequired( Boolean.parseBoolean( paEncTmstpAttr.getString() ) );
         }
 
         EntryAttribute posdtAllowedAttr = kdcEntry.get( ConfigSchemaConstants.ADS_KRB_POSTDATED_ALLOWED );
 
         if ( posdtAllowedAttr != null )
         {
-            kdcServerBean.setPostdatedAllowed( Boolean.parseBoolean( posdtAllowedAttr.getString() ) );
+            kdcServerBean.setKrbPostdatedAllowed( Boolean.parseBoolean( posdtAllowedAttr.getString() ) );
         }
 
         EntryAttribute prxyAllowedAttr = kdcEntry.get( ConfigSchemaConstants.ADS_KRB_PROXIABLE_ALLOWED );
 
         if ( prxyAllowedAttr != null )
         {
-            kdcServerBean.setProxiableAllowed( Boolean.parseBoolean( prxyAllowedAttr.getString() ) );
+            kdcServerBean.setKrbProxiableAllowed( Boolean.parseBoolean( prxyAllowedAttr.getString() ) );
         }
 
         EntryAttribute rnwAllowedAttr = kdcEntry.get( ConfigSchemaConstants.ADS_KRB_RENEWABLE_ALLOWED );
 
         if ( rnwAllowedAttr != null )
         {
-            kdcServerBean.setRenewableAllowed( Boolean.parseBoolean( rnwAllowedAttr.getString() ) );
+            kdcServerBean.setKrbRenewableAllowed( Boolean.parseBoolean( rnwAllowedAttr.getString() ) );
         }
 
         EntryAttribute kdcPrncplAttr = kdcEntry.get( ConfigSchemaConstants.ADS_KRB_KDC_PRINCIPAL );
 
         if ( kdcPrncplAttr != null )
         {
-            kdcServerBean.setKdcPrincipal( kdcPrncplAttr.getString() );
+            kdcServerBean.setKrbKdcPrincipal( kdcPrncplAttr.getString() );
         }
 
         EntryAttribute maxRnwLfTimeAttr = kdcEntry.get( ConfigSchemaConstants.ADS_KRB_MAXIMUM_RENEWABLE_LIFETIME );
 
         if ( maxRnwLfTimeAttr != null )
         {
-            kdcServerBean.setMaximumRenewableLifetime( Long.parseLong( maxRnwLfTimeAttr.getString() ) );
+            kdcServerBean.setKrbMaximumRenewableLifetime( Long.parseLong( maxRnwLfTimeAttr.getString() ) );
         }
 
         EntryAttribute maxTcktLfTimeAttr = kdcEntry.get( ConfigSchemaConstants.ADS_KRB_MAXIMUM_TICKET_LIFETIME );
 
         if ( maxTcktLfTimeAttr != null )
         {
-            kdcServerBean.setMaximumTicketLifetime( Long.parseLong( maxTcktLfTimeAttr.getString() ) );
+            kdcServerBean.setKrbMaximumTicketLifetime( Long.parseLong( maxTcktLfTimeAttr.getString() ) );
         }
 
         EntryAttribute prmRealmAttr = kdcEntry.get( ConfigSchemaConstants.ADS_KRB_PRIMARY_REALM );
 
         if ( prmRealmAttr != null )
         {
-            kdcServerBean.setPrimaryRealm( prmRealmAttr.getString() );
+            kdcServerBean.setKrbPrimaryRealm( prmRealmAttr.getString() );
         }
 
         EntryAttribute bdyCkhsmVerifyAttr = kdcEntry.get( ConfigSchemaConstants.ADS_KRB_BODY_CHECKSUM_VERIFIED );
 
         if ( bdyCkhsmVerifyAttr != null )
         {
-            kdcServerBean.setBodyChecksumVerified( Boolean.parseBoolean( bdyCkhsmVerifyAttr.getString() ) );
+            kdcServerBean.setKrbBodyChecksumVerified( Boolean.parseBoolean( bdyCkhsmVerifyAttr.getString() ) );
         }
 
         EntryAttribute searchBaseAttr = kdcEntry.get( ConfigSchemaConstants.ADS_SEARCH_BASE );
         
         if( searchBaseAttr != null )
         {
-            kdcServerBean.setSearchBaseDn( searchBaseAttr.getString() );
+            kdcServerBean.setSearchBaseDN( searchBaseAttr.getString() );
         }
         
         return kdcServerBean;
@@ -515,21 +515,21 @@ public class ConfigPartitionReader
             kdcServer.addTransports( transport );
         }
         
-        kdcServer.setServiceId( kdcServerBean.getServiceId() );
-        kdcServer.setAllowableClockSkew( kdcServerBean.getAllowableClockSkew() );
-        kdcServer.setEncryptionTypes( kdcServerBean.getEncryptionTypes() );
-        kdcServer.setEmptyAddressesAllowed( kdcServerBean.isEmptyAddressesAllowed() );
-        kdcServer.setForwardableAllowed( kdcServerBean.isForwardableAllowed() );
-        kdcServer.setPaEncTimestampRequired( kdcServerBean.isPaEncTimestampRequired() );
-        kdcServer.setPostdatedAllowed( kdcServerBean.isPostdatedAllowed() );
-        kdcServer.setProxiableAllowed( kdcServerBean.isProxiableAllowed() );
-        kdcServer.setRenewableAllowed( kdcServerBean.isRenewableAllowed() );
-        kdcServer.setKdcPrincipal( kdcServerBean.getServicePrincipal().getName() );
-        kdcServer.setMaximumRenewableLifetime( kdcServerBean.getMaximumRenewableLifetime() );
-        kdcServer.setMaximumTicketLifetime( kdcServerBean.getMaximumTicketLifetime() );
-        kdcServer.setPrimaryRealm( kdcServerBean.getPrimaryRealm() );
-        kdcServer.setBodyChecksumVerified( kdcServerBean.isBodyChecksumVerified() );
-        kdcServer.setSearchBaseDn( kdcServerBean.getSearchBaseDn() );
+        kdcServer.setServiceId( kdcServerBean.getServerId() );
+        kdcServer.setAllowableClockSkew( kdcServerBean.getKrbAllowableClockSkew() );
+        kdcServer.setEncryptionTypes( kdcServerBean.getKrbEncryptionTypes() );
+        kdcServer.setEmptyAddressesAllowed( kdcServerBean.isKrbEmptyAddressesAllowed() );
+        kdcServer.setForwardableAllowed( kdcServerBean.isKrbForwardableAllowed() );
+        kdcServer.setPaEncTimestampRequired( kdcServerBean.isKrbPaEncTimestampRequired() );
+        kdcServer.setPostdatedAllowed( kdcServerBean.isKrbPostdatedAllowed() );
+        kdcServer.setProxiableAllowed( kdcServerBean.isKrbProxiableAllowed() );
+        kdcServer.setRenewableAllowed( kdcServerBean.isKrbRenewableAllowed() );
+        kdcServer.setKdcPrincipal( kdcServerBean.getKrbKdcPrincipal().getName() );
+        kdcServer.setMaximumRenewableLifetime( kdcServerBean.getKrbMaximumRenewableLifetime() );
+        kdcServer.setMaximumTicketLifetime( kdcServerBean.getKrbMaximumTicketLifetime() );
+        kdcServer.setPrimaryRealm( kdcServerBean.getKrbPrimaryRealm() );
+        kdcServer.setBodyChecksumVerified( kdcServerBean.isKrbBodyChecksumVerified() );
+        kdcServer.setSearchBaseDn( kdcServerBean.getSearchBaseDN() );
         
         return kdcServer;
     }
@@ -571,7 +571,7 @@ public class ConfigPartitionReader
 
         DnsServerBean dnsServerBean = new DnsServerBean();
 
-        dnsServerBean.setServiceId( getString( ConfigSchemaConstants.ADS_SERVER_ID, dnsEntry ) );
+        dnsServerBean.setServerId( getString( ConfigSchemaConstants.ADS_SERVER_ID, dnsEntry ) );
 
         TransportBean[] transports = readTransports( dnsEntry.getDn() );
         dnsServerBean.setTransports( transports );
@@ -604,7 +604,7 @@ public class ConfigPartitionReader
             dnsServer.addTransports( transport );
         }
         
-        dnsServer.setServiceId( dnsServerBean.getServiceId() );
+        dnsServer.setServiceId( dnsServerBean.getServerId() );
 
 
         return dnsServer;
@@ -688,7 +688,7 @@ public class ConfigPartitionReader
 
         NtpServerBean ntpServerBean = new NtpServerBean();
 
-        ntpServerBean.setServiceId( getString( ConfigSchemaConstants.ADS_SERVER_ID, ntpEntry ) );
+        ntpServerBean.setServerId( getString( ConfigSchemaConstants.ADS_SERVER_ID, ntpEntry ) );
 
         TransportBean[] transports = readTransports( ntpEntry.getDn() );
         ntpServerBean.setTransports( transports );
@@ -721,7 +721,7 @@ public class ConfigPartitionReader
             ntpServer.addTransports( transport );
         }
         
-        ntpServer.setServiceId( ntpServerBean.getServiceId() );
+        ntpServer.setServiceId( ntpServerBean.getServerId() );
         
         return ntpServer;
     }
@@ -858,7 +858,7 @@ public class ConfigPartitionReader
             .get();
         cursor.close();
 
-        ClonedServerEntry httpEntry = configPartition.lookup( forwardEntry.getId() );
+        Entry httpEntry = configPartition.lookup( forwardEntry.getId() );
         LOG.debug( "HTTP server entry {}", httpEntry );
 
         if ( !isEnabled( httpEntry ) )
@@ -1352,9 +1352,9 @@ public class ConfigPartitionReader
 
             InterceptorBean interceptorBean = new InterceptorBean();
             
-            interceptorBean.setId( id );
+            interceptorBean.setInterceptorId( id );
             interceptorBean.setFqcn( fqcn );
-            interceptorBean.setOrder( order );
+            interceptorBean.setInterceptorOrder( order );
             
             interceptorBeans.add( interceptorBean );
         }
@@ -1382,8 +1382,8 @@ public class ConfigPartitionReader
         {
             try
             {
-                LOG.debug( "loading the interceptor class {} and instantiating", interceptorBean.getFqcn() );
-                Interceptor ic = ( Interceptor ) Class.forName( interceptorBean.getFqcn() ).newInstance();
+                LOG.debug( "loading the interceptor class {} and instantiating", interceptorBean.getInterceptorClassName() );
+                Interceptor ic = ( Interceptor ) Class.forName( interceptorBean.getInterceptorClassName() ).newInstance();
                 interceptors.add( ic );
             }
             catch ( Exception e )
@@ -1403,7 +1403,7 @@ public class ConfigPartitionReader
      * @return A map of partitions 
      * @throws Exception If we cannot read some partition
      */
-    private Map<String, BTreePartitionBean> readPartitions( DN dirServiceDN ) throws Exception
+    private Map<String, PartitionBean> readPartitions( DN dirServiceDN ) throws Exception
     {
         AttributeType adsPartitionIdeAt = schemaManager.getAttributeType( ConfigSchemaConstants.ADS_PARTITION_ID );
         PresenceNode filter = new PresenceNode( adsPartitionIdeAt );
@@ -1412,7 +1412,7 @@ public class ConfigPartitionReader
         IndexCursor<Long, Entry, Long> cursor = se.cursor( dirServiceDN, AliasDerefMode.NEVER_DEREF_ALIASES,
             filter, controls );
 
-        Map<String, BTreePartitionBean> partitionBeans = new HashMap<String, BTreePartitionBean>();
+        Map<String, PartitionBean> partitionBeans = new HashMap<String, PartitionBean>();
 
         while ( cursor.next() )
         {
@@ -1430,7 +1430,7 @@ public class ConfigPartitionReader
             if ( ocAttr.contains( ConfigSchemaConstants.ADS_JDBMPARTITION ) )
             {
                 JdbmPartitionBean jdbmPartitionBean = readJdbmPartition( partitionEntry );
-                partitionBeans.put( jdbmPartitionBean.getId(), jdbmPartitionBean );
+                partitionBeans.put( jdbmPartitionBean.getPartitionId(), jdbmPartitionBean );
             }
             else
             {
@@ -1453,12 +1453,12 @@ public class ConfigPartitionReader
      */
     public Map<String, Partition> createPartitions( DN dirServiceDN ) throws Exception
     {
-        Map<String, BTreePartitionBean> partitionBeans = readPartitions( dirServiceDN );
+        Map<String, PartitionBean> partitionBeans = readPartitions( dirServiceDN );
         Map<String, Partition> partitions = new HashMap<String, Partition>( partitionBeans.size() );
         
         for ( String key : partitionBeans.keySet() )
         {
-            BTreePartitionBean partitionBean = partitionBeans.get( key );
+            PartitionBean partitionBean = partitionBeans.get( key );
             
             JdbmPartition partition = createJdbmPartition( (JdbmPartitionBean)partitionBean );
             partitions.put( key, partition );
@@ -1479,31 +1479,31 @@ public class ConfigPartitionReader
     {
         JdbmPartitionBean jdbmPartitionBean = new JdbmPartitionBean();
         
-        jdbmPartitionBean.setId( getString( ConfigSchemaConstants.ADS_PARTITION_ID, partitionEntry ) );
-        jdbmPartitionBean.setPartitionDir( workDir + File.separator + jdbmPartitionBean.getId() );
+        jdbmPartitionBean.setPartitionId( getString( ConfigSchemaConstants.ADS_PARTITION_ID, partitionEntry ) );
+        //jdbmPartitionBean.setPartitionDir( workDir + File.separator + jdbmPartitionBean.getPartitionId() );
 
         DN systemDn = new DN( getString( ConfigSchemaConstants.ADS_PARTITION_SUFFIX, partitionEntry ), schemaManager );
-        jdbmPartitionBean.setSuffix( systemDn );
+        jdbmPartitionBean.setPartitionSuffix( systemDn );
 
         EntryAttribute cacheAttr = partitionEntry.get( ConfigSchemaConstants.ADS_PARTITION_CACHE_SIZE );
 
         if ( cacheAttr != null )
         {
-            jdbmPartitionBean.setCacheSize( Integer.parseInt( cacheAttr.getString() ) );
+            jdbmPartitionBean.setPartitionCacheSize( Integer.parseInt( cacheAttr.getString() ) );
         }
 
         EntryAttribute optimizerAttr = partitionEntry.get( ConfigSchemaConstants.ADS_JDBM_PARTITION_OPTIMIZER_ENABLED );
 
         if ( optimizerAttr != null )
         {
-            jdbmPartitionBean.setOptimizerEnabled( Boolean.parseBoolean( optimizerAttr.getString() ) );
+            jdbmPartitionBean.setJdbmPartitionOptimizerEnabled( Boolean.parseBoolean( optimizerAttr.getString() ) );
         }
 
         EntryAttribute syncAttr = partitionEntry.get( ConfigSchemaConstants.ADS_PARTITION_SYNCONWRITE );
 
         if ( syncAttr != null )
         {
-            jdbmPartitionBean.setSyncOnWrite( Boolean.parseBoolean( syncAttr.getString() ) );
+            jdbmPartitionBean.setPartitionSyncOnWrite( Boolean.parseBoolean( syncAttr.getString() ) );
         }
 
         Set<JdbmIndexBean<String, Entry>> indexedAttributes = readIndexes( partitionEntry.getDn() );
@@ -1526,13 +1526,13 @@ public class ConfigPartitionReader
         JdbmPartitionBean jdbmPartitionBean = readJdbmPartition( partitionEntry );
         
         partition.setSchemaManager( schemaManager );
-        partition.setCacheSize( jdbmPartitionBean.getCacheSize() );
-        partition.setId( jdbmPartitionBean.getId() );
-        partition.setOptimizerEnabled( jdbmPartitionBean.isOptimizerEnabled() );
-        partition.setPartitionDir( new File( jdbmPartitionBean.getPartitionDir() ) );
-        partition.setSuffix( jdbmPartitionBean.getSuffix() );
-        partition.setSyncOnWrite( jdbmPartitionBean.isSyncOnWrite() );
-        partition.setIndexedAttributes( createIndexes( jdbmPartitionBean.getIndexedAttributes() ) );
+        partition.setCacheSize( jdbmPartitionBean.getPartitionCacheSize() );
+        partition.setId( jdbmPartitionBean.getPartitionId() );
+        partition.setOptimizerEnabled( jdbmPartitionBean.isJdbmPartitionOptimizerEnabled() );
+        partition.setPartitionDir( new File( workDir + File.separator + jdbmPartitionBean.getPartitionId() ) );
+        partition.setSuffix( jdbmPartitionBean.getPartitionSuffix() );
+        partition.setSyncOnWrite( jdbmPartitionBean.isPartitionSyncOnWrite() );
+        partition.setIndexedAttributes( createIndexes( jdbmPartitionBean.getJdbmIndexes() ) );
 
         return partition;
     }
@@ -1550,13 +1550,13 @@ public class ConfigPartitionReader
         JdbmPartition partition = new JdbmPartition();
         
         partition.setSchemaManager( schemaManager );
-        partition.setCacheSize( jdbmPartitionBean.getCacheSize() );
-        partition.setId( jdbmPartitionBean.getId() );
-        partition.setOptimizerEnabled( jdbmPartitionBean.isOptimizerEnabled() );
-        partition.setPartitionDir( new File( jdbmPartitionBean.getPartitionDir() ) );
-        partition.setSuffix( jdbmPartitionBean.getSuffix() );
-        partition.setSyncOnWrite( jdbmPartitionBean.isSyncOnWrite() );
-        partition.setIndexedAttributes( createIndexes( jdbmPartitionBean.getIndexedAttributes() ) );
+        partition.setCacheSize( jdbmPartitionBean.getPartitionCacheSize() );
+        partition.setId( jdbmPartitionBean.getPartitionId() );
+        partition.setOptimizerEnabled( jdbmPartitionBean.isJdbmPartitionOptimizerEnabled() );
+        partition.setPartitionDir( new File( workDir + File.separator + jdbmPartitionBean.getPartitionId() ) );
+        partition.setSuffix( jdbmPartitionBean.getPartitionSuffix() );
+        partition.setSyncOnWrite( jdbmPartitionBean.isPartitionSyncOnWrite() );
+        partition.setIndexedAttributes( createIndexes( jdbmPartitionBean.getJdbmIndexes() ) );
 
         return partition;
     }
@@ -1638,19 +1638,19 @@ public class ConfigPartitionReader
     public JdbmIndexBean<String, Entry> readJdbmIndex( Entry indexEntry ) throws Exception
     {
         JdbmIndexBean<String, Entry> index = new JdbmIndexBean<String, Entry>();
-        index.setAttributeId( getString( ConfigSchemaConstants.ADS_INDEX_ATTRIBUTE_ID, indexEntry ) );
+        index.setIndexAttributeId( getString( ConfigSchemaConstants.ADS_INDEX_ATTRIBUTE_ID, indexEntry ) );
         EntryAttribute cacheAttr = indexEntry.get( ConfigSchemaConstants.ADS_INDEX_CACHESIZE );
 
         if ( cacheAttr != null )
         {
-            index.setCacheSize( Integer.parseInt( cacheAttr.getString() ) );
+            index.setIndexCacheSize( Integer.parseInt( cacheAttr.getString() ) );
         }
 
         EntryAttribute numDupAttr = indexEntry.get( ConfigSchemaConstants.ADS_INDEX_NUM_DUP_LIMIT );
 
         if ( numDupAttr != null )
         {
-            index.setNumDupLimit( Integer.parseInt( numDupAttr.getString() ) );
+            index.setIndexNumDupLimit( Integer.parseInt( numDupAttr.getString() ) );
         }
 
         return index;
@@ -1669,9 +1669,9 @@ public class ConfigPartitionReader
         JdbmIndex<String, Entry> index = new JdbmIndex<String, Entry>();
         JdbmIndexBean<String, Entry> indexBean = readJdbmIndex( indexEntry );
         
-        index.setAttributeId( indexBean.getAttributeId() );
-        index.setCacheSize( indexBean.getCacheSize() );
-        index.setNumDupLimit( indexBean.getNumDupLimit() );
+        index.setAttributeId( indexBean.getIndexAttributeId() );
+        index.setCacheSize( indexBean.getIndexCacheSize() );
+        index.setNumDupLimit( indexBean.getIndexNumDupLimit() );
         
         return index;
     }
@@ -1688,9 +1688,9 @@ public class ConfigPartitionReader
     {
         JdbmIndex<String, Entry> index = new JdbmIndex<String, Entry>();
         
-        index.setAttributeId( indexBean.getAttributeId() );
-        index.setCacheSize( indexBean.getCacheSize() );
-        index.setNumDupLimit( indexBean.getNumDupLimit() );
+        index.setAttributeId( indexBean.getIndexAttributeId() );
+        index.setCacheSize( indexBean.getIndexCacheSize() );
+        index.setNumDupLimit( indexBean.getIndexNumDupLimit() );
         
         return index;
     }
@@ -1764,37 +1764,37 @@ public class ConfigPartitionReader
             transportBean = new UdpTransportBean();
         }
 
-        transportBean.setPort( getInt( ConfigSchemaConstants.ADS_SYSTEM_PORT, transportEntry ) );
+        transportBean.setSystemPort( getInt( ConfigSchemaConstants.ADS_SYSTEM_PORT, transportEntry ) );
         EntryAttribute addressAttr = transportEntry.get( ConfigSchemaConstants.ADS_TRANSPORT_ADDRESS );
 
         if ( addressAttr != null )
         {
-            transportBean.setAddress( addressAttr.getString() );
+            transportBean.setTransportAddress( addressAttr.getString() );
         }
         else
         {
-            transportBean.setAddress( "0.0.0.0" );
+            transportBean.setTransportAddress( "0.0.0.0" );
         }
 
         EntryAttribute backlogAttr = transportEntry.get( ConfigSchemaConstants.ADS_TRANSPORT_BACKLOG );
 
         if ( backlogAttr != null )
         {
-            transportBean.setBackLog( Integer.parseInt( backlogAttr.getString() ) );
+            transportBean.setTransportBackLog( Integer.parseInt( backlogAttr.getString() ) );
         }
 
         EntryAttribute sslAttr = transportEntry.get( ConfigSchemaConstants.ADS_TRANSPORT_ENABLE_SSL );
 
         if ( sslAttr != null )
         {
-            transportBean.setEnableSSL( Boolean.parseBoolean( sslAttr.getString() ) );
+            transportBean.setTransportEnableSSL( Boolean.parseBoolean( sslAttr.getString() ) );
         }
 
         EntryAttribute nbThreadsAttr = transportEntry.get( ConfigSchemaConstants.ADS_TRANSPORT_NBTHREADS );
 
         if ( nbThreadsAttr != null )
         {
-            transportBean.setNbThreads( Integer.parseInt( nbThreadsAttr.getString() ) );
+            transportBean.setTransportNbThreads( Integer.parseInt( nbThreadsAttr.getString() ) );
         }
 
         return transportBean;
@@ -1821,11 +1821,11 @@ public class ConfigPartitionReader
             transport = new UdpTransport();
         }
 
-        transport.setPort( transportBean.getPort() );
-        transport.setAddress( transportBean.getAddress() );
-        transport.setBackLog( transportBean.getBackLog() );
-        transport.setEnableSSL( transportBean.isSSLEnabled() );
-        transport.setNbThreads( transportBean.getNbThreads() );
+        transport.setPort( transportBean.getSystemPort() );
+        transport.setAddress( transportBean.getTransportAddress() );
+        transport.setBackLog( transportBean.getTransportBackLog() );
+        transport.setEnableSSL( transportBean.isTransportEnableSSL() );
+        transport.setNbThreads( transportBean.getTransportNbThreads() );
 
         return transport;
     }
@@ -1856,7 +1856,7 @@ public class ConfigPartitionReader
 
         if ( clExpAttr != null )
         {
-            changeLogBean.setExposed( Boolean.parseBoolean( clExpAttr.getString() ) );
+            changeLogBean.setChangeLogExposed( Boolean.parseBoolean( clExpAttr.getString() ) );
         }
 
         return changeLogBean;
@@ -1876,7 +1876,7 @@ public class ConfigPartitionReader
         
         ChangeLog changeLog = new DefaultChangeLog();
         changeLog.setEnabled( changeLogBean.isEnabled() );
-        changeLog.setExposed( changeLogBean.isExposed() );
+        changeLog.setExposed( changeLogBean.isChangeLogExposed() );
 
         return changeLog;
     }
@@ -1896,20 +1896,20 @@ public class ConfigPartitionReader
         long id = configPartition.getEntryId( journalDN );
         Entry entry = configPartition.lookup( id );
         
-        journalBean.setFileName( entry.get( ConfigSchemaConstants.ADS_JOURNAL_FILENAME ).getString() );
+        journalBean.setJournalFileName( entry.get( ConfigSchemaConstants.ADS_JOURNAL_FILENAME ).getString() );
 
         EntryAttribute workingDirAttr = entry.get( ConfigSchemaConstants.ADS_JOURNAL_WORKINGDIR );
 
         if ( workingDirAttr != null )
         {
-            journalBean.setWorkingDir( workingDirAttr.getString() );
+            journalBean.setJournalWorkingDir( workingDirAttr.getString() );
         }
         
         EntryAttribute rotationAttr = entry.get( ConfigSchemaConstants.ADS_JOURNAL_ROTATION );
 
         if ( rotationAttr != null )
         {
-            journalBean.setRotation( Integer.parseInt( rotationAttr.getString() ) );
+            journalBean.setJournalRotation( Integer.parseInt( rotationAttr.getString() ) );
         }
         
         EntryAttribute enabledAttr = entry.get( ConfigSchemaConstants.ADS_JOURNAL_ENABLED );
@@ -1936,13 +1936,13 @@ public class ConfigPartitionReader
         
         Journal journal = new DefaultJournal();
 
-        journal.setRotation( journalBean.getRotation() );
+        journal.setRotation( journalBean.getJournalRotation() );
         journal.setEnabled( journalBean.isEnabled() );
 
         JournalStore store = new DefaultJournalStore();
 
-        store.setFileName( journalBean.getFileName() );
-        store.setWorkingDirectory( journalBean.getWorkingDir() );
+        store.setFileName( journalBean.getJournalFileName() );
+        store.setWorkingDirectory( journalBean.getJournalWorkingDir() );
 
         journal.setJournalStore( store );
         

Added: directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/AdsIndexBean.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/AdsIndexBean.java?rev=1022351&view=auto
==============================================================================
--- directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/AdsIndexBean.java (added)
+++ directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/AdsIndexBean.java Thu Oct 14 01:49:38 2010
@@ -0,0 +1,55 @@
+/*
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *   or more contributor license agreements.  See the NOTICE file
+ *   distributed with this work for additional information
+ *   regarding copyright ownership.  The ASF licenses this file
+ *   to you under the Apache License, Version 2.0 (the
+ *   "License"); you may not use this file except in compliance
+ *   with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing,
+ *   software distributed under the License is distributed on an
+ *   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *   KIND, either express or implied.  See the License for the
+ *   specific language governing permissions and limitations
+ *   under the License.
+ *
+ */
+package org.apache.directory.server.config.beans;
+
+/**
+ * A class used to store the IndexBean configuration. It can't be instanciated
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public abstract class AdsIndexBean extends BaseAdsBean
+{
+    /** The index unique identifier */
+    private String indexAttributeId;
+    
+    /**
+     * Create a new IndexBean instance
+     */
+    protected AdsIndexBean()
+    {
+    }
+
+    /**
+     * @return the indexAttributeId
+     */
+    public String getIndexAttributeId()
+    {
+        return indexAttributeId;
+    }
+
+    
+    /**
+     * @param indexAttributeId the indexAttributeId to set
+     */
+    public void setIndexAttributeId( String indexAttributeId )
+    {
+        this.indexAttributeId = indexAttributeId;
+    }
+}

Added: directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/AdsServerBean.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/AdsServerBean.java?rev=1022351&view=auto
==============================================================================
--- directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/AdsServerBean.java (added)
+++ directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/AdsServerBean.java Thu Oct 14 01:49:38 2010
@@ -0,0 +1,97 @@
+/*
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *   or more contributor license agreements.  See the NOTICE file
+ *   distributed with this work for additional information
+ *   regarding copyright ownership.  The ASF licenses this file
+ *   to you under the Apache License, Version 2.0 (the
+ *   "License"); you may not use this file except in compliance
+ *   with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing,
+ *   software distributed under the License is distributed on an
+ *   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *   KIND, either express or implied.  See the License for the
+ *   specific language governing permissions and limitations
+ *   under the License.
+ *
+ */
+package org.apache.directory.server.config.beans;
+
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * A class used to store the Server configuration. It can't be instanciated
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public abstract class AdsServerBean extends BaseAdsBean
+{
+    /** The server unique identifier */
+    private String serverId;
+    
+    /** The set of transports to use for this server */
+    private Set<TransportBean> transports = new HashSet<TransportBean>();;
+
+    /**
+     * Create a new ServerBean instance
+     */
+    protected AdsServerBean()
+    {
+    }
+    
+    
+    /**
+     * @return the transport
+     */
+    public TransportBean[] getTransports()
+    {
+        return transports.toArray( new TransportBean[]{} );
+    }
+
+
+    /**
+     * Set the underlying transports
+     * @param transports The transports
+     */
+    public void setTransports( TransportBean... transports )
+    {
+        for ( TransportBean transport : transports ) 
+        {
+            this.transports.add( transport );
+        }
+    }
+    
+    
+    /**
+     * Add underlying transports
+     * @param transports The transports
+     */
+    public void addTransports( TransportBean... transports )
+    {
+        for ( TransportBean transport : transports )
+        {
+            this.transports.add( transport );
+        }
+    }
+
+
+    /**
+     * @return the serverId
+     */
+    public String getServerId()
+    {
+        return serverId;
+    }
+
+
+    /**
+     * @param serverId the serverId to set
+     */
+    public void setServerId( String serverId )
+    {
+        this.serverId = serverId;
+    }
+}

Added: directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/BaseAdsBean.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/BaseAdsBean.java?rev=1022351&view=auto
==============================================================================
--- directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/BaseAdsBean.java (added)
+++ directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/BaseAdsBean.java Thu Oct 14 01:49:38 2010
@@ -0,0 +1,80 @@
+/*
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *   or more contributor license agreements.  See the NOTICE file
+ *   distributed with this work for additional information
+ *   regarding copyright ownership.  The ASF licenses this file
+ *   to you under the Apache License, Version 2.0 (the
+ *   "License"); you may not use this file except in compliance
+ *   with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing,
+ *   software distributed under the License is distributed on an
+ *   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *   KIND, either express or implied.  See the License for the
+ *   specific language governing permissions and limitations
+ *   under the License.
+ *
+ */
+package org.apache.directory.server.config.beans;
+
+/**
+ * A class used to store the Base ADS configuration. It can't be instanciated
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public abstract class BaseAdsBean 
+{
+    /** The enabled flag */
+    private boolean enabled = false;
+    
+    /** The description */
+    private String description;
+
+    /**
+     * Create a new BaseBean instance
+     */
+    protected BaseAdsBean()
+    {
+    }
+    
+    
+    /**
+     * @return <code>true</code> if the component is enabled
+     */
+    public boolean isEnabled()
+    {
+        return enabled;
+    }
+    
+    
+    /**
+     * Enable or disable the component
+     * @param enabled if <code>true</code>, the component is enabled.
+     */
+    public void setEnabled( boolean enabled )
+    {
+        this.enabled = enabled;
+    }
+    
+    
+    /**
+     * @return the description for this component
+     */
+    public String getDescription() 
+    {
+        return description;
+    }
+    
+    
+    /**
+     * Sets the component description
+     * 
+     * @param description The description
+     */
+    public void setDescription( String description )
+    {
+        this.description = description;
+    }
+}

Added: directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/CatalogBasedServerBean.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/CatalogBasedServerBean.java?rev=1022351&view=auto
==============================================================================
--- directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/CatalogBasedServerBean.java (added)
+++ directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/CatalogBasedServerBean.java Thu Oct 14 01:49:38 2010
@@ -0,0 +1,79 @@
+/*
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *   or more contributor license agreements.  See the NOTICE file
+ *   distributed with this work for additional information
+ *   regarding copyright ownership.  The ASF licenses this file
+ *   to you under the Apache License, Version 2.0 (the
+ *   "License"); you may not use this file except in compliance
+ *   with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing,
+ *   software distributed under the License is distributed on an
+ *   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *   KIND, either express or implied.  See the License for the
+ *   specific language governing permissions and limitations
+ *   under the License.
+ *
+ */
+package org.apache.directory.server.config.beans;
+
+
+/**
+ * A class used to store the CatalogBasedServer configuration. It can't be instanciated
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public abstract class CatalogBasedServerBean extends AdsServerBean
+{
+    /** The server unique identifier */
+    private String searchBaseDN;
+    
+    /** The reference to the underlaying DirectoryService */
+    private DirectoryServiceBean serverDS;
+
+    /**
+     * Create a new CatalogBasedServerBean instance
+     */
+    protected CatalogBasedServerBean()
+    {
+        super();
+    }
+
+    
+    /**
+     * @return the searchBaseDN
+     */
+    public String getSearchBaseDN()
+    {
+        return searchBaseDN;
+    }
+
+    
+    /**
+     * @param searchBaseDN the searchBaseDN to set
+     */
+    public void setSearchBaseDN( String searchBaseDN )
+    {
+        this.searchBaseDN = searchBaseDN;
+    }
+
+    
+    /**
+     * @return the serverDS
+     */
+    public DirectoryServiceBean getServerDS()
+    {
+        return serverDS;
+    }
+
+    
+    /**
+     * @param serverDS the serverDS to set
+     */
+    public void setServerDS( DirectoryServiceBean serverDS )
+    {
+        this.serverDS = serverDS;
+    }
+}

Modified: directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/ChangeLogBean.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/ChangeLogBean.java?rev=1022351&r1=1022350&r2=1022351&view=diff
==============================================================================
--- directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/ChangeLogBean.java (original)
+++ directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/ChangeLogBean.java Thu Oct 14 01:49:38 2010
@@ -24,13 +24,10 @@ package org.apache.directory.server.conf
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-public class ChangeLogBean 
+public class ChangeLogBean extends BaseAdsBean
 {
     /** Tells if the ChangeLog is exposed to the users */
-    private boolean exposed;
-    
-    /** Tells if the ChangeLog is enabled */
-    private boolean enabled;
+    private boolean changeLogExposed;
 
     /**
      * Create a new ChangeLogBean instance
@@ -38,45 +35,27 @@ public class ChangeLogBean 
     public ChangeLogBean()
     {
         // Not exposed by default
-        exposed = false;
+        changeLogExposed = false;
         
         // Not enabled by default
-        enabled = false;
+        setEnabled( false );
     }
     
     
     /**
      * @return <code>true</code> if the ChangeLog is exposed
      */
-    public boolean isExposed() 
+    public boolean isChangeLogExposed() 
     {
-        return exposed;
+        return changeLogExposed;
     }
 
     
     /**
      * @param exposed Set the exposed flag
      */
-    public void setExposed( boolean exposed ) 
-    {
-        this.exposed = exposed;
-    }
-    
-    
-    /**
-     * @return <code>true</code> if ChangeLog is enabled
-     */
-    public boolean isEnabled() 
-    {
-        return enabled;
-    }
-
-    
-    /**
-     * @param enabled Set the enabled flag
-     */
-    public void setEnabled( boolean enabled ) 
+    public void setChangeLogExposed( boolean changeLogExposed ) 
     {
-        this.enabled = enabled;
+        this.changeLogExposed = changeLogExposed;
     }
 }

Added: directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/ChangePasswordServerBean.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/ChangePasswordServerBean.java?rev=1022351&view=auto
==============================================================================
--- directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/ChangePasswordServerBean.java (added)
+++ directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/ChangePasswordServerBean.java Thu Oct 14 01:49:38 2010
@@ -0,0 +1,207 @@
+/*
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *   or more contributor license agreements.  See the NOTICE file
+ *   distributed with this work for additional information
+ *   regarding copyright ownership.  The ASF licenses this file
+ *   to you under the Apache License, Version 2.0 (the
+ *   "License"); you may not use this file except in compliance
+ *   with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing,
+ *   software distributed under the License is distributed on an
+ *   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *   KIND, either express or implied.  See the License for the
+ *   specific language governing permissions and limitations
+ *   under the License.
+ *
+ */
+package org.apache.directory.server.config.beans;
+
+import java.util.HashSet;
+import java.util.Set;
+
+
+/**
+ * A class used to store the ChangePasswordServer configuration.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class ChangePasswordServerBean extends CatalogBasedServerBean
+{
+    /** The allowable clock skew. */
+    private long krbAllowableClockSkew;
+    
+    /** Whether empty addresses are allowed. */
+    private boolean krbEmptyAddressesAllowed;
+    
+    /** The encryption types. */
+    private Set<String> krbEncryptionTypes = new HashSet<String>();
+    
+    /** The primary realm. */
+    private String krbPrimaryRealm;
+    
+    /** The policy for category count. */
+    private int chgPwdPolicyCategoryCount;
+    
+    /** The policy for password length. */
+    private int chgPwdPolicyPasswordLength;
+    
+    /** The policy for token size. */
+    private int chgPwdPolicyTokenSize;
+    
+    /** The service principal name. */
+    private String chgPwdServicePrincipal;
+
+    /**
+     * Create a new ChangePasswordServer instance
+     */
+    public ChangePasswordServerBean()
+    {
+        super();
+    }
+
+    /**
+     * @return the krbAllowableClockSkew
+     */
+    public long getKrbAllowableClockSkew()
+    {
+        return krbAllowableClockSkew;
+    }
+
+    
+    /**
+     * @param krbAllowableClockSkew the krbAllowableClockSkew to set
+     */
+    public void setKrbAllowableClockSkew( long krbAllowableClockSkew )
+    {
+        this.krbAllowableClockSkew = krbAllowableClockSkew;
+    }
+
+    
+    /**
+     * @return the krbEmptyAddressesAllowed
+     */
+    public boolean isKrbEmptyAddressesAllowed()
+    {
+        return krbEmptyAddressesAllowed;
+    }
+
+    
+    /**
+     * @param krbEmptyAddressesAllowed the krbEmptyAddressesAllowed to set
+     */
+    public void setKrbEmptyAddressesAllowed( boolean krbEmptyAddressesAllowed )
+    {
+        this.krbEmptyAddressesAllowed = krbEmptyAddressesAllowed;
+    }
+
+    
+    /**
+     * @return the krbEncryptionTypes
+     */
+    public Set<String> getKrbEncryptionTypes()
+    {
+        return krbEncryptionTypes;
+    }
+
+    
+    /**
+     * @param krbEncryptionTypes the krbEncryptionTypes to set
+     */
+    public void setKrbEncryptionTypes( Set<String> krbEncryptionTypes )
+    {
+        this.krbEncryptionTypes = krbEncryptionTypes;
+    }
+
+    
+    /**
+     * @return the krbPrimaryRealm
+     */
+    public String getKrbPrimaryRealm()
+    {
+        return krbPrimaryRealm;
+    }
+
+    
+    /**
+     * @param krbPrimaryRealm the krbPrimaryRealm to set
+     */
+    public void setKrbPrimaryRealm( String krbPrimaryRealm )
+    {
+        this.krbPrimaryRealm = krbPrimaryRealm;
+    }
+
+    
+    /**
+     * @return the chgPwdPolicyCategoryCount
+     */
+    public int getChgPwdPolicyCategoryCount()
+    {
+        return chgPwdPolicyCategoryCount;
+    }
+
+    
+    /**
+     * @param chgPwdPolicyCategoryCount the chgPwdPolicyCategoryCount to set
+     */
+    public void setChgPwdPolicyCategoryCount( int chgPwdPolicyCategoryCount )
+    {
+        this.chgPwdPolicyCategoryCount = chgPwdPolicyCategoryCount;
+    }
+
+    
+    /**
+     * @return the chgPwdPolicyPasswordLength
+     */
+    public int getChgPwdPolicyPasswordLength()
+    {
+        return chgPwdPolicyPasswordLength;
+    }
+
+    
+    /**
+     * @param chgPwdPolicyPasswordLength the chgPwdPolicyPasswordLength to set
+     */
+    public void setChgPwdPolicyPasswordLength( int chgPwdPolicyPasswordLength )
+    {
+        this.chgPwdPolicyPasswordLength = chgPwdPolicyPasswordLength;
+    }
+
+    
+    /**
+     * @return the chgPwdPolicyTokenSize
+     */
+    public int getChgPwdPolicyTokenSize()
+    {
+        return chgPwdPolicyTokenSize;
+    }
+
+    
+    /**
+     * @param chgPwdPolicyTokenSize the chgPwdPolicyTokenSize to set
+     */
+    public void setChgPwdPolicyTokenSize( int chgPwdPolicyTokenSize )
+    {
+        this.chgPwdPolicyTokenSize = chgPwdPolicyTokenSize;
+    }
+
+    
+    /**
+     * @return the chgPwdServicePrincipal
+     */
+    public String getChgPwdServicePrincipal()
+    {
+        return chgPwdServicePrincipal;
+    }
+
+    
+    /**
+     * @param chgPwdServicePrincipal the chgPwdServicePrincipal to set
+     */
+    public void setChgPwdServicePrincipal( String chgPwdServicePrincipal )
+    {
+        this.chgPwdServicePrincipal = chgPwdServicePrincipal;
+    }
+}

Modified: directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/DhcpServerBean.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/DhcpServerBean.java?rev=1022351&r1=1022350&r2=1022351&view=diff
==============================================================================
--- directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/DhcpServerBean.java (original)
+++ directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/DhcpServerBean.java Thu Oct 14 01:49:38 2010
@@ -25,13 +25,15 @@ package org.apache.directory.server.conf
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-public class DhcpServerBean extends DirectoryBackedServiceBean
+public class DhcpServerBean extends CatalogBasedServerBean
 {
     /**
      * Create a new DhcpServerBean instance
      */
     public DhcpServerBean()
     {
+        super();
+        
         // Enabled by default
         setEnabled( true );
     }

Modified: directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/DirectoryServiceBean.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/DirectoryServiceBean.java?rev=1022351&r1=1022350&r2=1022351&view=diff
==============================================================================
--- directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/DirectoryServiceBean.java (original)
+++ directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/DirectoryServiceBean.java Thu Oct 14 01:49:38 2010
@@ -19,8 +19,10 @@
  */
 package org.apache.directory.server.config.beans;
 
+
 import java.util.Set;
 
+import org.apache.directory.server.core.authn.PasswordPolicyConfiguration;
 
 
 /**
@@ -28,17 +30,60 @@ import java.util.Set;
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-public class DirectoryServiceBean
+public class DirectoryServiceBean extends BaseAdsBean
 {
     /** The DS instance Id */
-    private String instanceId;
+    private String directoryServiceId;
 
     /** The directory instance replication ID */
-    private int replicaId;
+    private int dsReplicaId;
+
+    /** The flag that tells if the AccessControl system is activated */
+    private boolean dsAccessControlEnabled = true;
+
+    /** The flag that tells if Anonymous connections are allowed */
+    private boolean dsAllowAnonymousAccess = false;
+
+    /** The flag that tells if DN must be denormalized */
+    private boolean dsDenormalizeOpAttrsEnabled = true;
+
+    /** The maximum size of an incoming PDU */
+    private int dsMaxPDUSize = 2048;
+
+    /** The flag that tells if the password should be returned as a normal attribute or not */
+    private boolean dsPasswordHidden = true;
+
+    /** The delay between two flushes on disk */
+    private long dsSyncPeriodMillis = 15000L;
+
+    /** The ldif entries to inject into the server at startup */
+    private String dsTestEntries;
+
+    /** The ChangeLog component */
+    private ChangeLogBean dsChangeLog;
+
+    /** The journal component */
+    private JournalBean dsJournal;
+
+    /** The replication component */
+    //private ReplicationBean dsReplication;
 
     /** The list of declared interceptors */
     private Set<InterceptorBean> interceptors;
 
+    /** The set of associated partitions */
+    private Set<PartitionBean> partitions;
+
+    /** The reference to the replication provider component */
+    //private ReplicationProviderBean replicationProvider;
+
+    /** The reference to the replication consumer component */
+    //private ReplicationConsumerBean replicationConsumer;
+
+    /** The reference to the Password Policy component */
+    private PasswordPolicyConfiguration passwordPolicy;
+
+
     /**
      * Create a new DnsServerBean instance
      */
@@ -48,45 +93,45 @@ public class DirectoryServiceBean
 
 
     /**
-     * Sets the Instance ID for this DirectoryService
-     * @param instanceId The instance ID
+     * Sets the ID for this DirectoryService
+     * @param directoryServiceId The DirectoryService ID
      */
-    public void setInstanceId( String instanceId )
+    public void setDirectoryServiceId( String directoryServiceId )
     {
-        this.instanceId = instanceId;
+        this.directoryServiceId = directoryServiceId;
     }
 
 
     /**
-     * @return The DirectoryService instanceId
+     * @return The DirectoryService Id
      */
-    public String getInstanceId()
+    public String getDirectoryServiceId()
     {
-        return instanceId;
+        return directoryServiceId;
     }
 
 
     /**
      * @return the replicaId
      */
-    public int getReplicaId()
+    public int getDsReplicaId()
     {
-        return replicaId;
+        return dsReplicaId;
     }
 
 
     /**
-     * @param replicaId the replicaId to set
+     * @param dsReplicaId the replicaId to set
      */
-    public void setReplicaId( int replicaId )
+    public void setDsReplicaId( int dsReplicaId )
     {
-        if ( ( replicaId < 0 ) || ( replicaId > 999 ) )
+        if ( ( dsReplicaId < 0 ) || ( dsReplicaId > 999 ) )
         {
-            this.replicaId = 0;
+            this.dsReplicaId = 0;
         }
         else
         {
-            this.replicaId = replicaId;
+            this.dsReplicaId = dsReplicaId;
         }
     }
 
@@ -111,4 +156,256 @@ public class DirectoryServiceBean
     {
         this.interceptors = interceptors;
     }
+
+
+    /**
+     * @return the dsAccessControlEnabled
+     */
+    public boolean isDsAccessControlEnabled()
+    {
+        return dsAccessControlEnabled;
+    }
+
+
+    /**
+     * @param dsAccessControlEnabled the dsAccessControlEnabled to set
+     */
+    public void setDsAccessControlEnabled( boolean dsAccessControlEnabled )
+    {
+        this.dsAccessControlEnabled = dsAccessControlEnabled;
+    }
+
+
+    /**
+     * @return the dsAllowAnonymousAccess
+     */
+    public boolean isDsAllowAnonymousAccess()
+    {
+        return dsAllowAnonymousAccess;
+    }
+
+
+    /**
+     * @param dsAllowAnonymousAccess the dsAllowAnonymousAccess to set
+     */
+    public void setDsAllowAnonymousAccess( boolean dsAllowAnonymousAccess )
+    {
+        this.dsAllowAnonymousAccess = dsAllowAnonymousAccess;
+    }
+
+
+    /**
+     * @return the dsDenormalizeOpAttrsEnabled
+     */
+    public boolean isDsDenormalizeOpAttrsEnabled()
+    {
+        return dsDenormalizeOpAttrsEnabled;
+    }
+
+
+    /**
+     * @param dsDenormalizeOpAttrsEnabled the dsDenormalizeOpAttrsEnabled to set
+     */
+    public void setDsDenormalizeOpAttrsEnabled( boolean dsDenormalizeOpAttrsEnabled )
+    {
+        this.dsDenormalizeOpAttrsEnabled = dsDenormalizeOpAttrsEnabled;
+    }
+
+
+    /**
+     * @return the dsMaxPDUSize
+     */
+    public int getDsMaxPDUSize()
+    {
+        return dsMaxPDUSize;
+    }
+
+
+    /**
+     * @param dsMaxPDUSize the dsMaxPDUSize to set
+     */
+    public void setDsMaxPDUSize( int dsMaxPDUSize )
+    {
+        this.dsMaxPDUSize = dsMaxPDUSize;
+    }
+
+
+    /**
+     * @return the dsPasswordHidden
+     */
+    public boolean isDsPasswordHidden()
+    {
+        return dsPasswordHidden;
+    }
+
+
+    /**
+     * @param dsPasswordHidden the dsPasswordHidden to set
+     */
+    public void setDsPasswordHidden( boolean dsPasswordHidden )
+    {
+        this.dsPasswordHidden = dsPasswordHidden;
+    }
+
+
+    /**
+     * @return the dsSyncPeriodMillis
+     */
+    public long getDsSyncPeriodMillis()
+    {
+        return dsSyncPeriodMillis;
+    }
+
+
+    /**
+     * @param dsSyncPeriodMillis the dsSyncPeriodMillis to set
+     */
+    public void setDsSyncPeriodMillis( long dsSyncPeriodMillis )
+    {
+        this.dsSyncPeriodMillis = dsSyncPeriodMillis;
+    }
+
+
+    /**
+     * @return the dsTestEntries
+     */
+    public String getDsTestEntries()
+    {
+        return dsTestEntries;
+    }
+
+
+    /**
+     * @param dsTestEntries the dsTestEntries to set
+     */
+    public void setDsTestEntries( String dsTestEntries )
+    {
+        this.dsTestEntries = dsTestEntries;
+    }
+
+
+    /**
+     * @return the dsChangeLog
+     */
+    public ChangeLogBean getDsChangeLog()
+    {
+        return dsChangeLog;
+    }
+
+
+    /**
+     * @param dsChangeLog the dsChangeLog to set
+     */
+    public void setDsChangeLog( ChangeLogBean dsChangeLog )
+    {
+        this.dsChangeLog = dsChangeLog;
+    }
+
+
+    /**
+     * @return the dsJournal
+     */
+    public JournalBean getDsJournal()
+    {
+        return dsJournal;
+    }
+
+
+    /**
+     * @param dsJournal the dsJournal to set
+     */
+    public void setDsJournal( JournalBean dsJournal )
+    {
+        this.dsJournal = dsJournal;
+    }
+
+
+    /**
+     * @return the dsReplication
+     *
+    public ReplicationBean getDsReplication()
+    {
+        return dsReplication;
+    }
+
+
+    /**
+     * @param dsReplication the dsReplication to set
+     *
+    public void setDsReplication( ReplicationBean dsReplication )
+    {
+        this.dsReplication = dsReplication;
+    }
+
+
+    /**
+     * @return the partitions
+     */
+    public Set<PartitionBean> getPartitions()
+    {
+        return partitions;
+    }
+
+
+    /**
+     * @param partitions the partitions to set
+     */
+    public void setPartitions( Set<PartitionBean> partitions )
+    {
+        this.partitions = partitions;
+    }
+
+
+    /**
+     * @return the replicationProvider
+     *
+    public ReplicationProviderBean getReplicationProvider()
+    {
+        return replicationProvider;
+    }
+
+
+    /**
+     * @param replicationProvider the replicationProvider to set
+     *
+    public void setReplicationProvider( ReplicationProviderBean replicationProvider )
+    {
+        this.replicationProvider = replicationProvider;
+    }
+
+
+    /**
+     * @return the replicationConsumer
+     *
+    public ReplicationConsumerBean getReplicationConsumer()
+    {
+        return replicationConsumer;
+    }
+
+
+    /**
+     * @param replicationConsumer the replicationConsumer to set
+     *
+    public void setReplicationConsumer( ReplicationConsumerBean replicationConsumer )
+    {
+        this.replicationConsumer = replicationConsumer;
+    }
+
+
+    /**
+     * @return the passwordPolicy
+     */
+    public PasswordPolicyConfiguration getPasswordPolicy()
+    {
+        return passwordPolicy;
+    }
+
+
+    /**
+     * @param passwordPolicy the passwordPolicy to set
+     */
+    public void setPasswordPolicy( PasswordPolicyConfiguration passwordPolicy )
+    {
+        this.passwordPolicy = passwordPolicy;
+    }
 }

Modified: directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/DnsServerBean.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/DnsServerBean.java?rev=1022351&r1=1022350&r2=1022351&view=diff
==============================================================================
--- directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/DnsServerBean.java (original)
+++ directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/DnsServerBean.java Thu Oct 14 01:49:38 2010
@@ -25,13 +25,15 @@ package org.apache.directory.server.conf
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-public class DnsServerBean extends DirectoryBackedServiceBean
+public class DnsServerBean extends CatalogBasedServerBean
 {
     /**
      * Create a new DnsServerBean instance
      */
     public DnsServerBean()
     {
+        super();
+        
         // Enabled by default
         setEnabled( true );
     }

Added: directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/HttpServerBean.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/HttpServerBean.java?rev=1022351&view=auto
==============================================================================
--- directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/HttpServerBean.java (added)
+++ directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/HttpServerBean.java Thu Oct 14 01:49:38 2010
@@ -0,0 +1,103 @@
+/*
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *   or more contributor license agreements.  See the NOTICE file
+ *   distributed with this work for additional information
+ *   regarding copyright ownership.  The ASF licenses this file
+ *   to you under the Apache License, Version 2.0 (the
+ *   "License"); you may not use this file except in compliance
+ *   with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing,
+ *   software distributed under the License is distributed on an
+ *   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *   KIND, either express or implied.  See the License for the
+ *   specific language governing permissions and limitations
+ *   under the License.
+ *
+ */
+package org.apache.directory.server.config.beans;
+
+
+/**
+ * A class used to store the HttpServer configuration.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class HttpServerBean extends AdsServerBean
+{
+    /** The server identifier */
+    private String serverId;
+    
+    /** The port */
+    private int systemPort;
+    
+    /** The configuration file */
+    private String httpConfFile;
+
+    /**
+     * Create a new HttpServerBean instance
+     */
+    public HttpServerBean()
+    {
+        super();
+        
+        // Enabled by default
+        setEnabled( true );
+    }
+
+    
+    /**
+     * @return the serverId
+     */
+    public String getServerId()
+    {
+        return serverId;
+    }
+
+    
+    /**
+     * @param serverId the serverId to set
+     */
+    public void setServerId( String serverId )
+    {
+        this.serverId = serverId;
+    }
+
+    
+    /**
+     * @return the systemPort
+     */
+    public int getSystemPort()
+    {
+        return systemPort;
+    }
+
+    
+    /**
+     * @param systemPort the systemPort to set
+     */
+    public void setSystemPort( int systemPort )
+    {
+        this.systemPort = systemPort;
+    }
+
+    
+    /**
+     * @return the httpConfFile
+     */
+    public String getHttpConfFile()
+    {
+        return httpConfFile;
+    }
+
+    
+    /**
+     * @param httpConfFile the httpConfFile to set
+     */
+    public void setHttpConfFile( String httpConfFile )
+    {
+        this.httpConfFile = httpConfFile;
+    }
+}

Added: directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/HttpWebAppBean.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/HttpWebAppBean.java?rev=1022351&view=auto
==============================================================================
--- directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/HttpWebAppBean.java (added)
+++ directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/HttpWebAppBean.java Thu Oct 14 01:49:38 2010
@@ -0,0 +1,103 @@
+/*
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *   or more contributor license agreements.  See the NOTICE file
+ *   distributed with this work for additional information
+ *   regarding copyright ownership.  The ASF licenses this file
+ *   to you under the Apache License, Version 2.0 (the
+ *   "License"); you may not use this file except in compliance
+ *   with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing,
+ *   software distributed under the License is distributed on an
+ *   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *   KIND, either express or implied.  See the License for the
+ *   specific language governing permissions and limitations
+ *   under the License.
+ *
+ */
+package org.apache.directory.server.config.beans;
+
+
+/**
+ * A class used to store the HttpWebApp configuration.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class HttpWebAppBean extends BaseAdsBean
+{
+    /** The server identifier */
+    private String id;
+    
+    /** The context path */
+    private String httpAppCtxPath;
+    
+    /** The war file */
+    private String httpWarFile;
+
+    /**
+     * Create a new HttpWebAppBean instance
+     */
+    public HttpWebAppBean()
+    {
+        super();
+        
+        // Enabled by default
+        setEnabled( true );
+    }
+
+    
+    /**
+     * @return the id
+     */
+    public String getId()
+    {
+        return id;
+    }
+
+    
+    /**
+     * @param id the id to set
+     */
+    public void setId( String id )
+    {
+        this.id = id;
+    }
+
+    
+    /**
+     * @return the httpAppCtxPath
+     */
+    public String getHttpAppCtxPath()
+    {
+        return httpAppCtxPath;
+    }
+
+    
+    /**
+     * @param httpAppCtxPath the httpAppCtxPath to set
+     */
+    public void setHttpAppCtxPath( String httpAppCtxPath )
+    {
+        this.httpAppCtxPath = httpAppCtxPath;
+    }
+
+    
+    /**
+     * @return the httpWarFile
+     */
+    public String getHttpWarFile()
+    {
+        return httpWarFile;
+    }
+
+    
+    /**
+     * @param httpWarFile the httpWarFile to set
+     */
+    public void setHttpWarFile( String httpWarFile )
+    {
+        this.httpWarFile = httpWarFile;
+    }
+}

Modified: directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/InterceptorBean.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/InterceptorBean.java?rev=1022351&r1=1022350&r2=1022351&view=diff
==============================================================================
--- directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/InterceptorBean.java (original)
+++ directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/InterceptorBean.java Thu Oct 14 01:49:38 2010
@@ -28,13 +28,13 @@ package org.apache.directory.server.conf
 public class InterceptorBean implements Comparable<InterceptorBean>
 {
     /** The Interceptor ID */
-    private String id;
+    private String interceptorId;
     
     /** The interceptor FQCN */
-    private String fqcn;
+    private String interceptorClassName;
     
     /** The interceptor position in the chain */
-    private int order;
+    private int interceptorOrder;
 
 
     /**
@@ -53,11 +53,11 @@ public class InterceptorBean implements 
      */
     public int compareTo( InterceptorBean o )
     {
-        if ( order > o.order )
+        if ( interceptorOrder > o.interceptorOrder )
         {
             return 1;
         }
-        else if ( order < o.order )
+        else if ( interceptorOrder < o.interceptorOrder )
         {
             return -1;
         }
@@ -69,53 +69,53 @@ public class InterceptorBean implements 
     /**
      * @return the id
      */
-    public String getId() 
+    public String getInterceptorId() 
     {
-        return id;
+        return interceptorId;
     }
 
 
     /**
      * @param id the id to set
      */
-    public void setId( String id ) 
+    public void setInterceptorId( String id ) 
     {
-        this.id = id;
+        this.interceptorId = id;
     }
 
 
     /**
-     * @return the order
+     * @return the interceptor Order
      */
-    public int getOrder() 
+    public int getInterceptorOrder() 
     {
-        return order;
+        return interceptorOrder;
     }
 
 
     /**
-     * @param order the order to set
+     * @param interceptorOrder the interceptor Order to set
      */
-    public void setOrder( int order ) 
+    public void setInterceptorOrder( int interceptorOrder ) 
     {
-        this.order = order;
+        this.interceptorOrder = interceptorOrder;
     }
 
 
     /**
-     * @return the fqcn
+     * @return the interceptor ClassName
      */
-    public String getFqcn()
+    public String getInterceptorClassName()
     {
-        return fqcn;
+        return interceptorClassName;
     }
 
 
     /**
-     * @param fqcn the fqcn to set
+     * @param interceptorClassName the interceptor ClassName to set
      */
-    public void setFqcn( String fqcn )
+    public void setFqcn( String interceptorClassName )
     {
-        this.fqcn = fqcn;
+        this.interceptorClassName = interceptorClassName;
     }
 }

Modified: directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/JdbmIndexBean.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/JdbmIndexBean.java?rev=1022351&r1=1022350&r2=1022351&view=diff
==============================================================================
--- directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/JdbmIndexBean.java (original)
+++ directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/JdbmIndexBean.java Thu Oct 14 01:49:38 2010
@@ -25,26 +25,25 @@ package org.apache.directory.server.conf
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-public class JdbmIndexBean<K, E>
+public class JdbmIndexBean<K, E> extends AdsIndexBean
 {
-    private int DEFAULT_INDEX_CACHE_SIZE = 100;
+    /** The default cache size */
+    private static final int DEFAULT_INDEX_CACHE_SIZE = 100;
     
     /** default duplicate limit before duplicate keys switch to using a btree for values */
-    public static final int DEFAULT_DUPLICATE_LIMIT = 512;
-
-    /**
-     * the attribute identifier set at configuration time for this index which may not
-     * be the OID but an alias name for the attributeType associated with this Index
-     */
-    private String attributeId;
+    private static final int DEFAULT_DUPLICATE_LIMIT = 512;
 
     /** the size (number of index entries) for the cache */
-    private int cacheSize = DEFAULT_INDEX_CACHE_SIZE;
+    private int indexCacheSize = DEFAULT_INDEX_CACHE_SIZE;
 
-    /**
-     * duplicate limit before duplicate keys switch to using a btree for values
-     */
-    protected int numDupLimit = DEFAULT_DUPLICATE_LIMIT;
+    /** duplicate limit before duplicate keys switch to using a btree for values */
+    private int indexNumDupLimit = DEFAULT_DUPLICATE_LIMIT;
+    
+    /** The index file name */
+    private String indexFileName;
+    
+    /** The index working directory */
+    private String indexWorkingDir;
 
     /**
      * Create a new JdbmIndexBean instance
@@ -55,71 +54,83 @@ public class JdbmIndexBean<K, E>
 
 
     /**
-     * Gets the attribute identifier set at configuration time for this index which may not
-     * be the OID but an alias name for the attributeType associated with this Index
+     * Gets the size of the index cache in terms of the number of index entries to be cached.
      *
-     * @return configured attribute oid or alias name
+     * @return the size of the index cache
      */
-    public String getAttributeId()
+    public int getIndexCacheSize()
     {
-        return attributeId;
+        return indexCacheSize;
     }
 
 
     /**
-     * Sets the attribute identifier set at configuration time for this index which may not
-     * be the OID but an alias name for the attributeType associated with this Index
+     * Sets the size of the index cache in terms of the number of index entries to be cached.
      *
-     * @param attributeId configured attribute oid or alias name
+     * @param IndexCacheSize the size of the index cache
      */
-    public void setAttributeId( String attributeId )
+    public void setIndexCacheSize( int indexCacheSize )
     {
-        this.attributeId = attributeId;
+        this.indexCacheSize = indexCacheSize;
     }
 
 
     /**
-     * Gets the size of the index cache in terms of the number of index entries to be cached.
+     * Gets the threshold at which point duplicate keys use btree indirection to store
+     * their values.
      *
-     * @return the size of the index cache
+     * @return the threshold for storing a keys values in another btree
      */
-    public int getCacheSize()
+    public int getIndexNumDupLimit()
     {
-        return cacheSize;
+        return indexNumDupLimit;
     }
 
 
     /**
-     * Sets the size of the index cache in terms of the number of index entries to be cached.
+     * Sets the threshold at which point duplicate keys use btree indirection to store
+     * their values.
      *
-     * @param cacheSize the size of the index cache
+     * @param indexNumDupLimit the threshold for storing a keys values in another btree
      */
-    public void setCacheSize( int cacheSize )
+    public void setIndexNumDupLimit( int indexNumDupLimit )
     {
-        this.cacheSize = cacheSize;
+        this.indexNumDupLimit = indexNumDupLimit;
     }
 
 
     /**
-     * Gets the threshold at which point duplicate keys use btree indirection to store
-     * their values.
-     *
-     * @return the threshold for storing a keys values in another btree
+     * @return the indexFileName
      */
-    public int getNumDupLimit()
+    public String getIndexFileName()
     {
-        return numDupLimit;
+        return indexFileName;
     }
 
 
     /**
-     * Sets the threshold at which point duplicate keys use btree indirection to store
-     * their values.
-     *
-     * @param numDupLimit the threshold for storing a keys values in another btree
+     * @param indexFileName the indexFileName to set
+     */
+    public void setIndexFileName( String indexFileName )
+    {
+        this.indexFileName = indexFileName;
+    }
+
+
+    /**
+     * @return the indexWorkingDir
+     */
+    public String getIndexWorkingDir()
+    {
+        return indexWorkingDir;
+    }
+
+
+    /**
+     * @param indexWorkingDir the indexWorkingDir to set
      */
-    public void setNumDupLimit( int numDupLimit )
+    public void setIndexWorkingDir( String indexWorkingDir )
     {
-        this.numDupLimit = numDupLimit;
+        this.indexWorkingDir = indexWorkingDir;
     }
 }

Modified: directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/JdbmPartitionBean.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/JdbmPartitionBean.java?rev=1022351&r1=1022350&r2=1022351&view=diff
==============================================================================
--- directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/JdbmPartitionBean.java (original)
+++ directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/JdbmPartitionBean.java Thu Oct 14 01:49:38 2010
@@ -19,18 +19,111 @@
  */
 package org.apache.directory.server.config.beans;
 
+import java.util.Set;
+
+import org.apache.directory.shared.ldap.entry.Entry;
+
 
 /**
- * A class used to store the JdbmIndex configuration.
+ * A class used to store the JdbmPartition configuration.
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-public class JdbmPartitionBean extends BTreePartitionBean
+public class JdbmPartitionBean extends PartitionBean
 {
+    /** The Entry cache size for this partition */
+    protected int partitionCacheSize = -1;
+
+    /** Tells if the optimizer is enabled or not */
+    private boolean jdbmPartitionOptimizerEnabled = true;
+    
+    /** The set of indexed attributes */
+    private Set<JdbmIndexBean<String, Entry>> jdbmIndexes;
+
     /**
      * Create a new JdbmPartitionBean instance
      */
     public JdbmPartitionBean()
     {
     }
+
+
+    /**
+     * Used to specify the entry cache size for a Partition.  Various Partition
+     * implementations may interpret this value in different ways: i.e. total cache
+     * size limit verses the number of entries to cache.
+     *
+     * @param partitionCacheSize the maximum size of the cache in the number of entries
+     */
+    public void setPartitionCacheSize( int partitionCacheSize )
+    {
+        this.partitionCacheSize = partitionCacheSize;
+    }
+
+
+    /**
+     * Gets the entry cache size for this JdbmPartition.
+     *
+     * @return the maximum size of the cache as the number of entries maximum before paging out
+     */
+    public int getPartitionCacheSize()
+    {
+        return partitionCacheSize;
+    }
+
+    
+    /**
+     * @return <code>true</code> if the optimizer is enabled
+     */
+    public boolean isJdbmPartitionOptimizerEnabled()
+    {
+        return jdbmPartitionOptimizerEnabled;
+    }
+
+
+    /**
+     * Enable or disable the optimizer
+     * 
+     * @param jdbmPartitionOptimizerEnabled True or false
+     */
+    public void setJdbmPartitionOptimizerEnabled( boolean jdbmPartitionOptimizerEnabled )
+    {
+        this.jdbmPartitionOptimizerEnabled = jdbmPartitionOptimizerEnabled;
+    }
+    
+    
+    /**
+     * Stores the list of index defined for this partition
+     * 
+     * @param jdbmIndexes The list of indexes to store
+     */
+    public void setIndexedAttributes( Set<JdbmIndexBean<String, Entry>> jdbmIndexes )
+    {
+        this.jdbmIndexes = jdbmIndexes;
+    }
+
+
+    /**
+     * Add some indexes to this partition
+     * 
+     * @param jdbmIndexes The added jdbmIndexes
+     */
+    public void addJdbmIndexes( JdbmIndexBean<String, Entry>... jdbmIndexes )
+    {
+        for ( JdbmIndexBean<String, Entry> jdbmIndex : jdbmIndexes )
+        {
+            this.jdbmIndexes.add( jdbmIndex );
+        }
+    }
+
+
+    /**
+     * Get the list of index defined for this partition
+     * 
+     * @return The list of defined indexes
+     */
+    public Set<JdbmIndexBean<String, Entry>> getJdbmIndexes()
+    {
+        return jdbmIndexes;
+    }
 }

Modified: directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/JournalBean.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/JournalBean.java?rev=1022351&r1=1022350&r2=1022351&view=diff
==============================================================================
--- directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/JournalBean.java (original)
+++ directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/beans/JournalBean.java Thu Oct 14 01:49:38 2010
@@ -24,19 +24,16 @@ package org.apache.directory.server.conf
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-public class JournalBean 
+public class JournalBean extends BaseAdsBean
 {
     /** The journal file name */
-    private String fileName;
+    private String journalFileName;
     
     /** The journal working directory */
-    private String workingDir;
+    private String journalWorkingDir;
     
     /** The journal rotation */
-    private int rotation;
-    
-    /** Tells if the journal is enabled */
-    private boolean enabled;
+    private int journalRotation;
 
     /**
      * Create a new JournalBean instance
@@ -44,81 +41,63 @@ public class JournalBean 
     public JournalBean()
     {
         // Default to infinite
-        rotation = 0;
+        journalRotation = 0;
         
         // Not enabled by default
-        enabled = false;
+        setEnabled( false );
     }
     
     
     /**
      * @return the fileName
      */
-    public String getFileName() 
-    {
-        return fileName;
-    }
-
-    
-    /**
-     * @param fileName the fileName to set
-     */
-    public void setFileName( String fileName ) 
-    {
-        this.fileName = fileName;
-    }
-
-    
-    /**
-     * @return the workingDir
-     */
-    public String getWorkingDir() 
+    public String getJournalFileName() 
     {
-        return workingDir;
+        return journalFileName;
     }
 
     
     /**
-     * @param workingDir the workingDir to set
+     * @param journalFileName the journalFileName to set
      */
-    public void setWorkingDir( String workingDir ) 
+    public void setJournalFileName( String journalFileName ) 
     {
-        this.workingDir = workingDir;
+        this.journalFileName = journalFileName;
     }
 
     
     /**
-     * @return the rotation
+     * @return the journal WorkingDir
      */
-    public int getRotation() 
+    public String getJournalWorkingDir() 
     {
-        return rotation;
+        return journalWorkingDir;
     }
 
     
     /**
-     * @param rotation the rotation to set
+     * @param journalWorkingDir the journal WorkingDir to set
      */
-    public void setRotation( int rotation ) 
+    public void setJournalWorkingDir( String journalWorkingDir ) 
     {
-        this.rotation = rotation;
+        this.journalWorkingDir = journalWorkingDir;
     }
 
     
     /**
-     * @return <code>true</code> if the Journal is enabled
+     * @return the journal Rotation
      */
-    public boolean isEnabled() 
+    public int getJournalRotation() 
     {
-        return enabled;
+        return journalRotation;
     }
 
     
     /**
-     * @param enabled Set the enabled flag
+     * @param journalRotation the journal Rotation to set
      */
-    public void setEnabled( boolean enabled ) 
+    public void setJournalRotation( int journalRotation ) 
     {
-        this.enabled = enabled;
+        this.journalRotation = journalRotation;
     }
 }