You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2007/09/27 21:55:10 UTC

svn commit: r580138 [1/2] - in /geronimo/plugins/directory/trunk: ./ directory/ directory/src/main/plan/ directory/src/main/resources/META-INF/ directory/src/plan/ geronimo-directory/ geronimo-directory/src/test/resources/

Author: djencks
Date: Thu Sep 27 12:55:09 2007
New Revision: 580138

URL: http://svn.apache.org/viewvc?rev=580138&view=rev
Log:
update directory plugin to something close to current geronimo-plugin usage

Added:
    geronimo/plugins/directory/trunk/directory/src/main/plan/
    geronimo/plugins/directory/trunk/directory/src/main/plan/plan.xml   (contents, props changed)
      - copied, changed from r563580, geronimo/plugins/directory/trunk/directory/src/plan/plan.xml
Removed:
    geronimo/plugins/directory/trunk/directory/src/plan/plan.xml
Modified:
    geronimo/plugins/directory/trunk/directory/pom.xml
    geronimo/plugins/directory/trunk/directory/src/main/resources/META-INF/server.xml
    geronimo/plugins/directory/trunk/geronimo-directory/pom.xml
    geronimo/plugins/directory/trunk/geronimo-directory/src/test/resources/server.xml
    geronimo/plugins/directory/trunk/pom.xml

Modified: geronimo/plugins/directory/trunk/directory/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/plugins/directory/trunk/directory/pom.xml?rev=580138&r1=580137&r2=580138&view=diff
==============================================================================
--- geronimo/plugins/directory/trunk/directory/pom.xml (original)
+++ geronimo/plugins/directory/trunk/directory/pom.xml Thu Sep 27 12:55:09 2007
@@ -21,20 +21,31 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 
     <modelVersion>4.0.0</modelVersion>
-    
+
     <parent>
         <groupId>org.apache.geronimo.plugins</groupId>
         <artifactId>directory-parent</artifactId>
-        <version>2.0-SNAPSHOT</version>
+        <version>2.1-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <artifactId>directory</artifactId>
-    <name>Geronimo Plugins :: Directory</name>
+    <name>Geronimo Apache Directory Plugin</name>
     <packaging>car</packaging>
-    
+    <description>
+        This plugin integrates the Apache Directory Server (ApacheDS)
+        LDAP server with Geronimo. That means that Geronimo will run
+        an embedded LDAP server when it starts. This LDAP server may
+        be used for LDAP security realms within Geronimo, as well as
+        for other purposes by Geronimo applications or by remote
+        applications.
+
+        For more information on the ApacheDS project, see
+        http://directory.apache.org/subprojects/apacheds/index.html
+    </description>
+
     <dependencies>
-        
+
         <dependency>
             <groupId>org.apache.geronimo.configs</groupId>
             <artifactId>j2ee-server</artifactId>
@@ -46,7 +57,7 @@
             <artifactId>geronimo-directory</artifactId>
             <version>${version}</version>
         </dependency>
-        
+
         <dependency>
             <groupId>org.apache.directory.server</groupId>
             <artifactId>apacheds-server-jndi</artifactId>
@@ -121,6 +132,14 @@
             <groupId>org.apache.directory.server</groupId>
             <artifactId>apacheds-protocol-shared</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.directory.server</groupId>
+            <artifactId>apacheds-xbean-spring</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.directory.server</groupId>
+            <artifactId>mitosis</artifactId>
+        </dependency>
 
         <dependency>
             <groupId>org.apache.directory.daemon</groupId>
@@ -132,6 +151,10 @@
         </dependency>
         <dependency>
             <groupId>org.apache.directory.shared</groupId>
+            <artifactId>shared-ldap-constants</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.directory.shared</groupId>
             <artifactId>shared-asn1</artifactId>
         </dependency>
         <dependency>
@@ -182,22 +205,22 @@
             <groupId>org.apache.xbean</groupId>
             <artifactId>xbean-spring</artifactId>
         </dependency>
-        <dependency>
-            <groupId>backport-util-concurrent</groupId>
-            <artifactId>backport-util-concurrent</artifactId>
-        </dependency>
+        <!--<dependency>-->
+        <!--<groupId>backport-util-concurrent</groupId>-->
+        <!--<artifactId>backport-util-concurrent</artifactId>-->
+        <!--</dependency>-->
 
         <dependency>
-          <groupId>commons-collections</groupId>
-          <artifactId>commons-collections</artifactId>
+            <groupId>commons-collections</groupId>
+            <artifactId>commons-collections</artifactId>
         </dependency>
         <dependency>
-          <groupId>antlr</groupId>
-          <artifactId>antlr</artifactId>
+            <groupId>antlr</groupId>
+            <artifactId>antlr</artifactId>
         </dependency>
         <dependency>
-          <groupId>jdbm</groupId>
-          <artifactId>jdbm</artifactId>
+            <groupId>jdbm</groupId>
+            <artifactId>jdbm</artifactId>
         </dependency>
     </dependencies>
 
@@ -205,7 +228,7 @@
         <!-- This property is required by the car:package mojo -->
         <geronimoVersion>${version}</geronimoVersion>
     </properties>
-    
+
     <build>
         <!--
 
@@ -233,6 +256,28 @@
                         <!-- Do not include META-INF/maven to avoid long file problems on windows -->
                         <addMavenDescriptor>false</addMavenDescriptor>
                     </archive>
+
+                    <category>LDAP</category>
+                    <osiApproved>true</osiApproved>
+
+
+                    <useMavenDependencies>
+                        <value>true</value>
+                        <includeVersion>true</includeVersion>
+                    </useMavenDependencies>
+                    <instance>
+                        <plugin-artifact>
+                            <copy-file relative-to="server" dest-dir="var/directory">META-INF/server.xml</copy-file>
+                            <config-xml-content>
+                               <gbean name="DirectoryService">
+                                    <attribute name="configFile">var/directory/server.xml</attribute>
+                                    <attribute name="workingDir">var/directory</attribute>
+                                    <attribute name="providerURL">${providerURL}</attribute>
+                                </gbean>
+                            </config-xml-content>
+                            <config-substitution key="providerURL">ou=system</config-substitution>
+                        </plugin-artifact>
+                    </instance>
                 </configuration>
             </plugin>
         </plugins>
@@ -243,5 +288,5 @@
             </resource>
         </resources>
     </build>
-    
+
 </project>

Copied: geronimo/plugins/directory/trunk/directory/src/main/plan/plan.xml (from r563580, geronimo/plugins/directory/trunk/directory/src/plan/plan.xml)
URL: http://svn.apache.org/viewvc/geronimo/plugins/directory/trunk/directory/src/main/plan/plan.xml?p2=geronimo/plugins/directory/trunk/directory/src/main/plan/plan.xml&p1=geronimo/plugins/directory/trunk/directory/src/plan/plan.xml&r1=563580&r2=580138&rev=580138&view=diff
==============================================================================
    (empty)

Propchange: geronimo/plugins/directory/trunk/directory/src/main/plan/plan.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/plugins/directory/trunk/directory/src/main/plan/plan.xml
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/plugins/directory/trunk/directory/src/main/plan/plan.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: geronimo/plugins/directory/trunk/directory/src/main/resources/META-INF/server.xml
URL: http://svn.apache.org/viewvc/geronimo/plugins/directory/trunk/directory/src/main/resources/META-INF/server.xml?rev=580138&r1=580137&r2=580138&view=diff
==============================================================================
--- geronimo/plugins/directory/trunk/directory/src/main/resources/META-INF/server.xml (original)
+++ geronimo/plugins/directory/trunk/directory/src/main/resources/META-INF/server.xml Thu Sep 27 12:55:09 2007
@@ -1,9 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
-  "http://www.springframework.org/dtd/spring-beans.dtd">
+        "http://www.springframework.org/dtd/spring-beans.dtd">
 
 <beans>
+<!-- bean I didn't convert -->
   <bean id="environment" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
     <property name="properties">
       <props>
@@ -11,446 +12,245 @@
         <prop key="java.naming.security.authentication">simple</prop>
         <prop key="java.naming.security.principal">uid=admin,ou=system</prop>
         <prop key="java.naming.security.credentials">secret</prop>
-        <!-- Set this key to a space delimited set of attributeType descriptions
-             and their OID's if you want an attributeType to be handled as
-             binary content.
-
-             The server will use the schema to derive the set of attributeTypes
-             to treat as binary.  The union if the values you provide here
-             will be taken as the set of binaries. Note to be consistent you
-             must add both the OID and all the names an attributeType can have.
-        -->
-        <!--
-        <prop key="java.naming.ldap.attributes.binary"></prop>
-        -->
       </props>
     </property>
   </bean>
 
-  <bean id="changePasswordConfiguration" class="org.apache.directory.server.changepw.ChangePasswordConfiguration">
-    <!-- Whether to enable the Change Password protocol.                    -->
-    <property name="enabled" value="false" />
-    <!-- The port to run the Change Password protocol on.                   -->
-    <property name="ipPort" value="464" />
-  </bean>
-
-  <bean id="ntpConfiguration" class="org.apache.directory.server.ntp.NtpConfiguration">
-    <!-- Whether to enable the NTP protocol.                                -->
-    <property name="enabled" value="false" />
-    <!-- The port to run the NTP protocol on.                               -->
-    <property name="ipPort" value="123" />
-  </bean>
-
-  <bean id="dnsConfiguration" class="org.apache.directory.server.dns.DnsConfiguration">
-    <!-- Whether to enable the DNS protocol.                                -->
-    <property name="enabled" value="false" />
-    <!-- The port to run the DNS protocol on.                               -->
-    <property name="ipPort" value="53" />
-  </bean>
-
-  <bean id="kdcConfiguration" class="org.apache.directory.server.kerberos.kdc.KdcConfiguration">
-    <!-- Whether to enable the Kerberos protocol.                           -->
-    <property name="enabled" value="false" />
-    <!-- The port to run the Kerberos protocol on.                          -->
-    <property name="ipPort" value="88" />
-  </bean>
-
-  <bean id="ldapsConfiguration" class="org.apache.directory.server.ldap.LdapConfiguration">
-    <!-- Whether to enable the LDAPS protocol.                               -->
-    <property name="enabled" value="false" />
-    <!-- The port to run the LDAPS protocol on.                              -->
-    <property name="ipPort" value="636" />
-
-    <property name="enableLdaps" value="true" />
-  </bean>
 
-  <bean id="ldapConfiguration" class="org.apache.directory.server.ldap.LdapConfiguration">
-    <!-- The port to run the LDAP protocol on.                              -->
-    <property name="ipPort" value="10389" />
-    <!-- Whether to allow anonymous access.                                 -->
-    <property name="allowAnonymousAccess" value="false" />
-
-    <!-- The list of supported authentication mechanisms.                   -->
-    <property name="supportedMechanisms">
-      <list>
-        <value>SIMPLE</value>
-        <value>CRAM-MD5</value>
-        <value>DIGEST-MD5</value>
-        <!--<value>GSSAPI</value>-->
-      </list>
-    </property>
-
-    <!-- The FQDN of this SASL host, validated during SASL negotiation.     -->
-    <property name="saslHost" value="ldap.example.com" />
-
-    <!-- The Kerberos principal name for this LDAP service, used by GSSAPI. -->
-    <property name="saslPrincipal" value="ldap/ldap.example.com@EXAMPLE.COM" />
-
-    <!-- The desired quality-of-protection, used by DIGEST-MD5 and GSSAPI.  -->
-    <property name="saslQop">
-      <list>
-        <value>auth</value>
-        <value>auth-int</value>
-        <value>auth-conf</value>
-      </list>
-    </property>
-
-    <!-- The realms serviced by this SASL host, used by DIGEST-MD5 and GSSAPI. -->
-    <property name="saslRealms">
-      <list>
-        <value>example.com</value>
-        <value>apache.org</value>
-      </list>
-    </property>
-
-    <!-- The base DN containing users that can be SASL authenticated.       -->
-    <property name="searchBaseDn" value="ou=users,ou=system" />
-
-    <!-- SSL CONFIG CAN GO HERE-->
-
-    <!-- limits searches by non-admin users to a max time of 15000          -->
-    <!-- milliseconds and has a default value of 10000                      -->
-    <property name="maxTimeLimit" value="15000" />
-
-    <!-- limits searches to max size of 1000 entries: default value is 100  -->
-    <property name="maxSizeLimit" value="1000" />
-
-    <!-- the collection of extended operation handlers to install           -->
-    <property name="extendedOperationHandlers">
-      <list>
-        <!--<bean class="org.apache.directory.server.ldap.support.starttls.StartTlsHandler"/>-->
-        <bean class="org.apache.directory.server.ldap.support.extended.GracefulShutdownHandler"/>
-        <bean class="org.apache.directory.server.ldap.support.extended.LaunchDiagnosticUiHandler"/>
-        <!-- The Stored Procedure Extended Operation is not stable yet and it may cause security risks.
-        <bean class="org.apache.directory.server.ldap.support.extended.StoredProcedureExtendedOperationHandler"/>
+  <mutableServerStartupConfiguration id="configuration" xmlns="http://apacheds.org/config/1.0"
+                                     workingDirectory="example.com"
+                                     synchPeriodMillis="15000"
+                                     maxThreads="8"
+                                     allowAnonymousAccess="false"
+                                     accessControlEnabled="false"
+                                     denormalizeOpAttrsEnabled="false"
+          >
+
+    <changePasswordConfiguration>
+      <changePasswordConfiguration
+              enabled="false"
+              ipPort="464">
+      </changePasswordConfiguration>
+    </changePasswordConfiguration>
+
+    <ntpConfiguration>
+      <ntpConfiguration
+              enabled="false"
+              ipPort="123">
+      </ntpConfiguration>
+    </ntpConfiguration>
+
+    <dnsConfiguration>
+      <dnsConfiguration
+              enabled="false"
+              ipPort="53">
+      </dnsConfiguration>
+    </dnsConfiguration>
+
+    <kdcConfiguration>
+      <kdcConfiguration
+              enabled="false"
+              ipPort="88">
+      </kdcConfiguration>
+    </kdcConfiguration>
+
+    <ldapsConfiguration>
+      <ldapConfiguration id="ldapsConfiguration"
+                         enabled="false"
+                         ipPort="636"
+                         enableLdaps="true">
+      </ldapConfiguration>
+    </ldapsConfiguration>
+
+    <ldapConfiguration>
+      <ldapConfiguration id="ldapConfiguration"
+              ipPort="10389"
+              allowAnonymousAccess="false"
+              saslHost="ldap.example.com"
+              saslPrincipal="ldap/ldap.example.com@EXAMPLE.COM"
+              searchBaseDn="ou=users,ou=system"
+              maxTimeLimit="15000"
+              maxSizeLimit="1000">
+
+        <!-- The list of supported authentication mechanisms.                   -->
+        <supportedMechanisms>
+          <value xmlns="http://www.springframework.org/schema/beans">SIMPLE</value>
+          <value xmlns="http://www.springframework.org/schema/beans">CRAM-MD5</value>
+          <value xmlns="http://www.springframework.org/schema/beans">DIGEST-MD5</value>
+          <!--<value xmlns="http://www.springframework.org/schema/beans">GSSAPI</value>-->
+        </supportedMechanisms>
+
+        <!-- The desired quality-of-protection, used by DIGEST-MD5 and GSSAPI.  -->
+        <saslQop>
+          <value xmlns="http://www.springframework.org/schema/beans">auth</value>
+          <value xmlns="http://www.springframework.org/schema/beans">auth-int</value>
+          <value xmlns="http://www.springframework.org/schema/beans">auth-conf</value>
+        </saslQop>
+
+        <!-- The realms serviced by this SASL host, used by DIGEST-MD5 and GSSAPI. -->
+        <saslRealms>
+          <value xmlns="http://www.springframework.org/schema/beans">example.com</value>
+          <value xmlns="http://www.springframework.org/schema/beans">apache.org</value>
+        </saslRealms>
+
+        <!-- the collection of extended operation handlers to install           -->
+        <extendedOperationHandlers>
+          <!--startTlsHandler/-->
+          <gracefulShutdownHandler/>
+          <launchDiagnosticUiHandler/>
+          <!-- The Stored Procedure Extended Operation is not stable yet and it may cause security risks.-->
+          <!--storedProcedureExtendedOperationHandler/-->
+        </extendedOperationHandlers>
+      </ldapConfiguration>
+    </ldapConfiguration>
+
+    <systemPartitionConfiguration>
+      <!-- use the following partitionConfiguration to override defaults for  -->
+      <!-- the system partition                                               -->
+      <mutableBTreePartitionConfiguration id="systemPartitionConfiguration"
+        name="system"
+        cacheSize="100"
+        suffix="ou=system"
+        optimizerEnabled="true"
+        synchOnWrite="true"
+        partitionClassName="org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition">
+        <indexedAttributes>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.1"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.2"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.3"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.4"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.5"
+              cacheSize="10"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.6"
+              cacheSize="10"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.7"
+              cacheSize="10"/>
+            <mutableIndexConfiguration
+              attributeId="ou"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="uid"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="objectClass"
+              cacheSize="100"/>
+        </indexedAttributes>
+        <contextEntry>
+          <value xmlns="http://www.springframework.org/schema/beans">
+            objectClass: top
+            objectClass: organizationalUnit
+            objectClass: extensibleObject
+            ou: system
+          </value>
+        </contextEntry>
+      </mutableBTreePartitionConfiguration>
+    </systemPartitionConfiguration>
+
+    <partitionConfigurations>
+      <mutableBTreePartitionConfiguration id="examplePartitionConfiguration"
+        name="example"
+        cacheSize="100"
+        suffix="dc=example,dc=com"
+        optimizerEnabled="true"
+        synchOnWrite="true"
+        partitionClassName="org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition">
+        <indexedAttributes>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.1"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.2"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.3"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.4"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.5"
+              cacheSize="10"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.6"
+              cacheSize="10"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.7"
+              cacheSize="10"/>
+            <mutableIndexConfiguration
+              attributeId="dc"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="ou"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="krb5PrincipalName"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="uid"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="objectClass"
+              cacheSize="100"/>
+        </indexedAttributes>
+        <contextEntry>
+          <value xmlns="http://www.springframework.org/schema/beans">
+            objectClass: top
+            objectClass: domain
+            objectClass: extensibleObject
+            dc: example
+          </value>
+        </contextEntry>
+      </mutableBTreePartitionConfiguration>
+    </partitionConfigurations>
+
+    <interceptors>
+      <normalizationService/>
+      <authenticationService/>
+      <referralService/>
+      <authorizationService/>
+      <defaultAuthorizationService/>
+      <exceptionService/>
+      <operationalAttributeService/>
+      <!-- Uncomment to enable the password policy service
+      <passwordPolicyService/>
+      <keyDerivationService/>
+      -->
+      <schemaService/>
+      <subentryService/>
+      <collectiveAttributeService/>
+      <eventService/>
+      <triggerService/>
+
+        <!-- Uncomment to enable replication service -->
+        <!--<replicationService >-->
+          <!--<configuration>-->
+            <!--<replicationConfiguration-->
+              <!--serverPort="10390"-->
+              <!--peerReplicas="instance_b@localhost:10392">-->
+              <!--<replicaId>-->
+                <!--<replicaId id="instance_a"/>-->
+              <!--</replicaId>-->
+            <!--</replicationConfiguration>-->
+          <!--</configuration>-->
+        <!--</replicationService>-->
+      <!--
         -->
-      </list>
-    </property>
-  </bean>
-
-  <bean id="configuration" class="org.apache.directory.server.configuration.MutableServerStartupConfiguration">
-    <property name="workingDirectory" value="example.com" />
-
-    <!-- Uncomment below to have the server load entries on startup!        -->
-    <!-- ldifDirectory property can point to a relative file, directory or  -->
-    <!-- can point to an absolute path to either using the URL path         -->
-    <!-- notation: i.e. file:///Users/jack/apacheds/ldifs                   -->
-    <!--
-    <property name="ldifDirectory">
-      <value>example.ldif</value>
-    </property>
-    -->
-
-    <!-- Entries will optionally be filtered using LdifLoadFilters in the   -->
-    <!-- order specified.                                                   -->
-    <!--
-    <property name="ldifFilters">
-      <list>
-        <bean class="com.example.MyEntryFilter"/>
-      </list>
-    </property>
-    -->
-
-    <!-- the number of milliseconds before issuing a synch (flush to disk)  -->
-    <!-- which writes out dirty pages back to disk.  To turn off synchs all -->
-    <!-- together simply set this value to <= 0.  Make sure you turn on     -->
-    <!-- synchOnWrite for all partitions if you do choose to do this or else-->
-    <!-- writes may never persist to disk.                                  -->
-    <property name="synchPeriodMillis" value="15000" />
-
-    <!-- maximum number of threads used by mina is set to 8: default is 4   -->
-    <property name="maxThreads" value="8" />
-
-    <property name="allowAnonymousAccess" value="false" />
-    <property name="accessControlEnabled" value="false" />
-
-    <!--
-       It's more efficient to keep this feature turned off but you may not like
-       having the creatorsName and modifiersName contain OIDs instead of short
-       attributeType names instead.  So if you want the creatorsName to change
-       from the normalized form which is the internal representation of
-
-            '0.9.2342.19200300.100.1.1=admin,2.5.4.11=system'
-
-       to a more human readabile form like:
-
-            'uid=admin,ou=system'
-
-       then set this property to true.
-    -->
-    <property name="denormalizeOpAttrsEnabled" value="false" />
-
-    <property name="ntpConfiguration" ref="ntpConfiguration" />
-    <property name="dnsConfiguration" ref="dnsConfiguration" />
-    <property name="changePasswordConfiguration" ref="changePasswordConfiguration" />
-    <property name="kdcConfiguration" ref="kdcConfiguration" />
-    <property name="ldapConfiguration" ref="ldapConfiguration" />
-    <property name="ldapsConfiguration" ref="ldapsConfiguration" />
-
-    <property name="systemPartitionConfiguration" ref="systemPartitionConfiguration" />
-
-    <property name="partitionConfigurations">
-      <set>
-        <ref bean="examplePartitionConfiguration"/>
-      </set>
-    </property>
-
-    <property name="interceptorConfigurations">
-      <list>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="normalizationService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.normalization.NormalizationService" />
-        </bean>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="authenticationService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.authn.AuthenticationService" />
-        </bean>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="referralService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.referral.ReferralService" />
-        </bean>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="authorizationService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.authz.AuthorizationService" />
-        </bean>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="defaultAuthorizationService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.authz.DefaultAuthorizationService" />
-        </bean>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="exceptionService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.exception.ExceptionService" />
-        </bean>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="operationalAttributeService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.operational.OperationalAttributeService" />
-        </bean>
-        <!-- Uncomment to enable the password policy service
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="passwordPolicyService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.kerberos.PasswordPolicyService" />
-        </bean>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="keyDerivationService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.kerberos.KeyDerivationService" />
-        </bean>
-        -->
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="schemaService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.schema.SchemaService" />
-        </bean>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="subentryService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.subtree.SubentryService" />
-        </bean>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="collectiveAttributeService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.collective.CollectiveAttributeService" />
-        </bean>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="eventService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.event.EventService" />
-        </bean>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="triggerService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.trigger.TriggerService" />
-        </bean>
-
-        <!-- Uncomment to enable replication service
-        <bean class="org.apache.directory.mitosis.configuration.MutableReplicationInterceptorConfiguration">
-          <property name="name" value="replicationService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.mitosis.service.ReplicationService" />
-          <property name="replicationConfiguration">
-            <bean class="org.apache.directory.mitosis.configuration.ReplicationConfiguration">
-              <property name="replicaId">
-                <bean class="org.apache.directory.mitosis.common.ReplicaId">
-                  <constructor-arg>
-                    <value>instance_a</value>
-                  </constructor-arg>
-                </bean>
-              </property>
-              <property name="serverPort" value="10390" />
-              <property name="peerReplicas" value="instance_b@localhost:10392" />
-            </bean>
-          </property>
-        </bean>
-        -->
-      </list>
-    </property>
-  </bean>
-
-  <!-- use the following partitionConfiguration to override defaults for  -->
-  <!-- the system partition                                               -->
-  <bean id="systemPartitionConfiguration" class="org.apache.directory.server.core.partition.impl.btree.MutableBTreePartitionConfiguration">
-    <property name="id" value="system" />
-    <property name="cacheSize" value="100" />
-    <property name="suffix" value="ou=system" />
-    <property name="partitionClassName"
-      value="org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition" />
-    <!-- the optimizer is enabled by default but may not always be what     -->
-    <!-- you want if your queries are really simple                         -->
-    <property name="optimizerEnabled" value="true" />
-
-    <!--
-      Synchronization on writes does not wait for synch operations
-      to flush dirty pages.  Writes persist immediately to disk at
-      a cost to performance with increased data integrity.  Otherwise
-      the periodic synch operation will flush dirty pages using the
-      synchPeriodMillis parameter in the main configuration.
-    -->
-    <property name="synchOnWrite" value="true" />
-    <property name="indexedAttributes">
-      <set>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.1" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.2" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.3" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.4" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.5" />
-          <property name="cacheSize" value="10" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.6" />
-          <property name="cacheSize" value="10" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.7" />
-          <property name="cacheSize" value="10" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="ou" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="uid" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="objectClass" />
-          <property name="cacheSize" value="100" />
-        </bean>
-      </set>
-    </property>
-    <property name="contextEntry">
-      <value>
-        objectClass: top
-        objectClass: organizationalUnit
-        objectClass: extensibleObject
-        ou: system
-      </value>
-    </property>
-  </bean>
+    </interceptors>
+  </mutableServerStartupConfiguration>
 
 
-  <bean id="examplePartitionConfiguration" class="org.apache.directory.server.core.partition.impl.btree.MutableBTreePartitionConfiguration">
-    <property name="id" value="example" />
-    <property name="cacheSize" value="100" />
-    <property name="suffix" value="dc=example,dc=com" />
-    <property name="partitionClassName"
-      value="org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition" />
-
-    <!-- the optimizer is enabled by default but may not always be what     -->
-    <!-- you want if your queries are really simple                         -->
-    <property name="optimizerEnabled" value="true" />
-
-    <!--
-      Synchronization on writes does not wait for synch operations
-      to flush dirty pages.  Writes persist immediately to disk at
-      a cost to performance with increased data integrity.  Otherwise
-      the periodic synch operation will flush dirty pages using the
-      synchPeriodMillis parameter in the main configuration.
-    -->
-    <property name="synchOnWrite" value="true" />
-    <property name="indexedAttributes">
-      <set>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.1" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.2" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.3" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.4" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.5" />
-          <property name="cacheSize" value="10" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.6" />
-          <property name="cacheSize" value="10" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.7" />
-          <property name="cacheSize" value="10" />
-        </bean>
-
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="dc" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="ou" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="krb5PrincipalName" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="uid" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="objectClass" />
-          <property name="cacheSize" value="100" />
-        </bean>
-      </set>
-    </property>
-    <property name="contextEntry">
-      <value>
-        objectClass: top
-        objectClass: domain
-        objectClass: extensibleObject
-        dc: example
-      </value>
-    </property>
-  </bean>
-
+<!-- another bean I didn't convert -->
   <bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
     <property name="customEditors">
       <map>
@@ -458,6 +258,6 @@
           <bean class="org.apache.directory.server.core.configuration.AttributesPropertyEditor"/>
         </entry>
       </map>
-   </property>
+    </property>
   </bean>
 </beans>

Modified: geronimo/plugins/directory/trunk/geronimo-directory/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/plugins/directory/trunk/geronimo-directory/pom.xml?rev=580138&r1=580137&r2=580138&view=diff
==============================================================================
--- geronimo/plugins/directory/trunk/geronimo-directory/pom.xml (original)
+++ geronimo/plugins/directory/trunk/geronimo-directory/pom.xml Thu Sep 27 12:55:09 2007
@@ -18,14 +18,15 @@
 
 <!-- $Rev$ $Date$ -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
         <groupId>org.apache.geronimo.plugins</groupId>
         <artifactId>directory-parent</artifactId>
-        <version>2.0-SNAPSHOT</version>
+        <version>2.1-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -33,7 +34,7 @@
     <name>Geronimo :: Directory Plugin</name>
 
     <dependencies>
-        
+
         <dependency>
             <groupId>org.apache.geronimo.modules</groupId>
             <artifactId>geronimo-system</artifactId>
@@ -51,46 +52,61 @@
         </dependency>
 
         <dependency>
-          <groupId>org.apache.directory.server</groupId>
-          <artifactId>apacheds-server-jndi</artifactId>
+            <groupId>org.apache.directory.server</groupId>
+            <artifactId>apacheds-server-jndi</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.directory.server</groupId>
+            <artifactId>apacheds-bootstrap-partition</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.directory.server</groupId>
+            <artifactId>apacheds-xbean-spring</artifactId>
         </dependency>
 
         <dependency>
-          <groupId>org.apache.directory.daemon</groupId>
-          <artifactId>daemon-bootstrappers</artifactId>
+            <groupId>org.apache.directory.server</groupId>
+            <artifactId>mitosis</artifactId>
         </dependency>
 
         <dependency>
-          <groupId>org.springframework</groupId>
-          <artifactId>spring</artifactId>
+            <groupId>org.apache.directory.daemon</groupId>
+            <artifactId>daemon-bootstrappers</artifactId>
         </dependency>
 
         <dependency>
-          <groupId>org.springframework</groupId>
-          <artifactId>spring-core</artifactId>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring</artifactId>
         </dependency>
 
         <dependency>
-          <groupId>org.springframework</groupId>
-          <artifactId>spring-beans</artifactId>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-core</artifactId>
         </dependency>
 
         <dependency>
-          <groupId>commons-logging</groupId>
-          <artifactId>commons-logging</artifactId>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-beans</artifactId>
         </dependency>
 
         <dependency>
-          <groupId>org.springframework</groupId>
-          <artifactId>spring-context</artifactId>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
         </dependency>
 
         <dependency>
-          <groupId>org.apache.xbean</groupId>
-          <artifactId>xbean-spring</artifactId>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.xbean</groupId>
+            <artifactId>xbean-spring</artifactId>
         </dependency>
 
     </dependencies>
-    
+
 </project>
 

Modified: geronimo/plugins/directory/trunk/geronimo-directory/src/test/resources/server.xml
URL: http://svn.apache.org/viewvc/geronimo/plugins/directory/trunk/geronimo-directory/src/test/resources/server.xml?rev=580138&r1=580137&r2=580138&view=diff
==============================================================================
--- geronimo/plugins/directory/trunk/geronimo-directory/src/test/resources/server.xml (original)
+++ geronimo/plugins/directory/trunk/geronimo-directory/src/test/resources/server.xml Thu Sep 27 12:55:09 2007
@@ -1,9 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
-  "http://www.springframework.org/dtd/spring-beans.dtd">
+        "http://www.springframework.org/dtd/spring-beans.dtd">
 
 <beans>
+<!-- bean I didn't convert -->
   <bean id="environment" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
     <property name="properties">
       <props>
@@ -11,446 +12,243 @@
         <prop key="java.naming.security.authentication">simple</prop>
         <prop key="java.naming.security.principal">uid=admin,ou=system</prop>
         <prop key="java.naming.security.credentials">secret</prop>
-        <!-- Set this key to a space delimited set of attributeType descriptions
-             and their OID's if you want an attributeType to be handled as
-             binary content.
-
-             The server will use the schema to derive the set of attributeTypes
-             to treat as binary.  The union if the values you provide here
-             will be taken as the set of binaries. Note to be consistent you
-             must add both the OID and all the names an attributeType can have.
-        -->
-        <!--
-        <prop key="java.naming.ldap.attributes.binary"></prop>
-        -->
       </props>
     </property>
   </bean>
 
-  <bean id="changePasswordConfiguration" class="org.apache.directory.server.changepw.ChangePasswordConfiguration">
-    <!-- Whether to enable the Change Password protocol.                    -->
-    <property name="enabled" value="false" />
-    <!-- The port to run the Change Password protocol on.                   -->
-    <property name="ipPort" value="464" />
-  </bean>
-
-  <bean id="ntpConfiguration" class="org.apache.directory.server.ntp.NtpConfiguration">
-    <!-- Whether to enable the NTP protocol.                                -->
-    <property name="enabled" value="false" />
-    <!-- The port to run the NTP protocol on.                               -->
-    <property name="ipPort" value="123" />
-  </bean>
 
-  <bean id="dnsConfiguration" class="org.apache.directory.server.dns.DnsConfiguration">
-    <!-- Whether to enable the DNS protocol.                                -->
-    <property name="enabled" value="false" />
-    <!-- The port to run the DNS protocol on.                               -->
-    <property name="ipPort" value="53" />
-  </bean>
-
-  <bean id="kdcConfiguration" class="org.apache.directory.server.kerberos.kdc.KdcConfiguration">
-    <!-- Whether to enable the Kerberos protocol.                           -->
-    <property name="enabled" value="false" />
-    <!-- The port to run the Kerberos protocol on.                          -->
-    <property name="ipPort" value="88" />
-  </bean>
-
-  <bean id="ldapsConfiguration" class="org.apache.directory.server.ldap.LdapConfiguration">
-    <!-- Whether to enable the LDAPS protocol.                               -->
-    <property name="enabled" value="false" />
-    <!-- The port to run the LDAPS protocol on.                              -->
-    <property name="ipPort" value="636" />
-
-    <property name="enableLdaps" value="true" />
-  </bean>
-
-  <bean id="ldapConfiguration" class="org.apache.directory.server.ldap.LdapConfiguration">
-    <!-- The port to run the LDAP protocol on.                              -->
-    <property name="ipPort" value="10389" />
-    <!-- Whether to allow anonymous access.                                 -->
-    <property name="allowAnonymousAccess" value="false" />
-
-    <!-- The list of supported authentication mechanisms.                   -->
-    <property name="supportedMechanisms">
-      <list>
-        <value>SIMPLE</value>
-        <value>CRAM-MD5</value>
-        <value>DIGEST-MD5</value>
-        <!--<value>GSSAPI</value>-->
-      </list>
-    </property>
+  <mutableServerStartupConfiguration id="configuration" xmlns="http://apacheds.org/config/1.0"
+                                     workingDirectory="example.com"
+                                     synchPeriodMillis="15000"
+                                     maxThreads="8"
+                                     allowAnonymousAccess="false"
+                                     accessControlEnabled="false"
+                                     denormalizeOpAttrsEnabled="false"
+          >
+
+    <changePasswordConfiguration>
+      <changePasswordConfiguration
+              enabled="false"
+              ipPort="464">
+      </changePasswordConfiguration>
+    </changePasswordConfiguration>
+
+    <ntpConfiguration>
+      <ntpConfiguration
+              enabled="false"
+              ipPort="123">
+      </ntpConfiguration>
+    </ntpConfiguration>
+
+    <dnsConfiguration>
+      <dnsConfiguration
+              enabled="false"
+              ipPort="53">
+      </dnsConfiguration>
+    </dnsConfiguration>
+
+    <kdcConfiguration>
+      <kdcConfiguration
+              enabled="false"
+              ipPort="88">
+      </kdcConfiguration>
+    </kdcConfiguration>
+
+    <ldapsConfiguration>
+      <ldapConfiguration id="ldapsConfiguration"
+                         enabled="false"
+                         ipPort="636"
+                         enableLdaps="true">
+      </ldapConfiguration>
+    </ldapsConfiguration>
+
+    <ldapConfiguration>
+      <ldapConfiguration id="ldapConfiguration"
+              ipPort="10389"
+              allowAnonymousAccess="false"
+              saslHost="ldap.example.com"
+              saslPrincipal="ldap/ldap.example.com@EXAMPLE.COM"
+              searchBaseDn="ou=users,ou=system"
+              maxTimeLimit="15000"
+              maxSizeLimit="1000">
+
+        <!-- The list of supported authentication mechanisms.                   -->
+        <supportedMechanisms>
+          <value xmlns="http://www.springframework.org/schema/beans">SIMPLE</value>
+          <value xmlns="http://www.springframework.org/schema/beans">CRAM-MD5</value>
+          <value xmlns="http://www.springframework.org/schema/beans">DIGEST-MD5</value>
+          <!--<value xmlns="http://www.springframework.org/schema/beans">GSSAPI</value>-->
+        </supportedMechanisms>
+
+        <!-- The desired quality-of-protection, used by DIGEST-MD5 and GSSAPI.  -->
+        <saslQop>
+          <value xmlns="http://www.springframework.org/schema/beans">auth</value>
+          <value xmlns="http://www.springframework.org/schema/beans">auth-int</value>
+          <value xmlns="http://www.springframework.org/schema/beans">auth-conf</value>
+        </saslQop>
+
+        <!-- The realms serviced by this SASL host, used by DIGEST-MD5 and GSSAPI. -->
+        <saslRealms>
+          <value xmlns="http://www.springframework.org/schema/beans">example.com</value>
+          <value xmlns="http://www.springframework.org/schema/beans">apache.org</value>
+        </saslRealms>
+
+        <!-- the collection of extended operation handlers to install           -->
+        <extendedOperationHandlers>
+          <!--startTlsHandler/-->
+          <gracefulShutdownHandler/>
+          <launchDiagnosticUiHandler/>
+          <!-- The Stored Procedure Extended Operation is not stable yet and it may cause security risks.-->
+          <!--storedProcedureExtendedOperationHandler/-->
+        </extendedOperationHandlers>
+      </ldapConfiguration>
+    </ldapConfiguration>
+
+    <systemPartitionConfiguration>
+      <!-- use the following partitionConfiguration to override defaults for  -->
+      <!-- the system partition                                               -->
+      <mutableBTreePartitionConfiguration id="systemPartitionConfiguration"
+        name="system"
+        cacheSize="100"
+        suffix="ou=system"
+        optimizerEnabled="true"
+        synchOnWrite="true"
+        partitionClassName="org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition">
+        <indexedAttributes>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.1"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.2"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.3"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.4"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.5"
+              cacheSize="10"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.6"
+              cacheSize="10"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.7"
+              cacheSize="10"/>
+            <mutableIndexConfiguration
+              attributeId="ou"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="uid"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="objectClass"
+              cacheSize="100"/>
+        </indexedAttributes>
+        <contextEntry>
+          <value xmlns="http://www.springframework.org/schema/beans">
+            objectClass: top
+            objectClass: organizationalUnit
+            objectClass: extensibleObject
+            ou: system
+          </value>
+        </contextEntry>
+      </mutableBTreePartitionConfiguration>
+    </systemPartitionConfiguration>
+
+    <partitionConfigurations>
+      <mutableBTreePartitionConfiguration id="examplePartitionConfiguration"
+        name="example"
+        cacheSize="100"
+        suffix="dc=example,dc=com"
+        optimizerEnabled="true"
+        synchOnWrite="true"
+        partitionClassName="org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition">
+        <indexedAttributes>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.1"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.2"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.3"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.4"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.5"
+              cacheSize="10"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.6"
+              cacheSize="10"/>
+            <mutableIndexConfiguration
+              attributeId="1.3.6.1.4.1.18060.0.4.1.2.7"
+              cacheSize="10"/>
+            <mutableIndexConfiguration
+              attributeId="dc"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="ou"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="krb5PrincipalName"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="uid"
+              cacheSize="100"/>
+            <mutableIndexConfiguration
+              attributeId="objectClass"
+              cacheSize="100"/>
+        </indexedAttributes>
+        <contextEntry>
+          <value xmlns="http://www.springframework.org/schema/beans">
+            objectClass: top
+            objectClass: domain
+            objectClass: extensibleObject
+            dc: example
+          </value>
+        </contextEntry>
+      </mutableBTreePartitionConfiguration>
+    </partitionConfigurations>
+
+    <interceptors>
+      <normalizationService/>
+      <authenticationService/>
+      <referralService/>
+      <authorizationService/>
+      <defaultAuthorizationService/>
+      <exceptionService/>
+      <operationalAttributeService/>
+      <!-- Uncomment to enable the password policy service
+      <passwordPolicyService/>
+      <keyDerivationService/>
+      -->
+      <schemaService/>
+      <subentryService/>
+      <collectiveAttributeService/>
+      <eventService/>
+      <triggerService/>
+
+        <!-- Uncomment to enable replication service -->
+        <!--<replicationService >-->
+          <!--<configuration>-->
+            <!--<replicationConfiguration-->
+              <!--serverPort="10390"-->
+              <!--peerReplicas="instance_b@localhost:10392">-->
+              <!--<replicaId>-->
+                <!--<replicaId id="instance_a"/>-->
+              <!--</replicaId>-->
+            <!--</replicationConfiguration>-->
+          <!--</configuration>-->
+        <!--</replicationService>-->
+    </interceptors>
+  </mutableServerStartupConfiguration>
 
-    <!-- The FQDN of this SASL host, validated during SASL negotiation.     -->
-    <property name="saslHost" value="ldap.example.com" />
-
-    <!-- The Kerberos principal name for this LDAP service, used by GSSAPI. -->
-    <property name="saslPrincipal" value="ldap/ldap.example.com@EXAMPLE.COM" />
-
-    <!-- The desired quality-of-protection, used by DIGEST-MD5 and GSSAPI.  -->
-    <property name="saslQop">
-      <list>
-        <value>auth</value>
-        <value>auth-int</value>
-        <value>auth-conf</value>
-      </list>
-    </property>
-
-    <!-- The realms serviced by this SASL host, used by DIGEST-MD5 and GSSAPI. -->
-    <property name="saslRealms">
-      <list>
-        <value>example.com</value>
-        <value>apache.org</value>
-      </list>
-    </property>
-
-    <!-- The base DN containing users that can be SASL authenticated.       -->
-    <property name="searchBaseDn" value="ou=users,ou=system" />
-
-    <!-- SSL CONFIG CAN GO HERE-->
-
-    <!-- limits searches by non-admin users to a max time of 15000          -->
-    <!-- milliseconds and has a default value of 10000                      -->
-    <property name="maxTimeLimit" value="15000" />
-
-    <!-- limits searches to max size of 1000 entries: default value is 100  -->
-    <property name="maxSizeLimit" value="1000" />
-
-    <!-- the collection of extended operation handlers to install           -->
-    <property name="extendedOperationHandlers">
-      <list>
-        <!--<bean class="org.apache.directory.server.ldap.support.starttls.StartTlsHandler"/>-->
-        <bean class="org.apache.directory.server.ldap.support.extended.GracefulShutdownHandler"/>
-        <bean class="org.apache.directory.server.ldap.support.extended.LaunchDiagnosticUiHandler"/>
-        <!-- The Stored Procedure Extended Operation is not stable yet and it may cause security risks.
-        <bean class="org.apache.directory.server.ldap.support.extended.StoredProcedureExtendedOperationHandler"/>
-        -->
-      </list>
-    </property>
-  </bean>
-
-  <bean id="configuration" class="org.apache.directory.server.configuration.MutableServerStartupConfiguration">
-    <property name="workingDirectory" value="example.com" />
-
-    <!-- Uncomment below to have the server load entries on startup!        -->
-    <!-- ldifDirectory property can point to a relative file, directory or  -->
-    <!-- can point to an absolute path to either using the URL path         -->
-    <!-- notation: i.e. file:///Users/jack/apacheds/ldifs                   -->
-    <!--
-    <property name="ldifDirectory">
-      <value>example.ldif</value>
-    </property>
-    -->
-
-    <!-- Entries will optionally be filtered using LdifLoadFilters in the   -->
-    <!-- order specified.                                                   -->
-    <!--
-    <property name="ldifFilters">
-      <list>
-        <bean class="com.example.MyEntryFilter"/>
-      </list>
-    </property>
-    -->
-
-    <!-- the number of milliseconds before issuing a synch (flush to disk)  -->
-    <!-- which writes out dirty pages back to disk.  To turn off synchs all -->
-    <!-- together simply set this value to <= 0.  Make sure you turn on     -->
-    <!-- synchOnWrite for all partitions if you do choose to do this or else-->
-    <!-- writes may never persist to disk.                                  -->
-    <property name="synchPeriodMillis" value="15000" />
-
-    <!-- maximum number of threads used by mina is set to 8: default is 4   -->
-    <property name="maxThreads" value="8" />
-
-    <property name="allowAnonymousAccess" value="false" />
-    <property name="accessControlEnabled" value="false" />
-
-    <!--
-       It's more efficient to keep this feature turned off but you may not like
-       having the creatorsName and modifiersName contain OIDs instead of short
-       attributeType names instead.  So if you want the creatorsName to change
-       from the normalized form which is the internal representation of
-
-            '0.9.2342.19200300.100.1.1=admin,2.5.4.11=system'
-
-       to a more human readabile form like:
-
-            'uid=admin,ou=system'
-
-       then set this property to true.
-    -->
-    <property name="denormalizeOpAttrsEnabled" value="false" />
-
-    <property name="ntpConfiguration" ref="ntpConfiguration" />
-    <property name="dnsConfiguration" ref="dnsConfiguration" />
-    <property name="changePasswordConfiguration" ref="changePasswordConfiguration" />
-    <property name="kdcConfiguration" ref="kdcConfiguration" />
-    <property name="ldapConfiguration" ref="ldapConfiguration" />
-    <property name="ldapsConfiguration" ref="ldapsConfiguration" />
-
-    <property name="systemPartitionConfiguration" ref="systemPartitionConfiguration" />
-
-    <property name="partitionConfigurations">
-      <set>
-        <ref bean="examplePartitionConfiguration"/>
-      </set>
-    </property>
-
-    <property name="interceptorConfigurations">
-      <list>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="normalizationService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.normalization.NormalizationService" />
-        </bean>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="authenticationService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.authn.AuthenticationService" />
-        </bean>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="referralService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.referral.ReferralService" />
-        </bean>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="authorizationService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.authz.AuthorizationService" />
-        </bean>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="defaultAuthorizationService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.authz.DefaultAuthorizationService" />
-        </bean>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="exceptionService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.exception.ExceptionService" />
-        </bean>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="operationalAttributeService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.operational.OperationalAttributeService" />
-        </bean>
-        <!-- Uncomment to enable the password policy service
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="passwordPolicyService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.kerberos.PasswordPolicyService" />
-        </bean>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="keyDerivationService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.kerberos.KeyDerivationService" />
-        </bean>
-        -->
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="schemaService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.schema.SchemaService" />
-        </bean>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="subentryService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.subtree.SubentryService" />
-        </bean>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="collectiveAttributeService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.collective.CollectiveAttributeService" />
-        </bean>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="eventService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.event.EventService" />
-        </bean>
-        <bean class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
-          <property name="name" value="triggerService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.server.core.trigger.TriggerService" />
-        </bean>
-
-        <!-- Uncomment to enable replication service
-        <bean class="org.apache.directory.mitosis.configuration.MutableReplicationInterceptorConfiguration">
-          <property name="name" value="replicationService" />
-          <property name="interceptorClassName"
-            value="org.apache.directory.mitosis.service.ReplicationService" />
-          <property name="replicationConfiguration">
-            <bean class="org.apache.directory.mitosis.configuration.ReplicationConfiguration">
-              <property name="replicaId">
-                <bean class="org.apache.directory.mitosis.common.ReplicaId">
-                  <constructor-arg>
-                    <value>instance_a</value>
-                  </constructor-arg>
-                </bean>
-              </property>
-              <property name="serverPort" value="10390" />
-              <property name="peerReplicas" value="instance_b@localhost:10392" />
-            </bean>
-          </property>
-        </bean>
-        -->
-      </list>
-    </property>
-  </bean>
-
-  <!-- use the following partitionConfiguration to override defaults for  -->
-  <!-- the system partition                                               -->
-  <bean id="systemPartitionConfiguration" class="org.apache.directory.server.core.partition.impl.btree.MutableBTreePartitionConfiguration">
-    <property name="id" value="system" />
-    <property name="cacheSize" value="100" />
-    <property name="suffix" value="ou=system" />
-    <property name="partitionClassName"
-      value="org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition" />
-    <!-- the optimizer is enabled by default but may not always be what     -->
-    <!-- you want if your queries are really simple                         -->
-    <property name="optimizerEnabled" value="true" />
-
-    <!--
-      Synchronization on writes does not wait for synch operations
-      to flush dirty pages.  Writes persist immediately to disk at
-      a cost to performance with increased data integrity.  Otherwise
-      the periodic synch operation will flush dirty pages using the
-      synchPeriodMillis parameter in the main configuration.
-    -->
-    <property name="synchOnWrite" value="true" />
-    <property name="indexedAttributes">
-      <set>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.1" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.2" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.3" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.4" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.5" />
-          <property name="cacheSize" value="10" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.6" />
-          <property name="cacheSize" value="10" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.7" />
-          <property name="cacheSize" value="10" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="ou" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="uid" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="objectClass" />
-          <property name="cacheSize" value="100" />
-        </bean>
-      </set>
-    </property>
-    <property name="contextEntry">
-      <value>
-        objectClass: top
-        objectClass: organizationalUnit
-        objectClass: extensibleObject
-        ou: system
-      </value>
-    </property>
-  </bean>
-
-
-  <bean id="examplePartitionConfiguration" class="org.apache.directory.server.core.partition.impl.btree.MutableBTreePartitionConfiguration">
-    <property name="id" value="example" />
-    <property name="cacheSize" value="100" />
-    <property name="suffix" value="dc=example,dc=com" />
-    <property name="partitionClassName"
-      value="org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition" />
-
-    <!-- the optimizer is enabled by default but may not always be what     -->
-    <!-- you want if your queries are really simple                         -->
-    <property name="optimizerEnabled" value="true" />
-
-    <!--
-      Synchronization on writes does not wait for synch operations
-      to flush dirty pages.  Writes persist immediately to disk at
-      a cost to performance with increased data integrity.  Otherwise
-      the periodic synch operation will flush dirty pages using the
-      synchPeriodMillis parameter in the main configuration.
-    -->
-    <property name="synchOnWrite" value="true" />
-    <property name="indexedAttributes">
-      <set>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.1" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.2" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.3" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.4" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.5" />
-          <property name="cacheSize" value="10" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.6" />
-          <property name="cacheSize" value="10" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="1.3.6.1.4.1.18060.0.4.1.2.7" />
-          <property name="cacheSize" value="10" />
-        </bean>
-
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="dc" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="ou" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="krb5PrincipalName" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="uid" />
-          <property name="cacheSize" value="100" />
-        </bean>
-        <bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
-          <property name="attributeId" value="objectClass" />
-          <property name="cacheSize" value="100" />
-        </bean>
-      </set>
-    </property>
-    <property name="contextEntry">
-      <value>
-        objectClass: top
-        objectClass: domain
-        objectClass: extensibleObject
-        dc: example
-      </value>
-    </property>
-  </bean>
 
+<!-- another bean I didn't convert -->
   <bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
     <property name="customEditors">
       <map>
@@ -458,6 +256,6 @@
           <bean class="org.apache.directory.server.core.configuration.AttributesPropertyEditor"/>
         </entry>
       </map>
-   </property>
+    </property>
   </bean>
 </beans>