From 1a44dbda59f95c7170bbd9e2693a3ec1ff347cb8 Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Fri, 31 Aug 2007 22:49:33 +0000
Subject: [PATCH] Create configuration definitions for "generic" objects in the server configuration.  This also includes allocating object classes for each of these types.  This will help make it easier for users to create new instances of these kinds of configuration objects because they will not need to know the fully-qualified name of the Java class that implements the associated logic.

---
 opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SHA1PasswordStorageSchemeTestCase.java         |    8 
 opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/EntryUUIDPluginTestCase.java                      |   20 
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SaltedSHA256PasswordStorageSchemeConfiguration.xml                  |   64 +
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/EntryUUIDVirtualAttributeConfiguration.xml                          |   64 +
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/CancelExtendedOperationHandlerConfiguration.xml                     |   63 +
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/JMXAlertHandlerConfiguration.xml                                    |   60 +
 opendj-sdk/opends/src/server/org/opends/server/extensions/EntryUUIDVirtualAttributeProvider.java                                 |   10 
 opendj-sdk/opends/src/server/org/opends/server/extensions/IsMemberOfVirtualAttributeProvider.java                                |    8 
 opendj-sdk/opends/src/server/org/opends/server/extensions/SHA1PasswordStorageScheme.java                                         |   20 
 opendj-sdk/opends/src/server/org/opends/server/extensions/CryptPasswordStorageScheme.java                                        |   22 
 opendj-sdk/opends/src/server/org/opends/server/extensions/EntryDNVirtualAttributeProvider.java                                   |    8 
 opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/LDAPADListPluginTestCase.java                     |   16 
 opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/AuthPasswordEqualityMatchingRuleTest.java          |   22 
 opendj-sdk/opends/src/server/org/opends/server/extensions/PasswordPolicyStateExtendedOperation.java                              |   14 
 opendj-sdk/opends/src/server/org/opends/server/extensions/VirtualStaticGroup.java                                                |   12 
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/PasswordPolicyStateExtendedOperationHandlerConfiguration.xml        |   64 +
 opendj-sdk/opends/resource/config/config.ldif                                                                                    |  115 +
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SaltedSHA512PasswordStorageSchemeConfiguration.xml                  |   64 +
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/EntryDNVirtualAttributeConfiguration.xml                            |   62 +
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/ClearPasswordStorageSchemeConfiguration.xml                         |   63 +
 opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/UserPasswordEqualityMatchingRuleTest.java          |   22 
 opendj-sdk/opends/src/server/org/opends/server/extensions/StaticGroup.java                                                       |   30 
 opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/ClearPasswordStorageSchemeTestCase.java        |    8 
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/AnonymousSASLMechanismHandlerConfiguration.xml                      |   60 +
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/ConfigFileHandlerBackendConfiguration.xml                           |   62 +
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/CryptPasswordStorageSchemeConfiguration.xml                         |   63 +
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/MD5PasswordStorageSchemeConfiguration.xml                           |   63 +
 opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA384PasswordStorageScheme.java                                 |   22 
 opendj-sdk/opends/src/server/org/opends/server/plugins/LastModPlugin.java                                                        |   48 
 opendj-sdk/opends/src/server/org/opends/server/monitors/VersionMonitorProvider.java                                              |   10 
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SystemInfoMonitorProviderConfiguration.xml                          |   61 +
 opendj-sdk/opends/src/server/org/opends/server/extensions/NumSubordinatesVirtualAttributeProvider.java                           |   45 
 opendj-sdk/opends/src/server/org/opends/server/extensions/MD5PasswordStorageScheme.java                                          |   19 
 opendj-sdk/opends/src/server/org/opends/server/extensions/SubjectEqualsDNCertificateMapper.java                                  |   12 
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SaltedMD5PasswordStorageSchemeConfiguration.xml                     |   64 +
 opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedMD5PasswordStorageSchemeTestCase.java    |   10 
 opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedSHA1PasswordStorageSchemeTestCase.java   |   12 
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/BlindTrustManagerConfiguration.xml                                  |   62 +
 opendj-sdk/opends/src/server/org/opends/server/extensions/SubschemaSubentryVirtualAttributeProvider.java                         |   12 
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/DynamicGroupImplementationConfiguration.xml                         |   62 +
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/LastModPluginConfiguration.xml                                      |   63 +
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/ClientConnectionMonitorProviderConfiguration.xml                    |   61 +
 opendj-sdk/opends/src/server/org/opends/server/extensions/GetConnectionIDExtendedOperation.java                                  |   10 
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/Base64PasswordStorageSchemeConfiguration.xml                        |   63 +
 opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedSHA512PasswordStorageSchemeTestCase.java |    9 
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/VirtualStaticGroupImplementationConfiguration.xml                   |   65 +
 opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/MD5PasswordStorageSchemeTestCase.java          |    8 
 opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedSHA256PasswordStorageSchemeTestCase.java |    9 
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/StackTraceMonitorProviderConfiguration.xml                          |   61 +
 opendj-sdk/opends/src/server/org/opends/server/extensions/CancelExtendedOperation.java                                           |   22 
 opendj-sdk/opends/src/server/org/opends/server/monitors/StackTraceMonitorProvider.java                                           |    8 
 opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA512PasswordStorageScheme.java                                 |   20 
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/VersionMonitorProviderConfiguration.xml                             |   61 +
 opendj-sdk/opends/src/server/org/opends/server/backends/MonitorBackend.java                                                      |   51 
 opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA1PasswordStorageScheme.java                                   |   22 
 opendj-sdk/opends/src/server/org/opends/server/plugins/LDAPADListPlugin.java                                                     |   45 
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SHA1PasswordStorageSchemeConfiguration.xml                          |   63 +
 opendj-sdk/opends/src/server/org/opends/server/extensions/WhoAmIExtendedOperation.java                                           |   10 
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SubjectEqualsDNCertificateMapperConfiguration.xml                   |   61 +
 opendj-sdk/opends/src/server/org/opends/server/extensions/StartTLSExtendedOperation.java                                         |   22 
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/NumSubordinatesVirtualAttributeConfiguration.xml                    |   61 +
 opendj-sdk/opends/src/server/org/opends/server/extensions/ClearPasswordStorageScheme.java                                        |   24 
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/LDAPAttributeDescriptionListPluginConfiguration.xml                 |   63 +
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/MemoryBackendConfiguration.xml                                      |   61 +
 opendj-sdk/opends/resource/admin/abbreviations.xsl                                                                               |    4 
 opendj-sdk/opends/src/server/org/opends/server/backends/MemoryBackend.java                                                       |   34 
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SaltedSHA384PasswordStorageSchemeConfiguration.xml                  |   64 +
 opendj-sdk/opends/src/server/org/opends/server/extensions/Base64PasswordStorageScheme.java                                       |   26 
 opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedMD5PasswordStorageScheme.java                                    |   21 
 opendj-sdk/opends/src/server/org/opends/server/monitors/SystemInfoMonitorProvider.java                                           |   12 
 opendj-sdk/opends/src/server/org/opends/server/extensions/AnonymousSASLMechanismHandler.java                                     |   15 
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/MonitorBackendConfiguration.xml                                     |   59 
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SaltedSHA1PasswordStorageSchemeConfiguration.xml                    |   64 +
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/GetConnectionIdExtendedOperationHandlerConfiguration.xml            |   62 +
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/StartTLSExtendedOperationHandlerConfiguration.xml                   |   62 +
 opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA256PasswordStorageScheme.java                                 |   22 
 opendj-sdk/opends/src/server/org/opends/server/extensions/HasSubordinatesVirtualAttributeProvider.java                           |   45 
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/WhoAmIExtendedOperationHandlerConfiguration.xml                     |   62 +
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/HasSubordinatesVirtualAttributeConfiguration.xml                    |   61 +
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/IsMemberOfVirtualAttributeConfiguration.xml                         |   61 +
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SubschemaSubentryVirtualAttributeConfiguration.xml                  |   61 +
 opendj-sdk/opends/src/server/org/opends/server/plugins/EntryUUIDPlugin.java                                                      |   41 
 opendj-sdk/opends/src/server/org/opends/server/monitors/ClientConnectionMonitorProvider.java                                     |    8 
 opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/Base64PasswordStorageSchemeTestCase.java       |    8 
 opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/core/BackendConfigManagerTestCase.java                    |    1 
 opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/LastModPluginTestCase.java                        |   21 
 opendj-sdk/opends/src/server/org/opends/server/extensions/DynamicGroup.java                                                      |   14 
 opendj-sdk/opends/src/server/org/opends/server/extensions/JMXAlertHandler.java                                                   |   17 
 opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedSHA384PasswordStorageSchemeTestCase.java |    9 
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/EntryUUIDPluginConfiguration.xml                                    |   61 +
 opendj-sdk/opends/src/server/org/opends/server/extensions/BlindTrustManagerProvider.java                                         |   10 
 opendj-sdk/opends/resource/schema/02-config.ldif                                                                                 |  123 ++
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/StaticGroupImplementationConfiguration.xml                          |   64 +
 93 files changed, 3,124 insertions(+), 457 deletions(-)

diff --git a/opendj-sdk/opends/resource/admin/abbreviations.xsl b/opendj-sdk/opends/resource/admin/abbreviations.xsl
index 163f76c..def5a86 100644
--- a/opendj-sdk/opends/resource/admin/abbreviations.xsl
+++ b/opendj-sdk/opends/resource/admin/abbreviations.xsl
@@ -48,7 +48,9 @@
               or $value = 'jdbc' or $value = 'tcp' or $value = 'tls'
               or $value = 'pkcs11' or $value = 'sasl' or $value = 'gssapi'
               or $value = 'md5' or $value = 'je' or $value = 'dse'
-              or $value = 'fifo' or $value= 'vlv'
+              or $value = 'fifo' or $value = 'vlv' or $value = 'uuid'
+              or $value = 'md5' or $value = 'sha1' or $value = 'sha256'
+              or $value = 'sha384' or $value = 'sha512' or $value = 'tls'
              "/>
   </xsl:template>
 </xsl:stylesheet>
diff --git a/opendj-sdk/opends/resource/config/config.ldif b/opendj-sdk/opends/resource/config/config.ldif
index 8400b21..d20663e 100644
--- a/opendj-sdk/opends/resource/config/config.ldif
+++ b/opendj-sdk/opends/resource/config/config.ldif
@@ -151,6 +151,7 @@
 dn: cn=JMX Alert Handler,cn=Alert Handlers,cn=config
 objectClass: top
 objectClass: ds-cfg-alert-handler
+objectClass: ds-cfg-jmx-alert-handler
 cn: JMX Alert Handler
 ds-cfg-alert-handler-class: org.opends.server.extensions.JMXAlertHandler
 ds-cfg-alert-handler-enabled: false
@@ -305,6 +306,7 @@
 dn: ds-cfg-backend-id=config,cn=Backends,cn=config
 objectClass: top
 objectClass: ds-cfg-backend
+objectClass: ds-cfg-config-file-handler-backend
 ds-cfg-backend-enabled: true
 ds-cfg-backend-class: org.opends.server.extensions.ConfigFileHandler
 ds-cfg-backend-id: config
@@ -327,6 +329,7 @@
 dn: ds-cfg-backend-id=monitor,cn=Backends,cn=config
 objectClass: top
 objectClass: ds-cfg-backend
+objectClass: ds-cfg-monitor-backend
 ds-cfg-backend-enabled: true
 ds-cfg-backend-class: org.opends.server.backends.MonitorBackend
 ds-cfg-backend-id: monitor
@@ -364,6 +367,7 @@
 dn: cn=Subject Equals DN,cn=Certificate Mappers,cn=config
 objectClass: top
 objectClass: ds-cfg-certificate-mapper
+objectClass: ds-cfg-subject-equals-dn-certificate-mapper
 cn: Subject Equals DN
 ds-cfg-certificate-mapper-class: org.opends.server.extensions.SubjectEqualsDNCertificateMapper
 ds-cfg-certificate-mapper-enabled: true
@@ -477,6 +481,7 @@
 dn: cn=Cancel,cn=Extended Operations,cn=config
 objectClass: top
 objectClass: ds-cfg-extended-operation-handler
+objectClass: ds-cfg-cancel-extended-operation-handler
 cn: Cancel
 ds-cfg-extended-operation-handler-class: org.opends.server.extensions.CancelExtendedOperation
 ds-cfg-extended-operation-handler-enabled: true
@@ -484,6 +489,7 @@
 dn: cn=Get Connection ID,cn=Extended Operations,cn=config
 objectClass: top
 objectClass: ds-cfg-extended-operation-handler
+objectClass: ds-cfg-get-connection-id-extended-operation-handler
 cn: Cancel
 ds-cfg-extended-operation-handler-class: org.opends.server.extensions.GetConnectionIDExtendedOperation
 ds-cfg-extended-operation-handler-enabled: true
@@ -499,7 +505,8 @@
 
 dn: cn=Password Policy State,cn=Extended Operations,cn=config
 objectClass: top
-objectCLass: ds-cfg-extended-operation-handler
+objectClass: ds-cfg-extended-operation-handler
+objectClass: ds-cfg-password-policy-state-extended-operation-handler
 cn: Password Policy State
 ds-cfg-extended-operation-handler-class: org.opends.server.extensions.PasswordPolicyStateExtendedOperation
 ds-cfg-extended-operation-handler-enabled: true
@@ -507,6 +514,7 @@
 dn: cn=StartTLS,cn=Extended Operations,cn=config
 objectClass: top
 objectClass: ds-cfg-extended-operation-handler
+objectClass: ds-cfg-starttls-extended-operation-handler
 cn: StartTLS
 ds-cfg-extended-operation-handler-class: org.opends.server.extensions.StartTLSExtendedOperation
 ds-cfg-extended-operation-handler-enabled: true
@@ -514,6 +522,7 @@
 dn: cn=Who Am I,cn=Extended Operations,cn=config
 objectClass: top
 objectClass: ds-cfg-extended-operation-handler
+objectClass: ds-cfg-who-am-i-extended-operation-handler
 cn: Who Am I
 ds-cfg-extended-operation-handler-class: org.opends.server.extensions.WhoAmIExtendedOperation
 ds-cfg-extended-operation-handler-enabled: true
@@ -526,6 +535,7 @@
 dn: cn=Dynamic,cn=Group Implementations,cn=config
 objectClass: top
 objectClass: ds-cfg-group-implementation
+objectClass: ds-cfg-dynamic-group-implementation
 cn: Dynamic
 ds-cfg-group-implementation-class: org.opends.server.extensions.DynamicGroup
 ds-cfg-group-implementation-enabled: true
@@ -533,6 +543,7 @@
 dn: cn=Static,cn=Group Implementations,cn=config
 objectClass: top
 objectClass: ds-cfg-group-implementation
+objectClass: ds-cfg-static-group-implementation
 cn: Static
 ds-cfg-group-implementation-class: org.opends.server.extensions.StaticGroup
 ds-cfg-group-implementation-enabled: true
@@ -540,6 +551,7 @@
 dn: cn=Virtual Static,cn=Group Implementations,cn=config
 objectClass: top
 objectClass: ds-cfg-group-implementation
+objectClass: ds-cfg-virtual-static-group-implementation
 cn: Virtual Static
 ds-cfg-group-implementation-class: org.opends.server.extensions.VirtualStaticGroup
 ds-cfg-group-implementation-enabled: true
@@ -1124,6 +1136,7 @@
 dn: cn=Client Connections,cn=Monitor Providers,cn=config
 objectClass: top
 objectClass: ds-cfg-monitor-provider
+objectClass: ds-cfg-client-connection-monitor-provider
 cn: Client Connections
 ds-cfg-monitor-provider-class: org.opends.server.monitors.ClientConnectionMonitorProvider
 ds-cfg-monitor-provider-enabled: true
@@ -1131,6 +1144,7 @@
 dn: cn=JVM Stack Trace,cn=Monitor Providers,cn=config
 objectClass: top
 objectClass: ds-cfg-monitor-provider
+objectClass: ds-cfg-stack-trace-monitor-provider
 cn: JVM Stack Trace
 ds-cfg-monitor-provider-class: org.opends.server.monitors.StackTraceMonitorProvider
 ds-cfg-monitor-provider-enabled: true
@@ -1138,6 +1152,7 @@
 dn: cn=System Info,cn=Monitor Providers,cn=config
 objectClass: top
 objectClass: ds-cfg-monitor-provider
+objectClass: ds-cfg-system-info-monitor-provider
 cn: System Info
 ds-cfg-monitor-provider-class: org.opends.server.monitors.SystemInfoMonitorProvider
 ds-cfg-monitor-provider-enabled: true
@@ -1145,6 +1160,7 @@
 dn: cn=Version,cn=Monitor Providers,cn=config
 objectClass: top
 objectClass: ds-cfg-monitor-provider
+objectClass: ds-cfg-version-monitor-provider
 cn: Version
 ds-cfg-monitor-provider-class: org.opends.server.monitors.VersionMonitorProvider
 ds-cfg-monitor-provider-enabled: true
@@ -1239,6 +1255,7 @@
 dn: cn=Base64,cn=Password Storage Schemes,cn=config
 objectClass: top
 objectClass: ds-cfg-password-storage-scheme
+objectClass: ds-cfg-base64-password-storage-scheme
 cn: Base64
 ds-cfg-password-storage-scheme-class: org.opends.server.extensions.Base64PasswordStorageScheme
 ds-cfg-password-storage-scheme-enabled: true
@@ -1246,13 +1263,23 @@
 dn: cn=Clear,cn=Password Storage Schemes,cn=config
 objectClass: top
 objectClass: ds-cfg-password-storage-scheme
+objectClass: ds-cfg-clear-password-storage-scheme
 cn: Clear
 ds-cfg-password-storage-scheme-class: org.opends.server.extensions.ClearPasswordStorageScheme
 ds-cfg-password-storage-scheme-enabled: true
 
+dn: cn=CRYPT,cn=Password Storage Schemes,cn=config
+objectClass: top
+objectClass: ds-cfg-password-storage-scheme
+objectClass: ds-cfg-crypt-password-storage-scheme
+cn: CRYPT
+ds-cfg-password-storage-scheme-class: org.opends.server.extensions.CryptPasswordStorageScheme
+ds-cfg-password-storage-scheme-enabled: true
+
 dn: cn=MD5,cn=Password Storage Schemes,cn=config
 objectClass: top
 objectClass: ds-cfg-password-storage-scheme
+objectClass: ds-cfg-md5-password-storage-scheme
 cn: MD5
 ds-cfg-password-storage-scheme-class: org.opends.server.extensions.MD5PasswordStorageScheme
 ds-cfg-password-storage-scheme-enabled: true
@@ -1260,6 +1287,7 @@
 dn: cn=Salted MD5,cn=Password Storage Schemes,cn=config
 objectClass: top
 objectClass: ds-cfg-password-storage-scheme
+objectClass: ds-cfg-salted-md5-password-storage-scheme
 cn: Salted MD5
 ds-cfg-password-storage-scheme-class: org.opends.server.extensions.SaltedMD5PasswordStorageScheme
 ds-cfg-password-storage-scheme-enabled: true
@@ -1267,6 +1295,7 @@
 dn: cn=Salted SHA-1,cn=Password Storage Schemes,cn=config
 objectClass: top
 objectClass: ds-cfg-password-storage-scheme
+objectClass: ds-cfg-salted-sha1-password-storage-scheme
 cn: Salted SHA-1
 ds-cfg-password-storage-scheme-class: org.opends.server.extensions.SaltedSHA1PasswordStorageScheme
 ds-cfg-password-storage-scheme-enabled: true
@@ -1274,6 +1303,7 @@
 dn: cn=Salted SHA-256,cn=Password Storage Schemes,cn=config
 objectClass: top
 objectClass: ds-cfg-password-storage-scheme
+objectClass: ds-cfg-salted-sha256-password-storage-scheme
 cn: Salted SHA-256
 ds-cfg-password-storage-scheme-class: org.opends.server.extensions.SaltedSHA256PasswordStorageScheme
 ds-cfg-password-storage-scheme-enabled: true
@@ -1281,6 +1311,7 @@
 dn: cn=Salted SHA-384,cn=Password Storage Schemes,cn=config
 objectClass: top
 objectClass: ds-cfg-password-storage-scheme
+objectClass: ds-cfg-salted-sha384-password-storage-scheme
 cn: Salted SHA-384
 ds-cfg-password-storage-scheme-class: org.opends.server.extensions.SaltedSHA384PasswordStorageScheme
 ds-cfg-password-storage-scheme-enabled: true
@@ -1288,6 +1319,7 @@
 dn: cn=Salted SHA-512,cn=Password Storage Schemes,cn=config
 objectClass: top
 objectClass: ds-cfg-password-storage-scheme
+objectClass: ds-cfg-salted-sha512-password-storage-scheme
 cn: Salted SHA-512
 ds-cfg-password-storage-scheme-class: org.opends.server.extensions.SaltedSHA512PasswordStorageScheme
 ds-cfg-password-storage-scheme-enabled: true
@@ -1295,17 +1327,11 @@
 dn: cn=SHA-1,cn=Password Storage Schemes,cn=config
 objectClass: top
 objectClass: ds-cfg-password-storage-scheme
+objectClass: ds-cfg-sha1-password-storage-scheme
 cn: SHA-1
 ds-cfg-password-storage-scheme-class: org.opends.server.extensions.SHA1PasswordStorageScheme
 ds-cfg-password-storage-scheme-enabled: true
 
-dn: cn=CRYPT,cn=Password Storage Schemes,cn=config
-objectClass: top
-objectClass: ds-cfg-password-storage-scheme
-cn: CRYPT
-ds-cfg-password-storage-scheme-class: org.opends.server.extensions.CryptPasswordStorageScheme
-ds-cfg-password-storage-scheme-enabled: true
-
 dn: cn=Password Validators,cn=config
 objectClass: top
 objectClass: ds-cfg-branch
@@ -1392,6 +1418,7 @@
 dn: cn=Entry UUID,cn=Plugins,cn=config
 objectClass: top
 objectClass: ds-cfg-plugin
+objectClass: ds-cfg-entryuuid-plugin
 cn: Entry UUID
 ds-cfg-plugin-class: org.opends.server.plugins.EntryUUIDPlugin
 ds-cfg-plugin-enabled: true
@@ -1401,6 +1428,7 @@
 dn: cn=LastMod,cn=Plugins,cn=config
 objectClass: top
 objectClass: ds-cfg-plugin
+objectClass: ds-cfg-lastmod-plugin
 cn: LastMod
 ds-cfg-plugin-class: org.opends.server.plugins.LastModPlugin
 ds-cfg-plugin-enabled: true
@@ -1411,6 +1439,7 @@
 dn: cn=LDAP Attribute Description List,cn=Plugins,cn=config
 objectClass: top
 objectClass: ds-cfg-plugin
+objectClass: ds-cfg-ldap-ad-list-plugin
 cn: LDAP Attribute Description List
 ds-cfg-plugin-class: org.opends.server.plugins.LDAPADListPlugin
 ds-cfg-plugin-enabled: true
@@ -1437,7 +1466,7 @@
 ds-cfg-profile-directory: logs
 ds-cfg-profile-sample-interval: 10 milliseconds
 
-dn: cn=UID Unique Attribute ,cn=Plugins,cn=config
+dn: cn=UID Unique Attribute,cn=Plugins,cn=config
 objectClass: top
 objectClass: ds-cfg-plugin
 objectClass: ds-cfg-unique-attribute-plugin
@@ -1501,6 +1530,7 @@
 dn: cn=ANONYMOUS,cn=SASL Mechanisms,cn=config
 objectClass: top
 objectClass: ds-cfg-sasl-mechanism-handler
+objectClass: ds-cfg-anonymous-sasl-mechanism-handler
 cn: ANONYMOUS
 ds-cfg-sasl-mechanism-handler-class: org.opends.server.extensions.AnonymousSASLMechanismHandler
 ds-cfg-sasl-mechanism-handler-enabled: false
@@ -1558,6 +1588,19 @@
 objectClass: ds-cfg-branch
 cn: Synchronization Providers
 
+dn: cn=Multimaster Synchronization,cn=Synchronization Providers,cn=config
+objectClass: top
+objectClass: ds-cfg-synchronization-provider
+objectClass: ds-cfg-multimaster-synchronization-provider
+cn: Multimaster Synchronization
+ds-cfg-synchronization-provider-enabled: true
+ds-cfg-synchronization-provider-class: org.opends.server.replication.plugin.MultimasterReplication
+
+dn: cn=domains,cn=Multimaster Synchronization,cn=Synchronization Providers,cn=config
+objectClass: top
+objectClass: ds-cfg-branch
+cn: domains
+
 dn: cn=Syntaxes,cn=config
 objectClass: top
 objectClass: ds-cfg-branch
@@ -1945,6 +1988,7 @@
 dn: cn=entryDN,cn=Virtual Attributes,cn=config
 objectClass: top
 objectClass: ds-cfg-virtual-attribute
+objectClass: ds-cfg-entrydn-virtual-attribute
 cn: entryDN
 ds-cfg-virtual-attribute-class: org.opends.server.extensions.EntryDNVirtualAttributeProvider
 ds-cfg-virtual-attribute-enabled: true
@@ -1954,15 +1998,27 @@
 dn: cn=entryUUID,cn=Virtual Attributes,cn=config
 objectClass: top
 objectClass: ds-cfg-virtual-attribute
+objectClass: ds-cfg-entryuuid-virtual-attribute
 cn: entryUUIUD
 ds-cfg-virtual-attribute-class: org.opends.server.extensions.EntryUUIDVirtualAttributeProvider
 ds-cfg-virtual-attribute-enabled: true
 ds-cfg-virtual-attribute-type: entryUUID
 ds-cfg-virtual-attribute-conflict-behavior: real-overrides-virtual
 
+dn: cn=hasSubordinates,cn=Virtual Attributes,cn=config
+objectClass: top
+objectClass: ds-cfg-virtual-attribute
+objectClass: ds-cfg-hassubordinates-virtual-attribute
+cn: hasSubordinates
+ds-cfg-virtual-attribute-class: org.opends.server.extensions.HasSubordinatesVirtualAttributeProvider
+ds-cfg-virtual-attribute-enabled: true
+ds-cfg-virtual-attribute-type: hasSubordinates
+ds-cfg-virtual-attribute-conflict-behavior: virtual-overrides-real
+
 dn: cn=isMemberOf,cn=Virtual Attributes,cn=config
 objectClass: top
 objectClass: ds-cfg-virtual-attribute
+objectClass: ds-cfg-ismemberof-virtual-attribute
 cn: isMemberOf
 ds-cfg-virtual-attribute-class: org.opends.server.extensions.IsMemberOfVirtualAttributeProvider
 ds-cfg-virtual-attribute-enabled: true
@@ -1970,9 +2026,20 @@
 ds-cfg-virtual-attribute-filter: (objectClass=person)
 ds-cfg-virtual-attribute-conflict-behavior: virtual-overrides-real
 
+dn: cn=numSubordinates,cn=Virtual Attributes,cn=config
+objectClass: top
+objectClass: ds-cfg-virtual-attribute
+objectClass: ds-cfg-numsubordinates-virtual-attribute
+cn: numSubordinates
+ds-cfg-virtual-attribute-class: org.opends.server.extensions.NumSubordinatesVirtualAttributeProvider
+ds-cfg-virtual-attribute-enabled: true
+ds-cfg-virtual-attribute-type: numSubordinates
+ds-cfg-virtual-attribute-conflict-behavior: virtual-overrides-real
+
 dn: cn=subschemaSubentry,cn=Virtual Attributes,cn=config
 objectClass: top
 objectClass: ds-cfg-virtual-attribute
+objectClass: ds-cfg-subschemasubentry-virtual-attribute
 cn: subschemaSubentry
 ds-cfg-virtual-attribute-class: org.opends.server.extensions.SubschemaSubentryVirtualAttributeProvider
 ds-cfg-virtual-attribute-enabled: true
@@ -2003,24 +2070,6 @@
 ds-cfg-virtual-attribute-filter: (&(objectClass=groupOfUniqueNames)(objectClass=ds-virtual-static-group))
 ds-cfg-allow-retrieving-membership: false
 
-dn: cn=numSubordinates,cn=Virtual Attributes,cn=config
-objectClass: top
-objectClass: ds-cfg-virtual-attribute
-cn: numSubordinates
-ds-cfg-virtual-attribute-class: org.opends.server.extensions.NumSubordinatesVirtualAttributeProvider
-ds-cfg-virtual-attribute-enabled: true
-ds-cfg-virtual-attribute-type: numSubordinates
-ds-cfg-virtual-attribute-conflict-behavior: virtual-overrides-real
-
-dn: cn=hasSubordinates,cn=Virtual Attributes,cn=config
-objectClass: top
-objectClass: ds-cfg-virtual-attribute
-cn: hasSubordinates
-ds-cfg-virtual-attribute-class: org.opends.server.extensions.HasSubordinatesVirtualAttributeProvider
-ds-cfg-virtual-attribute-enabled: true
-ds-cfg-virtual-attribute-type: hasSubordinates
-ds-cfg-virtual-attribute-conflict-behavior: virtual-overrides-real
-
 dn: cn=Work Queue,cn=config
 objectClass: top
 objectClass: ds-cfg-work-queue
@@ -2030,15 +2079,3 @@
 ds-cfg-num-worker-threads: 24
 ds-cfg-max-work-queue-capacity: 0
 
-dn: cn=Multimaster Synchronization,cn=Synchronization Providers,cn=config
-objectClass: top
-objectClass: ds-cfg-synchronization-provider
-objectClass: ds-cfg-multimaster-synchronization-provider
-cn: Multimaster Synchronization
-ds-cfg-synchronization-provider-enabled: true
-ds-cfg-synchronization-provider-class: org.opends.server.replication.plugin.MultimasterReplication
-
-dn: cn=domains,cn=Multimaster Synchronization,cn=Synchronization Providers,cn=config
-objectClass: top
-objectClass: ds-cfg-branch
-cn: domains
diff --git a/opendj-sdk/opends/resource/schema/02-config.ldif b/opendj-sdk/opends/resource/schema/02-config.ldif
index e08c763..445a47e 100644
--- a/opendj-sdk/opends/resource/schema/02-config.ldif
+++ b/opendj-sdk/opends/resource/schema/02-config.ldif
@@ -2285,4 +2285,127 @@
   STRUCTURAL
   MUST ( ds-cfg-key-id )
   X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.125 NAME 'ds-cfg-entryuuid-plugin'
+  SUP ds-cfg-plugin STRUCTURAL X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.126 NAME 'ds-cfg-lastmod-plugin'
+  SUP ds-cfg-plugin STRUCTURAL X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.127 NAME 'ds-cfg-ldap-ad-list-plugin'
+  SUP ds-cfg-plugin STRUCTURAL X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.128 NAME 'ds-cfg-jmx-alert-handler'
+  SUP ds-cfg-alert-handler STRUCTURAL X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.129 NAME 'ds-cfg-memory-backend'
+  SUP ds-cfg-backend STRUCTURAL X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.130 NAME 'ds-cfg-monitor-backend'
+  SUP ds-cfg-backend STRUCTURAL X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.131
+  NAME 'ds-cfg-cancel-extended-operation-handler'
+  SUP ds-cfg-extended-operation-handler STRUCTURAL
+  X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.132
+  NAME 'ds-cfg-get-connection-id-extended-operation-handler'
+  SUP ds-cfg-extended-operation-handler STRUCTURAL
+  X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.133
+  NAME 'ds-cfg-password-policy-state-extended-operation-handler'
+  SUP ds-cfg-extended-operation-handler STRUCTURAL
+  X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.134
+  NAME 'ds-cfg-starttls-extended-operation-handler'
+  SUP ds-cfg-extended-operation-handler STRUCTURAL
+  X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.135
+  NAME 'ds-cfg-who-am-i-extended-operation-handler'
+  SUP ds-cfg-extended-operation-handler STRUCTURAL
+  X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.136
+  NAME 'ds-cfg-static-group-implementation' SUP ds-cfg-group-implementation
+  STRUCTURAL X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.137
+  NAME 'ds-cfg-dynamic-group-implementation' SUP ds-cfg-group-implementation
+  STRUCTURAL X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.138
+  NAME 'ds-cfg-virtual-static-group-implementation'
+  SUP ds-cfg-group-implementation STRUCTURAL
+  X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.139
+  NAME 'ds-cfg-client-connection-monitor-provider' SUP ds-cfg-monitor-provider
+  STRUCTURAL X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.140
+  NAME 'ds-cfg-stack-trace-monitor-provider' SUP ds-cfg-monitor-provider
+  STRUCTURAL X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.141
+  NAME 'ds-cfg-system-info-monitor-provider' SUP ds-cfg-monitor-provider
+  STRUCTURAL X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.142
+  NAME 'ds-cfg-version-monitor-provider' SUP ds-cfg-monitor-provider
+  STRUCTURAL X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.143
+  NAME 'ds-cfg-base64-password-storage-scheme'
+  SUP ds-cfg-password-storage-scheme STRUCTURAL
+  X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.144
+  NAME 'ds-cfg-clear-password-storage-scheme'
+  SUP ds-cfg-password-storage-scheme STRUCTURAL
+  X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.145
+  NAME 'ds-cfg-crypt-password-storage-scheme'
+  SUP ds-cfg-password-storage-scheme STRUCTURAL
+  X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.146
+  NAME 'ds-cfg-md5-password-storage-scheme' SUP ds-cfg-password-storage-scheme
+  STRUCTURAL X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.147
+  NAME 'ds-cfg-sha1-password-storage-scheme' SUP ds-cfg-password-storage-scheme
+  STRUCTURAL X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.148
+  NAME 'ds-cfg-salted-md5-password-storage-scheme'
+  SUP ds-cfg-password-storage-scheme STRUCTURAL
+  X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.149
+  NAME 'ds-cfg-salted-sha1-password-storage-scheme'
+  SUP ds-cfg-password-storage-scheme STRUCTURAL
+  X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.150
+  NAME 'ds-cfg-salted-sha256-password-storage-scheme'
+  SUP ds-cfg-password-storage-scheme STRUCTURAL
+  X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.151
+  NAME 'ds-cfg-salted-sha384-password-storage-scheme'
+  SUP ds-cfg-password-storage-scheme STRUCTURAL
+  X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.152
+  NAME 'ds-cfg-salted-sha512-password-storage-scheme'
+  SUP ds-cfg-password-storage-scheme STRUCTURAL
+  X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.153
+  NAME 'ds-cfg-anonymous-sasl-mechanism-handler'
+  SUP ds-cfg-sasl-mechanism-handler STRUCTURAL
+  X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.154
+  NAME 'ds-cfg-blind-trust-manager-provider' SUP ds-cfg-trust-manager-provider
+  STRUCTURAL X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.155
+  NAME 'ds-cfg-entrydn-virtual-attribute' SUP ds-cfg-virtual-attribute
+  STRUCTURAL X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.156
+  NAME 'ds-cfg-entryuuid-virtual-attribute' SUP ds-cfg-virtual-attribute
+  STRUCTURAL X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.157
+  NAME 'ds-cfg-hassubordinates-virtual-attribute' SUP ds-cfg-virtual-attribute
+  STRUCTURAL X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.158
+  NAME 'ds-cfg-numsubordinates-virtual-attribute' SUP ds-cfg-virtual-attribute
+  STRUCTURAL X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.159
+  NAME 'ds-cfg-ismemberof-virtual-attribute' SUP ds-cfg-virtual-attribute
+  STRUCTURAL X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.160
+  NAME 'ds-cfg-subschemasubentry-virtual-attribute'
+  SUP ds-cfg-virtual-attribute STRUCTURAL X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.161
+  NAME 'ds-cfg-config-file-handler-backend' SUP ds-cfg-backend STRUCTURAL
+  X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.162
+  NAME 'ds-cfg-subject-equals-dn-certificate-mapper'
+  SUP ds-cfg-certificate-mapper STRUCTURAL X-ORIGIN 'OpenDS Directory Server' )
 
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/AnonymousSASLMechanismHandlerConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/AnonymousSASLMechanismHandlerConfiguration.xml
new file mode 100644
index 0000000..fefb9ec
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/AnonymousSASLMechanismHandlerConfiguration.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object name="anonymous-sasl-mechanism-handler"
+  plural-name="anonymous-sasl-mechanism-handlers"
+  package="org.opends.server.admin.std" extends="sasl-mechanism-handler"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The
+    <adm:user-friendly-name />
+    is used to perform all processing related to SASL ANONYMOUS authentication.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.153</ldap:oid>
+      <ldap:name>ds-cfg-anonymous-sasl-mechanism-handler</ldap:name>
+      <ldap:superior>ds-cfg-sasl-mechanism-handler</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="handler-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.AnonymousSASLMechanismHandler
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/Base64PasswordStorageSchemeConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/Base64PasswordStorageSchemeConfiguration.xml
new file mode 100644
index 0000000..556d145
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/Base64PasswordStorageSchemeConfiguration.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object
+  name="base64-password-storage-scheme"
+  plural-name="base64-password-storage-schemes"
+  package="org.opends.server.admin.std"
+  extends="password-storage-scheme"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The <adm:user-friendly-name /> provides a mechanism for encoding user
+    passwords using the BASE64 encoding mechanism.  This implementation contains
+    only an implementation for the user password syntax, with a storage scheme
+    name of "BASE64".
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.143</ldap:oid>
+      <ldap:name>ds-cfg-base64-password-storage-scheme</ldap:name>
+      <ldap:superior>ds-cfg-password-storage-scheme</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="scheme-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.Base64PasswordStorageScheme
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/BlindTrustManagerConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/BlindTrustManagerConfiguration.xml
new file mode 100644
index 0000000..c83e23f
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/BlindTrustManagerConfiguration.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object name="blind-trust-manager"
+  plural-name="blind-trust-managers"
+  package="org.opends.server.admin.std" extends="trust-manager"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The
+    <adm:user-friendly-name />
+    provides a mechanism for blindly trusting any certificate presented to it
+    without performing any kind of validation, including ignoring the validity
+    dates included within the certificate.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.154</ldap:oid>
+      <ldap:name>ds-cfg-blind-trust-manager-provider</ldap:name>
+      <ldap:superior>ds-cfg-trust-manager-provider</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="java-implementation-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.BlindTrustManagerProvider
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/CancelExtendedOperationHandlerConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/CancelExtendedOperationHandlerConfiguration.xml
new file mode 100644
index 0000000..40d8adb
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/CancelExtendedOperationHandlerConfiguration.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object
+  name="cancel-extended-operation-handler"
+  plural-name="cancel-extended-operation-handlers"
+  package="org.opends.server.admin.std"
+  extends="extended-operation-handler"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The <adm:user-friendly-name /> provides support for the LDAP cancel extended
+    operation as defined in RFC 3909.  It allows clients to cancel operations
+    initiated from earlier requests, and will ensure that both the cancel
+    request and the operation being canceled will receive response messages.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.131</ldap:oid>
+      <ldap:name>ds-cfg-cancel-extended-operation-handler</ldap:name>
+      <ldap:superior>ds-cfg-extended-operation-handler</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="java-implementation-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.CancelExtendedOperation
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/ClearPasswordStorageSchemeConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/ClearPasswordStorageSchemeConfiguration.xml
new file mode 100644
index 0000000..d38e266
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/ClearPasswordStorageSchemeConfiguration.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object
+  name="clear-password-storage-scheme"
+  plural-name="clear-password-storage-schemes"
+  package="org.opends.server.admin.std"
+  extends="password-storage-scheme"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The <adm:user-friendly-name /> provides a mechanism for storing user
+    passwords in clear text, without any form of obfuscation.  This
+    implementation contains only an implementation for the user password syntax,
+    with a storage scheme name of "CLEAR".
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.144</ldap:oid>
+      <ldap:name>ds-cfg-clear-password-storage-scheme</ldap:name>
+      <ldap:superior>ds-cfg-password-storage-scheme</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="scheme-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.ClearPasswordStorageScheme
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/ClientConnectionMonitorProviderConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/ClientConnectionMonitorProviderConfiguration.xml
new file mode 100644
index 0000000..1d24261
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/ClientConnectionMonitorProviderConfiguration.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object
+  name="client-connection-monitor-provider"
+  plural-name="client-connection-monitor-providers"
+  package="org.opends.server.admin.std"
+  extends="monitor-provider"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The <adm:user-friendly-name /> exposes monitor information about the set of
+    client connections that are established to the Directory Server.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.139</ldap:oid>
+      <ldap:name>ds-cfg-client-connection-monitor-provider</ldap:name>
+      <ldap:superior>ds-cfg-monitor-provider</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="monitor-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.monitors.ClientConnectionMonitorProvider
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/ConfigFileHandlerBackendConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/ConfigFileHandlerBackendConfiguration.xml
new file mode 100644
index 0000000..c155779
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/ConfigFileHandlerBackendConfiguration.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object name="config-file-handler-backend"
+  plural-name="config-file-handler-backends"
+  package="org.opends.server.admin.std"
+  extends="backend"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The config file handler backend provides the ability for clients to
+    access the server configuration over protocol, allowing both read and write
+    operations (although modify DN operations are not supported for entries in
+    the server configuration).
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.161</ldap:oid>
+      <ldap:name>ds-cfg-config-file-handler-backend</ldap:name>
+      <ldap:superior>ds-cfg-backend</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="backend-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.ConfigFileHandler
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/CryptPasswordStorageSchemeConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/CryptPasswordStorageSchemeConfiguration.xml
new file mode 100644
index 0000000..32bb4fd
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/CryptPasswordStorageSchemeConfiguration.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object
+  name="crypt-password-storage-scheme"
+  plural-name="crypt-password-storage-schemes"
+  package="org.opends.server.admin.std"
+  extends="password-storage-scheme"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The <adm:user-friendly-name /> provides a mechanism for encoding user
+    passwords using the UNIX crypt algorithm.  This implementation contains
+    only an implementation for the user password syntax, with a storage scheme
+    name of "CRYPT".
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.145</ldap:oid>
+      <ldap:name>ds-cfg-crypt-password-storage-scheme</ldap:name>
+      <ldap:superior>ds-cfg-password-storage-scheme</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="scheme-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.CryptPasswordStorageScheme
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/DynamicGroupImplementationConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/DynamicGroupImplementationConfiguration.xml
new file mode 100644
index 0000000..2f0d9b3
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/DynamicGroupImplementationConfiguration.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object
+  name="dynamic-group-implementation"
+  plural-name="dynamic-group-implementations"
+  package="org.opends.server.admin.std"
+  extends="group-implementation"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The <adm:user-friendly-name /> provides a grouping mechanism in which the
+    group membership is determined based on criteria defined in one or more
+    LDAP URLs.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.137</ldap:oid>
+      <ldap:name>ds-cfg-dynamic-group-implementation</ldap:name>
+      <ldap:superior>ds-cfg-group-implementation</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="group-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.DynamicGroup
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/EntryDNVirtualAttributeConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/EntryDNVirtualAttributeConfiguration.xml
new file mode 100644
index 0000000..a7ad9e4
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/EntryDNVirtualAttributeConfiguration.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object name="entry-dn-virtual-attribute"
+  plural-name="entry-dn-virtual-attributes"
+  package="org.opends.server.admin.std" extends="virtual-attribute"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The
+    <adm:user-friendly-name />
+    may be used to generate the entryDN operational attribute, which contains a
+    normalized form of the entry's DN.  This provides the ability to use search
+    filters containing the entry's DN.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.155</ldap:oid>
+      <ldap:name>ds-cfg-entrydn-virtual-attribute</ldap:name>
+      <ldap:superior>ds-cfg-virtual-attribute</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="provider-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.EntryDNirtualAttributeProvider
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/EntryUUIDPluginConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/EntryUUIDPluginConfiguration.xml
new file mode 100644
index 0000000..1fdb9e0
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/EntryUUIDPluginConfiguration.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object name="entry-uuid-plugin"
+  plural-name="entry-uuid-plugins"
+  package="org.opends.server.admin.std" extends="plugin"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The
+    <adm:user-friendly-name />
+    is used to generate values for the entryUUID operational attribute whenever
+    an entry is added via protocol or imported from LDIF.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.125</ldap:oid>
+      <ldap:name>ds-cfg-entryuuid-plugin</ldap:name>
+      <ldap:superior>ds-cfg-plugin</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="plugin-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.plugins.EntryUUIDPlugin
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/EntryUUIDVirtualAttributeConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/EntryUUIDVirtualAttributeConfiguration.xml
new file mode 100644
index 0000000..91250c3
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/EntryUUIDVirtualAttributeConfiguration.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object name="entry-uuid-virtual-attribute"
+  plural-name="entry-uuid-virtual-attributes"
+  package="org.opends.server.admin.std" extends="virtual-attribute"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The
+    <adm:user-friendly-name />
+    may be used to ensure that all entries contained in private backends
+    will have values for the entryUUID operational attribute.  The entryUUID
+    values will be generated based on a normalized representation of the entry's
+    DN, which should not cause a consistency problem because we do not allow
+    modify DN operations to be performed in private backends.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.156</ldap:oid>
+      <ldap:name>ds-cfg-entryuuid-virtual-attribute</ldap:name>
+      <ldap:superior>ds-cfg-virtual-attribute</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="provider-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.EntryUUIDirtualAttributeProvider
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/GetConnectionIdExtendedOperationHandlerConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/GetConnectionIdExtendedOperationHandlerConfiguration.xml
new file mode 100644
index 0000000..3afdcd1
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/GetConnectionIdExtendedOperationHandlerConfiguration.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object
+  name="get-connection-id-extended-operation-handler"
+  plural-name="get-connection-id-extended-operation-handlers"
+  package="org.opends.server.admin.std"
+  extends="extended-operation-handler"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The <adm:user-friendly-name /> provides a mechanism for clients to obtain
+    the internal connection ID that the server uses to reference their client
+    connection.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.132</ldap:oid>
+      <ldap:name>ds-cfg-get-connection-id-extended-operation-handler</ldap:name>
+      <ldap:superior>ds-cfg-extended-operation-handler</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="java-implementation-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.GetConnectionIDExtendedOperation
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/HasSubordinatesVirtualAttributeConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/HasSubordinatesVirtualAttributeConfiguration.xml
new file mode 100644
index 0000000..17b9e5c
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/HasSubordinatesVirtualAttributeConfiguration.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object name="has-subordinates-virtual-attribute"
+  plural-name="has-subordinates-virtual-attributes"
+  package="org.opends.server.admin.std" extends="virtual-attribute"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The
+    <adm:user-friendly-name />
+    may be used to generate a virtual attribute that indicates whether the
+    entry has any subordinate entries.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.157</ldap:oid>
+      <ldap:name>ds-cfg-hassubordinates-virtual-attribute</ldap:name>
+      <ldap:superior>ds-cfg-virtual-attribute</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="provider-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.HasSubordinatesVirtualAttributeProvider
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/IsMemberOfVirtualAttributeConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/IsMemberOfVirtualAttributeConfiguration.xml
new file mode 100644
index 0000000..1effab1
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/IsMemberOfVirtualAttributeConfiguration.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object name="is-member-of-virtual-attribute"
+  plural-name="is-member-of-virtual-attributes"
+  package="org.opends.server.admin.std" extends="virtual-attribute"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The
+    <adm:user-friendly-name />
+    may be used to generate a virtual attribute that contains the DNs of the
+    groups in which the user is a member.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.159</ldap:oid>
+      <ldap:name>ds-cfg-ismemberof-virtual-attribute</ldap:name>
+      <ldap:superior>ds-cfg-virtual-attribute</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="provider-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.IsMemberOfVirtualAttributeProvider
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/JMXAlertHandlerConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/JMXAlertHandlerConfiguration.xml
new file mode 100644
index 0000000..b601961
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/JMXAlertHandlerConfiguration.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object name="jmx-alert-handler" plural-name="jmx-alert-handlers"
+  package="org.opends.server.admin.std" extends="alert-handler"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The
+    <adm:user-friendly-name />
+    may be used to generate JMX notifications to alert administrators of
+    significant events that occur within the server.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.128</ldap:oid>
+      <ldap:name>ds-cfg-jmx-alert-handler</ldap:name>
+      <ldap:superior>ds-cfg-alert-handler</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="alert-handler-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.JMXAlertHandler
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/LDAPAttributeDescriptionListPluginConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/LDAPAttributeDescriptionListPluginConfiguration.xml
new file mode 100644
index 0000000..8efc6fb
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/LDAPAttributeDescriptionListPluginConfiguration.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object name="ldap-attribute-description-list-plugin"
+  plural-name="ldap-attribute-description-list-plugins"
+  package="org.opends.server.admin.std" extends="plugin"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The
+    <adm:user-friendly-name />
+    is used to provide the ability to request that search result entries
+    include all attributes that are included by a specified object class.  For
+    example, including a requested attribute of "@person" has the effect of
+    requesting all attributes in the person object class.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.127</ldap:oid>
+      <ldap:name>ds-cfg-ldap-ad-list-plugin</ldap:name>
+      <ldap:superior>ds-cfg-plugin</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="plugin-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.plugins.LDAPADListPlugin
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/LastModPluginConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/LastModPluginConfiguration.xml
new file mode 100644
index 0000000..cd577f8
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/LastModPluginConfiguration.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object name="last-mod-plugin"
+  plural-name="last-mod-plugins"
+  package="org.opends.server.admin.std" extends="plugin"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The
+    <adm:user-friendly-name />
+    is used to ensure that the creatorsName and createTimestamp attributes are
+    included in an entry whenever it is added to the server, and to ensure that
+    the modifiersName and modifyTimestamp attributes are updated whenever an
+    entry is modified or renamed.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.126</ldap:oid>
+      <ldap:name>ds-cfg-lastmod-plugin</ldap:name>
+      <ldap:superior>ds-cfg-plugin</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="plugin-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.plugins.LastModPlugin
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/MD5PasswordStorageSchemeConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/MD5PasswordStorageSchemeConfiguration.xml
new file mode 100644
index 0000000..c313b51
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/MD5PasswordStorageSchemeConfiguration.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object
+  name="md5-password-storage-scheme"
+  plural-name="md5-password-storage-schemes"
+  package="org.opends.server.admin.std"
+  extends="password-storage-scheme"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The <adm:user-friendly-name /> provides a mechanism for encoding user
+    passwords using an unsalted form of the MD5 message digest algorithm.  This
+    implementation contains only an implementation for the user password syntax,
+    with a storage scheme name of "MD5".
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.146</ldap:oid>
+      <ldap:name>ds-cfg-md5-password-storage-scheme</ldap:name>
+      <ldap:superior>ds-cfg-password-storage-scheme</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="scheme-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.MD5PasswordStorageScheme
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/MemoryBackendConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/MemoryBackendConfiguration.xml
new file mode 100644
index 0000000..8ab2a32
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/MemoryBackendConfiguration.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object name="memory-backend" plural-name="memory-backends"
+  package="org.opends.server.admin.std"
+  extends="backend"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The memory backend provides a Directory Server backend implementation that
+    stores entries in memory.  There is no persistence of any kind, and the
+    backend contents are cleared whenever the backend is brought online or
+    offline and when the server is restarted.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.129</ldap:oid>
+      <ldap:name>ds-cfg-memory-backend</ldap:name>
+      <ldap:superior>ds-cfg-backend</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="backend-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.backends.MemoryBackend
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/MonitorBackendConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/MonitorBackendConfiguration.xml
new file mode 100644
index 0000000..83125e5
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/MonitorBackendConfiguration.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object name="monitor-backend" plural-name="monitor-backends"
+  package="org.opends.server.admin.std"
+  extends="backend"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The monitor backend allows clients to access the information made available
+    by Directory Server monitor providers.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.130</ldap:oid>
+      <ldap:name>ds-cfg-monitor-backend</ldap:name>
+      <ldap:superior>ds-cfg-backend</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="backend-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.backends.MonitorBackend
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/NumSubordinatesVirtualAttributeConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/NumSubordinatesVirtualAttributeConfiguration.xml
new file mode 100644
index 0000000..6c4f051
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/NumSubordinatesVirtualAttributeConfiguration.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object name="num-subordinates-virtual-attribute"
+  plural-name="num-subordinates-virtual-attributes"
+  package="org.opends.server.admin.std" extends="virtual-attribute"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The
+    <adm:user-friendly-name />
+    may be used to generate a virtual attribute that specifies the number of
+    immediate child entries that exist below the entry.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.158</ldap:oid>
+      <ldap:name>ds-cfg-numsubordinates-virtual-attribute</ldap:name>
+      <ldap:superior>ds-cfg-virtual-attribute</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="provider-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.NumSubordinatesVirtualAttributeProvider
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/PasswordPolicyStateExtendedOperationHandlerConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/PasswordPolicyStateExtendedOperationHandlerConfiguration.xml
new file mode 100644
index 0000000..438961f
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/PasswordPolicyStateExtendedOperationHandlerConfiguration.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object
+  name="password-policy-state-extended-operation-handler"
+  plural-name="password-policy-state-extended-operation-handlers"
+  package="org.opends.server.admin.std"
+  extends="extended-operation-handler"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The <adm:user-friendly-name /> provides the ability for administrators to
+    request and optionally alter password policy state information for a
+    specified user.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.133</ldap:oid>
+      <ldap:name>
+        ds-cfg-password-policy-state-extended-operation-handler
+      </ldap:name>
+      <ldap:superior>ds-cfg-extended-operation-handler</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="java-implementation-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.PasswordPolicyStateExtendedOperation
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SHA1PasswordStorageSchemeConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SHA1PasswordStorageSchemeConfiguration.xml
new file mode 100644
index 0000000..e8f77c4
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SHA1PasswordStorageSchemeConfiguration.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object
+  name="sha1-password-storage-scheme"
+  plural-name="sha1-password-storage-schemes"
+  package="org.opends.server.admin.std"
+  extends="password-storage-scheme"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The <adm:user-friendly-name /> provides a mechanism for encoding user
+    passwords using an unsalted form of the SHA-1 message digest algorithm.
+    This implementation contains only an implementation for the user password
+    syntax, with a storage scheme name of "SHA".
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.147</ldap:oid>
+      <ldap:name>ds-cfg-sha1-password-storage-scheme</ldap:name>
+      <ldap:superior>ds-cfg-password-storage-scheme</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="scheme-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.SHA1PasswordStorageScheme
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SaltedMD5PasswordStorageSchemeConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SaltedMD5PasswordStorageSchemeConfiguration.xml
new file mode 100644
index 0000000..e99125c
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SaltedMD5PasswordStorageSchemeConfiguration.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object
+  name="salted-md5-password-storage-scheme"
+  plural-name="salted-md5-password-storage-schemes"
+  package="org.opends.server.admin.std"
+  extends="password-storage-scheme"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The <adm:user-friendly-name /> provides a mechanism for encoding user
+    passwords using a salted form of the MD5 message digest algorithm.  This
+    implementation contains an implementation for the user password syntax,
+    with a storage scheme name of "SMD5", and animplemenation of the auth
+    password syntax, with a storage scheme name of "MD5".
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.148</ldap:oid>
+      <ldap:name>ds-cfg-salted-md5-password-storage-scheme</ldap:name>
+      <ldap:superior>ds-cfg-password-storage-scheme</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="scheme-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.SaltedMD5PasswordStorageScheme
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SaltedSHA1PasswordStorageSchemeConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SaltedSHA1PasswordStorageSchemeConfiguration.xml
new file mode 100644
index 0000000..c9c3354
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SaltedSHA1PasswordStorageSchemeConfiguration.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object
+  name="salted-sha1-password-storage-scheme"
+  plural-name="salted-sha1-password-storage-schemes"
+  package="org.opends.server.admin.std"
+  extends="password-storage-scheme"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The <adm:user-friendly-name /> provides a mechanism for encoding user
+    passwords using a salted form of the SHA-1 message digest algorithm.  This
+    implementation contains an implementation for the user password syntax,
+    with a storage scheme name of "SSHA", and animplemenation of the auth
+    password syntax, with a storage scheme name of "SHA1".
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.149</ldap:oid>
+      <ldap:name>ds-cfg-salted-sha1-password-storage-scheme</ldap:name>
+      <ldap:superior>ds-cfg-password-storage-scheme</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="scheme-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.SaltedSHA1PasswordStorageScheme
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SaltedSHA256PasswordStorageSchemeConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SaltedSHA256PasswordStorageSchemeConfiguration.xml
new file mode 100644
index 0000000..b802a5b
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SaltedSHA256PasswordStorageSchemeConfiguration.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object
+  name="salted-sha256-password-storage-scheme"
+  plural-name="salted-sha256-password-storage-schemes"
+  package="org.opends.server.admin.std"
+  extends="password-storage-scheme"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The <adm:user-friendly-name /> provides a mechanism for encoding user
+    passwords using a salted form of the 256-bit SHA-2 message digest algorithm.
+    This implementation contains an implementation for the user password syntax,
+    with a storage scheme name of "SSHA256", and animplemenation of the auth
+    password syntax, with a storage scheme name of "SHA256".
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.150</ldap:oid>
+      <ldap:name>ds-cfg-salted-sha256-password-storage-scheme</ldap:name>
+      <ldap:superior>ds-cfg-password-storage-scheme</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="scheme-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.SaltedSHA256PasswordStorageScheme
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SaltedSHA384PasswordStorageSchemeConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SaltedSHA384PasswordStorageSchemeConfiguration.xml
new file mode 100644
index 0000000..47f7513
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SaltedSHA384PasswordStorageSchemeConfiguration.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object
+  name="salted-sha384-password-storage-scheme"
+  plural-name="salted-sha384-password-storage-schemes"
+  package="org.opends.server.admin.std"
+  extends="password-storage-scheme"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The <adm:user-friendly-name /> provides a mechanism for encoding user
+    passwords using a salted form of the 384-bit SHA-2 message digest algorithm.
+    This implementation contains an implementation for the user password syntax,
+    with a storage scheme name of "SSHA384", and animplemenation of the auth
+    password syntax, with a storage scheme name of "SHA384".
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.150</ldap:oid>
+      <ldap:name>ds-cfg-salted-sha384-password-storage-scheme</ldap:name>
+      <ldap:superior>ds-cfg-password-storage-scheme</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="scheme-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.SaltedSHA384PasswordStorageScheme
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SaltedSHA512PasswordStorageSchemeConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SaltedSHA512PasswordStorageSchemeConfiguration.xml
new file mode 100644
index 0000000..aadcf69
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SaltedSHA512PasswordStorageSchemeConfiguration.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object
+  name="salted-sha512-password-storage-scheme"
+  plural-name="salted-sha512-password-storage-schemes"
+  package="org.opends.server.admin.std"
+  extends="password-storage-scheme"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The <adm:user-friendly-name /> provides a mechanism for encoding user
+    passwords using a salted form of the 512-bit SHA-2 message digest algorithm.
+    This implementation contains an implementation for the user password syntax,
+    with a storage scheme name of "SSHA512", and animplemenation of the auth
+    password syntax, with a storage scheme name of "SHA512".
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.150</ldap:oid>
+      <ldap:name>ds-cfg-salted-sha512-password-storage-scheme</ldap:name>
+      <ldap:superior>ds-cfg-password-storage-scheme</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="scheme-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.SaltedSHA512PasswordStorageScheme
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/StackTraceMonitorProviderConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/StackTraceMonitorProviderConfiguration.xml
new file mode 100644
index 0000000..99d4636
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/StackTraceMonitorProviderConfiguration.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object
+  name="stack-trace-monitor-provider"
+  plural-name="stack-trace-monitor-providers"
+  package="org.opends.server.admin.std"
+  extends="monitor-provider"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The <adm:user-friendly-name /> provides the ability for clients to obtain a
+    stack trace of all threads currently running in the Directory Server.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.140</ldap:oid>
+      <ldap:name>ds-cfg-stack-trace-monitor-provider</ldap:name>
+      <ldap:superior>ds-cfg-monitor-provider</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="monitor-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.monitors.StackTraceMonitorProvider
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/StartTLSExtendedOperationHandlerConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/StartTLSExtendedOperationHandlerConfiguration.xml
new file mode 100644
index 0000000..65e981f
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/StartTLSExtendedOperationHandlerConfiguration.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object
+  name="start-tls-extended-operation-handler"
+  plural-name="start-tls-extended-operation-handlers"
+  package="org.opends.server.admin.std"
+  extends="extended-operation-handler"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The <adm:user-friendly-name /> provides the ability clients to use the
+    StartTLS extended operation to initiate a secure communication channel over
+    an otherwise clear-text LDAP connection.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.134</ldap:oid>
+      <ldap:name>ds-cfg-starttls-extended-operation-handler</ldap:name>
+      <ldap:superior>ds-cfg-extended-operation-handler</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="java-implementation-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.StartTLSExtendedOperation
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/StaticGroupImplementationConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/StaticGroupImplementationConfiguration.xml
new file mode 100644
index 0000000..eb44e90
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/StaticGroupImplementationConfiguration.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object
+  name="static-group-implementation"
+  plural-name="static-group-implementations"
+  package="org.opends.server.admin.std"
+  extends="group-implementation"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The <adm:user-friendly-name /> provides a grouping mechanism in which the
+    group membership is based on an explicit list of the DNs of the users that
+    are members of the group.  Note that it is possible to nest static groups,
+    which can be accomplished by including the DN of a nested group in the
+    member list for the parent group.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.136</ldap:oid>
+      <ldap:name>ds-cfg-static-group-implementation</ldap:name>
+      <ldap:superior>ds-cfg-group-implementation</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="group-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.StaticGroup
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SubjectEqualsDNCertificateMapperConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SubjectEqualsDNCertificateMapperConfiguration.xml
new file mode 100644
index 0000000..c9d2db0
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SubjectEqualsDNCertificateMapperConfiguration.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object name="subject-equals-dn-certificate-mapper"
+  plural-name="subject-equals-dn-certificate-mappers"
+  package="org.opends.server.admin.std" extends="certificate-mapper"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The
+    <adm:user-friendly-name />
+    maps client certificates to user entries based on the assumption that the
+    certificate subject is the same as the DN of the target user entry.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.162</ldap:oid>
+      <ldap:name>ds-cfg-subject-equals-dn-certificate-mapper</ldap:name>
+      <ldap:superior>ds-cfg-certificate-mapper</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="mapper-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.SubjectEqualsDNCertificateMapper
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SubschemaSubentryVirtualAttributeConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SubschemaSubentryVirtualAttributeConfiguration.xml
new file mode 100644
index 0000000..d8fb2f8
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SubschemaSubentryVirtualAttributeConfiguration.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object name="subschema-subentry-virtual-attribute"
+  plural-name="subschema-subentry-virtual-attributes"
+  package="org.opends.server.admin.std" extends="virtual-attribute"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The
+    <adm:user-friendly-name />
+    may be used to generate a virtual attribute that specifies the location of
+    the subschemaSubentry with the schema definitions in effect for the entry.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.160</ldap:oid>
+      <ldap:name>ds-cfg-subschemasubentry-virtual-attribute</ldap:name>
+      <ldap:superior>ds-cfg-virtual-attribute</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="provider-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.SubschemaSubentryVirtualAttributeProvider
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SystemInfoMonitorProviderConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SystemInfoMonitorProviderConfiguration.xml
new file mode 100644
index 0000000..b05e1c3
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/SystemInfoMonitorProviderConfiguration.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object
+  name="system-info-monitor-provider"
+  plural-name="system-info-monitor-providers"
+  package="org.opends.server.admin.std"
+  extends="monitor-provider"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The <adm:user-friendly-name /> may be used to publish information about the
+    system and virtual machine on which the Directory Server is running.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.141</ldap:oid>
+      <ldap:name>ds-cfg-system-info-monitor-provider</ldap:name>
+      <ldap:superior>ds-cfg-monitor-provider</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="monitor-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.monitors.SystemInfoMonitorProvider
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/VersionMonitorProviderConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/VersionMonitorProviderConfiguration.xml
new file mode 100644
index 0000000..06a48a3
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/VersionMonitorProviderConfiguration.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object
+  name="version-monitor-provider"
+  plural-name="version-monitor-providers"
+  package="org.opends.server.admin.std"
+  extends="monitor-provider"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The <adm:user-friendly-name /> may be used to publish Directory Server
+    version information.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.142</ldap:oid>
+      <ldap:name>ds-cfg-version-monitor-provider</ldap:name>
+      <ldap:superior>ds-cfg-monitor-provider</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="monitor-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.monitors.VersionMonitorProvider
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/VirtualStaticGroupImplementationConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/VirtualStaticGroupImplementationConfiguration.xml
new file mode 100644
index 0000000..b7b6c33
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/VirtualStaticGroupImplementationConfiguration.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object
+  name="virtual-static-group-implementation"
+  plural-name="virtual-static-group-implementations"
+  package="org.opends.server.admin.std"
+  extends="group-implementation"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The <adm:user-friendly-name /> provides a grouping mechanism in which the
+    membership for the virtual static group is based on the membership for
+    another group defined within the server.  The primary benefit of virtual
+    static groups is that they make it possible to present other types of
+    groups (e.g., dynamic groups) as if they were static groups for the benefit
+    of applications that do not support alternate grouping mechanisms.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.138</ldap:oid>
+      <ldap:name>ds-cfg-virtual-static-group-implementation</ldap:name>
+      <ldap:superior>ds-cfg-group-implementation</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="group-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.VirtualStaticGroup
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/WhoAmIExtendedOperationHandlerConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/WhoAmIExtendedOperationHandlerConfiguration.xml
new file mode 100644
index 0000000..66f3f21
--- /dev/null
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/WhoAmIExtendedOperationHandlerConfiguration.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object
+  name="who-am-i-extended-operation-handler"
+  plural-name="who-am-i-extended-operation-handlers"
+  package="org.opends.server.admin.std"
+  extends="extended-operation-handler"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The <adm:user-friendly-name /> provides the ability for clients to request
+    their authorization identity using the "Who Am I?" extended operation as
+    defined in RFC 4532.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:oid>1.3.6.1.4.1.26027.1.2.135</ldap:oid>
+      <ldap:name>ds-cfg-who-am-i-extended-operation-handler</ldap:name>
+      <ldap:superior>ds-cfg-extended-operation-handler</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="java-implementation-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.WhoAmIExtendedOperation
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opendj-sdk/opends/src/server/org/opends/server/backends/MemoryBackend.java b/opendj-sdk/opends/src/server/org/opends/server/backends/MemoryBackend.java
index f8ac896..4060aac 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/backends/MemoryBackend.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/backends/MemoryBackend.java
@@ -25,11 +25,14 @@
  *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.backends;
-import org.opends.messages.Message;
+
 
 
 import java.util.*;
 
+import org.opends.messages.Message;
+import org.opends.server.admin.Configuration;
+import org.opends.server.admin.std.server.MemoryBackendCfg;
 import org.opends.server.api.Backend;
 import org.opends.server.config.ConfigException;
 import org.opends.server.core.AddOperation;
@@ -38,19 +41,34 @@
 import org.opends.server.core.ModifyOperation;
 import org.opends.server.core.ModifyDNOperation;
 import org.opends.server.core.SearchOperation;
+import org.opends.server.loggers.debug.DebugTracer;
+import org.opends.server.types.BackupConfig;
+import org.opends.server.types.BackupDirectory;
+import org.opends.server.types.ConditionResult;
+import org.opends.server.types.Control;
+import org.opends.server.types.DebugLogLevel;
+import org.opends.server.types.DirectoryException;
+import org.opends.server.types.DN;
+import org.opends.server.types.Entry;
+import org.opends.server.types.InitializationException;
+import org.opends.server.types.LDIFExportConfig;
+import org.opends.server.types.LDIFImportConfig;
+import org.opends.server.types.LDIFImportResult;
+import org.opends.server.types.RestoreConfig;
+import org.opends.server.types.ResultCode;
+import org.opends.server.types.SearchFilter;
+import org.opends.server.types.SearchScope;
 import org.opends.server.util.LDIFException;
 import org.opends.server.util.LDIFReader;
 import org.opends.server.util.LDIFWriter;
 import org.opends.server.util.Validator;
 
-import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
-import org.opends.server.types.*;
+
 import static org.opends.messages.BackendMessages.*;
+import static org.opends.server.loggers.debug.DebugLogger.*;
 import static org.opends.server.util.ServerConstants.*;
 import static org.opends.server.util.StaticUtils.*;
-import org.opends.server.admin.std.server.BackendCfg;
-import org.opends.server.admin.Configuration;
+
 
 
 /**
@@ -143,8 +161,8 @@
   {
     if (config != null)
     {
-      Validator.ensureTrue(config instanceof BackendCfg);
-      BackendCfg cfg = (BackendCfg)config;
+      Validator.ensureTrue(config instanceof MemoryBackendCfg);
+      MemoryBackendCfg cfg = (MemoryBackendCfg)config;
       DN[] baseDNs = new DN[cfg.getBackendBaseDN().size()];
       cfg.getBackendBaseDN().toArray(baseDNs);
       setBaseDNs(baseDNs);
diff --git a/opendj-sdk/opends/src/server/org/opends/server/backends/MonitorBackend.java b/opendj-sdk/opends/src/server/org/opends/server/backends/MonitorBackend.java
index 8e55f48..f820978 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/backends/MonitorBackend.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/backends/MonitorBackend.java
@@ -25,7 +25,6 @@
  *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.backends;
-import org.opends.messages.Message;
 
 
 
@@ -36,6 +35,10 @@
 import java.util.LinkedHashSet;
 import java.util.List;
 
+import org.opends.messages.Message;
+import org.opends.server.admin.Configuration;
+import org.opends.server.admin.server.ConfigurationChangeListener;
+import org.opends.server.admin.std.server.MonitorBackendCfg;
 import org.opends.server.admin.std.server.MonitorProviderCfg;
 import org.opends.server.api.Backend;
 import org.opends.server.api.MonitorProvider;
@@ -47,23 +50,42 @@
 import org.opends.server.core.ModifyOperation;
 import org.opends.server.core.ModifyDNOperation;
 import org.opends.server.core.SearchOperation;
+import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.protocols.asn1.ASN1OctetString;
+import org.opends.server.types.Attribute;
+import org.opends.server.types.AttributeType;
+import org.opends.server.types.AttributeValue;
+import org.opends.server.types.BackupConfig;
+import org.opends.server.types.BackupDirectory;
+import org.opends.server.types.ConditionResult;
+import org.opends.server.types.ConfigChangeResult;
+import org.opends.server.types.DebugLogLevel;
+import org.opends.server.types.DirectoryException;
+import org.opends.server.types.DN;
+import org.opends.server.types.Entry;
+import org.opends.server.types.InitializationException;
+import org.opends.server.types.LDIFExportConfig;
+import org.opends.server.types.LDIFImportConfig;
+import org.opends.server.types.LDIFImportResult;
+import org.opends.server.types.ObjectClass;
+import org.opends.server.types.RDN;
+import org.opends.server.types.RestoreConfig;
+import org.opends.server.types.ResultCode;
+import org.opends.server.types.SearchFilter;
+import org.opends.server.types.SearchScope;
 import org.opends.server.util.DynamicConstants;
 import org.opends.server.util.LDIFWriter;
 import org.opends.server.util.TimeThread;
 import org.opends.server.util.Validator;
 
+
 import static org.opends.server.config.ConfigConstants.*;
 import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
-import org.opends.server.types.*;
 import static org.opends.messages.BackendMessages.*;
 import static org.opends.messages.ConfigMessages.*;
 import static org.opends.server.util.ServerConstants.*;
 import static org.opends.server.util.StaticUtils.*;
-import org.opends.server.admin.server.ConfigurationChangeListener;
-import org.opends.server.admin.std.server.BackendCfg;
-import org.opends.server.admin.Configuration;
+
 
 
 /**
@@ -74,7 +96,7 @@
  */
 public class MonitorBackend
        extends Backend
-       implements ConfigurationChangeListener<BackendCfg>
+       implements ConfigurationChangeListener<MonitorBackendCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -93,7 +115,7 @@
   private DN configEntryDN;
 
   // The current configuration state.
-  private BackendCfg currentConfig;
+  private MonitorBackendCfg currentConfig;
 
   // The DN for the base monitor entry.
   private DN baseMonitorDN;
@@ -128,9 +150,9 @@
   public void configureBackend(Configuration config) throws ConfigException
   {
     Validator.ensureNotNull(config);
-    Validator.ensureTrue(config instanceof BackendCfg);
+    Validator.ensureTrue(config instanceof MonitorBackendCfg);
 
-    BackendCfg cfg = (BackendCfg)config;
+    MonitorBackendCfg cfg = (MonitorBackendCfg)config;
     ConfigEntry configEntry = DirectoryServer.getConfigEntry(cfg.dn());
 
 
@@ -219,7 +241,7 @@
          throws ConfigException, InitializationException
   {
     // Register with the Directory Server as a configurable component.
-    currentConfig.addChangeListener(this);
+    currentConfig.addMonitorChangeListener(this);
 
 
     // Register the monitor base as a private suffix.
@@ -255,7 +277,7 @@
    */
   public void finalizeBackend()
   {
-    currentConfig.removeChangeListener(this);
+    currentConfig.removeMonitorChangeListener(this);
 
     try
     {
@@ -1270,7 +1292,7 @@
    *          configuration for this component, or <CODE>false</CODE> if not.
    */
   public boolean isConfigurationChangeAcceptable(
-       BackendCfg backendCfg,
+       MonitorBackendCfg backendCfg,
        List<Message> unacceptableReasons)
   {
     // We'll pretty much accept anything here as long as it isn't one of our
@@ -1283,7 +1305,8 @@
   /**
    * {@inheritDoc}
    */
-  public ConfigChangeResult applyConfigurationChange(BackendCfg backendCfg)
+  public ConfigChangeResult applyConfigurationChange(
+                                 MonitorBackendCfg backendCfg)
   {
     ResultCode        resultCode          = ResultCode.SUCCESS;
     boolean           adminActionRequired = false;
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/AnonymousSASLMechanismHandler.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/AnonymousSASLMechanismHandler.java
index f791e8f..a67443f 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/AnonymousSASLMechanismHandler.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/AnonymousSASLMechanismHandler.java
@@ -25,23 +25,22 @@
  *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
+
+
+
 import org.opends.messages.MessageBuilder;
-
-
-import org.opends.server.admin.std.server.SASLMechanismHandlerCfg;
+import org.opends.server.admin.std.server.AnonymousSASLMechanismHandlerCfg;
 import org.opends.server.api.SASLMechanismHandler;
 import org.opends.server.config.ConfigException;
 import org.opends.server.core.BindOperation;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.types.AuthenticationInfo;
 import org.opends.server.types.ByteString;
-
-
 import org.opends.server.types.InitializationException;
 import org.opends.server.types.ResultCode;
 
-import static org.opends.server.loggers.ErrorLogger.*;
 import static org.opends.messages.ExtensionMessages.*;
+import static org.opends.server.loggers.ErrorLogger.*;
 import static org.opends.server.util.ServerConstants.*;
 
 
@@ -55,7 +54,7 @@
  * then that trace information will be written to the server error log.
  */
 public class AnonymousSASLMechanismHandler
-       extends SASLMechanismHandler<SASLMechanismHandlerCfg>
+       extends SASLMechanismHandler<AnonymousSASLMechanismHandlerCfg>
 {
   /**
    * Creates a new instance of this SASL mechanism handler.  No initialization
@@ -73,7 +72,7 @@
    * {@inheritDoc}
    */
   @Override()
-  public void initializeSASLMechanismHandler(SASLMechanismHandlerCfg
+  public void initializeSASLMechanismHandler(AnonymousSASLMechanismHandlerCfg
                                                   configuration)
          throws ConfigException, InitializationException
   {
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/Base64PasswordStorageScheme.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/Base64PasswordStorageScheme.java
index b7a38c3..b3c5b59 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/Base64PasswordStorageScheme.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/Base64PasswordStorageScheme.java
@@ -25,25 +25,28 @@
  *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
+
+
+
 import org.opends.messages.Message;
-
-
-
-import org.opends.server.admin.std.server.PasswordStorageSchemeCfg;
+import org.opends.server.admin.std.server.Base64PasswordStorageSchemeCfg;
 import org.opends.server.api.PasswordStorageScheme;
 import org.opends.server.config.ConfigException;
+import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.types.ByteString;
 import org.opends.server.types.ByteStringFactory;
+import org.opends.server.types.DebugLogLevel;
 import org.opends.server.types.DirectoryException;
 import org.opends.server.types.InitializationException;
 import org.opends.server.types.ResultCode;
 import org.opends.server.util.Base64;
 
+import static org.opends.messages.ExtensionMessages.*;
 import static org.opends.server.extensions.ExtensionsConstants.*;
 import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
-import org.opends.server.types.DebugLogLevel;
-import static org.opends.messages.ExtensionMessages.*;
+
+
+
 /**
  * This class defines a Directory Server password storage scheme that will store
  * the values in base64-encoded form.  This is a reversible algorithm that
@@ -51,7 +54,7 @@
  * value from the casual observer.
  */
 public class Base64PasswordStorageScheme
-       extends PasswordStorageScheme <PasswordStorageSchemeCfg>
+       extends PasswordStorageScheme<Base64PasswordStorageSchemeCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -60,7 +63,6 @@
 
 
 
-
   /**
    * Creates a new instance of this password storage scheme.  Note that no
    * initialization should be performed here, as all initialization should be
@@ -69,7 +71,6 @@
   public Base64PasswordStorageScheme()
   {
     super();
-
   }
 
 
@@ -79,9 +80,8 @@
    */
   @Override()
   public void initializePasswordStorageScheme(
-      PasswordStorageSchemeCfg configuration
-      )
-      throws ConfigException, InitializationException
+                   Base64PasswordStorageSchemeCfg configuration)
+         throws ConfigException, InitializationException
   {
     // No initialization is required.
   }
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/BlindTrustManagerProvider.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/BlindTrustManagerProvider.java
index ed2f497..c005bf3 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/BlindTrustManagerProvider.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/BlindTrustManagerProvider.java
@@ -32,7 +32,7 @@
 import javax.net.ssl.TrustManager;
 import javax.net.ssl.X509TrustManager;
 
-import org.opends.server.admin.std.server.TrustManagerCfg;
+import org.opends.server.admin.std.server.BlindTrustManagerCfg;
 import org.opends.server.api.TrustManagerProvider;
 import org.opends.server.config.ConfigException;
 import org.opends.server.types.DirectoryException;
@@ -40,7 +40,6 @@
 
 
 
-
 /**
  * This class provides an implementation of a trust manager provider that will
  * indicate that any certificate presented should be blindly trusted by the
@@ -50,12 +49,9 @@
  * trustworthy.
  */
 public class BlindTrustManagerProvider
-       extends TrustManagerProvider<TrustManagerCfg>
+       extends TrustManagerProvider<BlindTrustManagerCfg>
        implements X509TrustManager
 {
-
-
-
   /**
    * Creates a new instance of this blind trust manager provider.  The
    * <CODE>initializeTrustManagerProvider</CODE> method must be called on the
@@ -72,7 +68,7 @@
    * {@inheritDoc}
    */
   @Override()
-  public void initializeTrustManagerProvider(TrustManagerCfg configuration)
+  public void initializeTrustManagerProvider(BlindTrustManagerCfg configuration)
          throws ConfigException, InitializationException
   {
     // No implementation is required.
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/CancelExtendedOperation.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/CancelExtendedOperation.java
index 1b14c7d..0ce16a2 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/CancelExtendedOperation.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/CancelExtendedOperation.java
@@ -25,29 +25,31 @@
  *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
+
+
+
 import org.opends.messages.Message;
 import org.opends.messages.MessageBuilder;
-
-
+import org.opends.server.admin.std.server.CancelExtendedOperationHandlerCfg;
 import org.opends.server.api.ClientConnection;
 import org.opends.server.api.ExtendedOperationHandler;
 import org.opends.server.config.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.core.ExtendedOperation;
+import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.protocols.asn1.ASN1Sequence;
 import org.opends.server.types.ByteString;
 import org.opends.server.types.CancelRequest;
 import org.opends.server.types.CancelResult;
+import org.opends.server.types.DebugLogLevel;
 import org.opends.server.types.InitializationException;
 import org.opends.server.types.ResultCode;
 
-import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
-import org.opends.server.types.DebugLogLevel;
 import static org.opends.messages.ExtensionMessages.*;
+import static org.opends.server.loggers.debug.DebugLogger.*;
 import static org.opends.server.util.ServerConstants.*;
 import static org.opends.server.util.StaticUtils.*;
-import org.opends.server.admin.std.server.ExtendedOperationHandlerCfg;
+
 
 
 /**
@@ -58,7 +60,7 @@
  * successful the abandoned operation won't get one either).
  */
 public class CancelExtendedOperation
-       extends ExtendedOperationHandler<ExtendedOperationHandlerCfg>
+       extends ExtendedOperationHandler<CancelExtendedOperationHandlerCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -67,7 +69,6 @@
 
 
 
-
   /**
    * Create an instance of this cancel extended operation.  All initialization
    * should be performed in the <CODE>initializeExtendedOperationHandler</CODE>
@@ -76,7 +77,6 @@
   public CancelExtendedOperation()
   {
     super();
-
   }
 
 
@@ -97,8 +97,8 @@
    *                                   configuration.
    */
   public void initializeExtendedOperationHandler(
-       ExtendedOperationHandlerCfg config)
-       throws ConfigException, InitializationException
+                   CancelExtendedOperationHandlerCfg config)
+         throws ConfigException, InitializationException
   {
     // No special configuration is required.
 
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/ClearPasswordStorageScheme.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/ClearPasswordStorageScheme.java
index 2cccfef..a357532 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/ClearPasswordStorageScheme.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/ClearPasswordStorageScheme.java
@@ -25,11 +25,13 @@
  *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
+
+
+
+import java.util.Arrays;
+
 import org.opends.messages.Message;
-
-
-
-import org.opends.server.admin.std.server.PasswordStorageSchemeCfg;
+import org.opends.server.admin.std.server.ClearPasswordStorageSchemeCfg;
 import org.opends.server.api.PasswordStorageScheme;
 import org.opends.server.config.ConfigException;
 import org.opends.server.types.ByteString;
@@ -38,9 +40,8 @@
 import org.opends.server.types.InitializationException;
 import org.opends.server.types.ResultCode;
 
-import static org.opends.server.extensions.ExtensionsConstants.*;
 import static org.opends.messages.ExtensionMessages.*;
-import java.util.Arrays;
+import static org.opends.server.extensions.ExtensionsConstants.*;
 
 
 
@@ -51,11 +52,8 @@
  * applications.
  */
 public class ClearPasswordStorageScheme
-       extends PasswordStorageScheme <PasswordStorageSchemeCfg>
+       extends PasswordStorageScheme<ClearPasswordStorageSchemeCfg>
 {
-
-
-
   /**
    * Creates a new instance of this password storage scheme.  Note that no
    * initialization should be performed here, as all initialization should be
@@ -64,7 +62,6 @@
   public ClearPasswordStorageScheme()
   {
     super();
-
   }
 
 
@@ -74,9 +71,8 @@
    */
   @Override()
   public void initializePasswordStorageScheme(
-      PasswordStorageSchemeCfg configuration
-      )
-  throws ConfigException, InitializationException
+                   ClearPasswordStorageSchemeCfg configuration)
+         throws ConfigException, InitializationException
   {
     // No initialization is required.
   }
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/CryptPasswordStorageScheme.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/CryptPasswordStorageScheme.java
index 0c76800..c4095ec 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/CryptPasswordStorageScheme.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/CryptPasswordStorageScheme.java
@@ -25,18 +25,15 @@
  *      Portions Copyright 2007 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
-import org.opends.messages.Message;
 
 
 
-import static org.opends.server.extensions.ExtensionsConstants.*;
-import static org.opends.messages.ExtensionMessages.*;
-import static org.opends.server.util.StaticUtils.stackTraceToSingleLineString;
-
 import java.util.Arrays;
 import java.util.Random;
 import java.util.concurrent.locks.ReentrantLock;
 
+import org.opends.messages.Message;
+import org.opends.server.admin.std.server.CryptPasswordStorageSchemeCfg;
 import org.opends.server.api.PasswordStorageScheme;
 import org.opends.server.config.ConfigException;
 import org.opends.server.core.DirectoryServer;
@@ -46,7 +43,11 @@
 import org.opends.server.types.InitializationException;
 import org.opends.server.types.ResultCode;
 import org.opends.server.util.Crypt;
-import org.opends.server.admin.std.server.PasswordStorageSchemeCfg;
+
+import static org.opends.messages.ExtensionMessages.*;
+import static org.opends.server.extensions.ExtensionsConstants.*;
+import static org.opends.server.util.StaticUtils.stackTraceToSingleLineString;
+
 
 
 /**
@@ -58,7 +59,7 @@
  * vulnerable to dictionary attacks than schemes with larger salts.
  */
 public class CryptPasswordStorageScheme
-       extends PasswordStorageScheme
+       extends PasswordStorageScheme<CryptPasswordStorageSchemeCfg>
 {
   /**
    * The fully-qualified name of this class for debugging purposes.
@@ -78,6 +79,8 @@
   private final ReentrantLock saltLock = new ReentrantLock();
   private final Crypt crypt = new Crypt();
 
+
+
   /**
    * Creates a new instance of this password storage scheme.  Note that no
    * initialization should be performed here, as all initialization should be
@@ -94,8 +97,8 @@
    */
   @Override()
   public void initializePasswordStorageScheme(
-          PasswordStorageSchemeCfg configuration)
-          throws ConfigException, InitializationException {
+                   CryptPasswordStorageSchemeCfg configuration)
+         throws ConfigException, InitializationException {
     // Nothing to configure
   }
 
@@ -307,3 +310,4 @@
     return false;
   }
 }
+
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/DynamicGroup.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/DynamicGroup.java
index c214ad9..f1382d3 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/DynamicGroup.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/DynamicGroup.java
@@ -25,7 +25,6 @@
  *      Portions Copyright 2007 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
-import org.opends.messages.Message;
 
 
 
@@ -35,9 +34,12 @@
 import java.util.List;
 import java.util.Set;
 
-import org.opends.server.admin.std.server.GroupImplementationCfg;
+import org.opends.messages.Message;
+import org.opends.server.admin.std.server.DynamicGroupImplementationCfg;
 import org.opends.server.api.Group;
 import org.opends.server.config.ConfigException;
+import org.opends.server.loggers.ErrorLogger;
+import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.types.Attribute;
 import org.opends.server.types.AttributeType;
 import org.opends.server.types.AttributeValue;
@@ -53,11 +55,9 @@
 import org.opends.server.types.SearchFilter;
 import org.opends.server.types.SearchScope;
 
+import static org.opends.messages.ExtensionMessages.*;
 import static org.opends.server.config.ConfigConstants.*;
 import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
-import org.opends.server.loggers.ErrorLogger;
-import static org.opends.messages.ExtensionMessages.*;
 import static org.opends.server.util.ServerConstants.*;
 import static org.opends.server.util.Validator.*;
 
@@ -71,7 +71,7 @@
  * specifying the membership criteria.
  */
 public class DynamicGroup
-       extends Group<GroupImplementationCfg>
+       extends Group<DynamicGroupImplementationCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -125,7 +125,7 @@
    */
   @Override()
   public void initializeGroupImplementation(
-                   GroupImplementationCfg configuration)
+                   DynamicGroupImplementationCfg configuration)
          throws ConfigException, InitializationException
   {
     // No additional initialization is required.
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/EntryDNVirtualAttributeProvider.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/EntryDNVirtualAttributeProvider.java
index 903534e..b264274 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/EntryDNVirtualAttributeProvider.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/EntryDNVirtualAttributeProvider.java
@@ -32,11 +32,12 @@
 import java.util.LinkedHashSet;
 import java.util.List;
 
-import org.opends.server.admin.std.server.VirtualAttributeCfg;
+import org.opends.server.admin.std.server.EntryDNVirtualAttributeCfg;
 import org.opends.server.api.VirtualAttributeProvider;
 import org.opends.server.config.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.core.SearchOperation;
+import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.types.AttributeType;
 import org.opends.server.types.AttributeValue;
 import org.opends.server.types.ByteString;
@@ -51,7 +52,6 @@
 import org.opends.server.types.VirtualAttributeRule;
 
 import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
 import static org.opends.server.util.ServerConstants.*;
 
 
@@ -61,7 +61,7 @@
  * entryDN operational attribute as described in draft-zeilenga-ldap-entrydn.
  */
 public class EntryDNVirtualAttributeProvider
-       extends VirtualAttributeProvider<VirtualAttributeCfg>
+       extends VirtualAttributeProvider<EntryDNVirtualAttributeCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -86,7 +86,7 @@
    */
   @Override()
   public void initializeVirtualAttributeProvider(
-                            VirtualAttributeCfg configuration)
+                            EntryDNVirtualAttributeCfg configuration)
          throws ConfigException, InitializationException
   {
     // No initialization is required.
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/EntryUUIDVirtualAttributeProvider.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/EntryUUIDVirtualAttributeProvider.java
index 1c810dc..fcf409a 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/EntryUUIDVirtualAttributeProvider.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/EntryUUIDVirtualAttributeProvider.java
@@ -25,7 +25,6 @@
  *      Portions Copyright 2007 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
-import org.opends.messages.Message;
 
 
 
@@ -33,7 +32,8 @@
 import java.util.List;
 import java.util.UUID;
 
-import org.opends.server.admin.std.server.VirtualAttributeCfg;
+import org.opends.messages.Message;
+import org.opends.server.admin.std.server.EntryUUIDVirtualAttributeCfg;
 import org.opends.server.api.VirtualAttributeProvider;
 import org.opends.server.config.ConfigException;
 import org.opends.server.core.SearchOperation;
@@ -48,8 +48,8 @@
 import org.opends.server.types.ResultCode;
 import org.opends.server.types.VirtualAttributeRule;
 
-import static org.opends.server.loggers.debug.DebugLogger.*;
 import static org.opends.messages.ExtensionMessages.*;
+import static org.opends.server.loggers.debug.DebugLogger.*;
 import static org.opends.server.util.ServerConstants.*;
 import static org.opends.server.util.StaticUtils.*;
 
@@ -64,7 +64,7 @@
  * time the entries are added or imported.
  */
 public class EntryUUIDVirtualAttributeProvider
-       extends VirtualAttributeProvider<VirtualAttributeCfg>
+       extends VirtualAttributeProvider<EntryUUIDVirtualAttributeCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -89,7 +89,7 @@
    */
   @Override()
   public void initializeVirtualAttributeProvider(
-                            VirtualAttributeCfg configuration)
+                            EntryUUIDVirtualAttributeCfg configuration)
          throws ConfigException, InitializationException
   {
     // No initialization is required.
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/GetConnectionIDExtendedOperation.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/GetConnectionIDExtendedOperation.java
index b64108c..b2821b3 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/GetConnectionIDExtendedOperation.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/GetConnectionIDExtendedOperation.java
@@ -28,7 +28,8 @@
 
 
 
-import org.opends.server.admin.std.server.ExtendedOperationHandlerCfg;
+import org.opends.server.admin.std.server.
+            GetConnectionIdExtendedOperationHandlerCfg;
 import org.opends.server.api.ExtendedOperationHandler;
 import org.opends.server.config.ConfigException;
 import org.opends.server.core.DirectoryServer;
@@ -48,7 +49,8 @@
  * used to get the connection ID of the associated client connection.
  */
 public class GetConnectionIDExtendedOperation
-       extends ExtendedOperationHandler<ExtendedOperationHandlerCfg>
+       extends ExtendedOperationHandler<
+                    GetConnectionIdExtendedOperationHandlerCfg>
 {
   /**
    * Create an instance of this "Get Connection ID" extended operation.  All
@@ -66,8 +68,8 @@
    * {@inheritDoc}
    */
   public void initializeExtendedOperationHandler(
-       ExtendedOperationHandlerCfg config)
-       throws ConfigException, InitializationException
+                   GetConnectionIdExtendedOperationHandlerCfg config)
+         throws ConfigException, InitializationException
   {
     // No special configuration is required.
 
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/HasSubordinatesVirtualAttributeProvider.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/HasSubordinatesVirtualAttributeProvider.java
index 1fc5d27..1b2f742 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/HasSubordinatesVirtualAttributeProvider.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/HasSubordinatesVirtualAttributeProvider.java
@@ -22,32 +22,46 @@
  * CDDL HEADER END
  *
  *
- *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
+ *      Portions Copyright 2007 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
 
-import org.opends.server.admin.std.server.VirtualAttributeCfg;
-import org.opends.server.api.VirtualAttributeProvider;
-import org.opends.server.api.Backend;
-import org.opends.server.loggers.debug.DebugTracer;
-import static org.opends.server.loggers.debug.DebugLogger.getTracer;
-import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
-import org.opends.server.config.ConfigException;
-import org.opends.server.types.*;
-import org.opends.server.core.SearchOperation;
-import org.opends.server.core.DirectoryServer;
-import org.opends.messages.Message;
-import static org.opends.messages.ExtensionMessages.*;
+
 
 import java.util.LinkedHashSet;
 import java.util.List;
 
+import org.opends.messages.Message;
+import org.opends.server.admin.std.server.HasSubordinatesVirtualAttributeCfg;
+import org.opends.server.api.VirtualAttributeProvider;
+import org.opends.server.api.Backend;
+import org.opends.server.core.DirectoryServer;
+import org.opends.server.core.SearchOperation;
+import org.opends.server.config.ConfigException;
+import org.opends.server.loggers.debug.DebugTracer;
+import org.opends.server.types.AttributeValue;
+import org.opends.server.types.ByteString;
+import org.opends.server.types.ByteStringFactory;
+import org.opends.server.types.ConditionResult;
+import org.opends.server.types.DebugLogLevel;
+import org.opends.server.types.DirectoryException;
+import org.opends.server.types.Entry;
+import org.opends.server.types.InitializationException;
+import org.opends.server.types.ResultCode;
+import org.opends.server.types.VirtualAttributeRule;
+
+import static org.opends.messages.ExtensionMessages.*;
+import static org.opends.server.loggers.debug.DebugLogger.getTracer;
+import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
+
+
+
 /**
  * This class implements a virtual attribute provider that is meant to serve the
  * hasSubordinates operational attribute as described in X.501.
  */
 public class HasSubordinatesVirtualAttributeProvider
-    extends VirtualAttributeProvider<VirtualAttributeCfg>
+       extends VirtualAttributeProvider<HasSubordinatesVirtualAttributeCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -72,7 +86,7 @@
    */
   @Override()
   public void initializeVirtualAttributeProvider(
-                            VirtualAttributeCfg configuration)
+                            HasSubordinatesVirtualAttributeCfg configuration)
          throws ConfigException, InitializationException
   {
     // No initialization is required.
@@ -277,3 +291,4 @@
     searchOperation.appendErrorMessage(message);
   }
 }
+
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/IsMemberOfVirtualAttributeProvider.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/IsMemberOfVirtualAttributeProvider.java
index b455392..3c9e346 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/IsMemberOfVirtualAttributeProvider.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/IsMemberOfVirtualAttributeProvider.java
@@ -32,12 +32,13 @@
 import java.util.LinkedHashSet;
 import java.util.List;
 
-import org.opends.server.admin.std.server.VirtualAttributeCfg;
+import org.opends.server.admin.std.server.IsMemberOfVirtualAttributeCfg;
 import org.opends.server.api.Group;
 import org.opends.server.api.VirtualAttributeProvider;
 import org.opends.server.config.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.core.SearchOperation;
+import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.types.AttributeType;
 import org.opends.server.types.AttributeValue;
 import org.opends.server.types.ByteString;
@@ -53,7 +54,6 @@
 import org.opends.server.types.VirtualAttributeRule;
 
 import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
 import static org.opends.server.util.ServerConstants.*;
 
 
@@ -64,7 +64,7 @@
  * list of all groups in which the specified user is a member.
  */
 public class IsMemberOfVirtualAttributeProvider
-       extends VirtualAttributeProvider<VirtualAttributeCfg>
+       extends VirtualAttributeProvider<IsMemberOfVirtualAttributeCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -89,7 +89,7 @@
    */
   @Override()
   public void initializeVirtualAttributeProvider(
-                            VirtualAttributeCfg configuration)
+                            IsMemberOfVirtualAttributeCfg configuration)
          throws ConfigException, InitializationException
   {
     // No initialization is required.
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/JMXAlertHandler.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/JMXAlertHandler.java
index bee4e4a..f8c5a2c 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/JMXAlertHandler.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/JMXAlertHandler.java
@@ -51,6 +51,7 @@
 
 import org.opends.server.admin.server.ConfigurationChangeListener;
 import org.opends.server.admin.std.server.AlertHandlerCfg;
+import org.opends.server.admin.std.server.JMXAlertHandlerCfg;
 import org.opends.server.api.AlertGenerator;
 import org.opends.server.api.AlertHandler;
 import org.opends.server.api.DirectoryServerMBean;
@@ -78,8 +79,8 @@
  */
 public class JMXAlertHandler
        extends NotificationBroadcasterSupport
-       implements AlertHandler<AlertHandlerCfg>,
-                  ConfigurationChangeListener<AlertHandlerCfg>, DynamicMBean,
+       implements AlertHandler<JMXAlertHandlerCfg>,
+                  ConfigurationChangeListener<JMXAlertHandlerCfg>, DynamicMBean,
                   DirectoryServerMBean
 {
   /**
@@ -125,7 +126,7 @@
   /**
    * {@inheritDoc}
    */
-  public void initializeAlertHandler(AlertHandlerCfg configuration)
+  public void initializeAlertHandler(JMXAlertHandlerCfg configuration)
        throws ConfigException, InitializationException
   {
     sequenceNumber = new AtomicLong(1);
@@ -168,7 +169,7 @@
 
     if (configuration != null)
     {
-      configuration.addChangeListener(this);
+      configuration.addJMXChangeListener(this);
       currentConfig = configuration;
     }
   }
@@ -191,7 +192,8 @@
   public boolean isConfigurationAcceptable(AlertHandlerCfg configuration,
                                            List<Message> unacceptableReasons)
   {
-    return true;
+    JMXAlertHandlerCfg cfg = (JMXAlertHandlerCfg) configuration;
+    return isConfigurationChangeAcceptable(cfg, unacceptableReasons);
   }
 
 
@@ -401,7 +403,8 @@
   /**
    * {@inheritDoc}
    */
-  public boolean isConfigurationChangeAcceptable(AlertHandlerCfg configuration,
+  public boolean isConfigurationChangeAcceptable(
+                      JMXAlertHandlerCfg configuration,
                       List<Message> unacceptableReasons)
   {
     return true;
@@ -413,7 +416,7 @@
    * {@inheritDoc}
    */
   public ConfigChangeResult applyConfigurationChange(
-                                        AlertHandlerCfg configuration)
+                                        JMXAlertHandlerCfg configuration)
   {
     currentConfig = configuration;
 
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/MD5PasswordStorageScheme.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/MD5PasswordStorageScheme.java
index 0805625..dd2467e 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/MD5PasswordStorageScheme.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/MD5PasswordStorageScheme.java
@@ -25,7 +25,6 @@
  *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
-import org.opends.messages.Message;
 
 
 
@@ -33,25 +32,24 @@
 import java.util.Arrays;
 import java.util.concurrent.locks.ReentrantLock;
 
-import org.opends.server.admin.std.server.PasswordStorageSchemeCfg;
+import org.opends.messages.Message;
+import org.opends.server.admin.std.server.MD5PasswordStorageSchemeCfg;
 import org.opends.server.api.PasswordStorageScheme;
 import org.opends.server.config.ConfigException;
 import org.opends.server.core.DirectoryServer;
+import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.types.ByteString;
 import org.opends.server.types.ByteStringFactory;
+import org.opends.server.types.DebugLogLevel;
 import org.opends.server.types.DirectoryException;
-
-
 import org.opends.server.types.InitializationException;
 import org.opends.server.types.ResultCode;
 import org.opends.server.util.Base64;
 
+import static org.opends.messages.ExtensionMessages.*;
 import static org.opends.server.extensions.ExtensionsConstants.*;
-import org.opends.server.types.DebugLogLevel;
 import static org.opends.server.loggers.ErrorLogger.*;
 import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
-import static org.opends.messages.ExtensionMessages.*;
 import static org.opends.server.util.StaticUtils.*;
 
 
@@ -66,7 +64,7 @@
  * vulnerable to dictionary attacks than salted variants.
  */
 public class MD5PasswordStorageScheme
-       extends PasswordStorageScheme <PasswordStorageSchemeCfg>
+       extends PasswordStorageScheme<MD5PasswordStorageSchemeCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -107,9 +105,8 @@
    */
   @Override()
   public void initializePasswordStorageScheme(
-      PasswordStorageSchemeCfg configuration
-      )
-      throws ConfigException, InitializationException
+                   MD5PasswordStorageSchemeCfg configuration)
+         throws ConfigException, InitializationException
   {
     try
     {
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/NumSubordinatesVirtualAttributeProvider.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/NumSubordinatesVirtualAttributeProvider.java
index 7aa6fef..bf4ca21 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/NumSubordinatesVirtualAttributeProvider.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/NumSubordinatesVirtualAttributeProvider.java
@@ -22,33 +22,47 @@
  * CDDL HEADER END
  *
  *
- *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
+ *      Portions Copyright 2007 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
 
-import org.opends.server.admin.std.server.VirtualAttributeCfg;
-import org.opends.server.api.VirtualAttributeProvider;
-import org.opends.server.api.Backend;
-import org.opends.server.loggers.debug.DebugTracer;
-import static org.opends.server.loggers.debug.DebugLogger.getTracer;
-import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
-import org.opends.server.config.ConfigException;
-import org.opends.server.types.*;
-import org.opends.server.core.SearchOperation;
-import org.opends.server.core.DirectoryServer;
-import org.opends.messages.Message;
-import static org.opends.messages.ExtensionMessages.*;
+
 
 import java.util.LinkedHashSet;
 import java.util.List;
 
+import org.opends.messages.Message;
+import org.opends.server.admin.std.server.NumSubordinatesVirtualAttributeCfg;
+import org.opends.server.api.VirtualAttributeProvider;
+import org.opends.server.api.Backend;
+import org.opends.server.config.ConfigException;
+import org.opends.server.core.DirectoryServer;
+import org.opends.server.core.SearchOperation;
+import org.opends.server.loggers.debug.DebugTracer;
+import org.opends.server.types.AttributeValue;
+import org.opends.server.types.ByteString;
+import org.opends.server.types.ByteStringFactory;
+import org.opends.server.types.ConditionResult;
+import org.opends.server.types.DebugLogLevel;
+import org.opends.server.types.DirectoryException;
+import org.opends.server.types.Entry;
+import org.opends.server.types.InitializationException;
+import org.opends.server.types.ResultCode;
+import org.opends.server.types.VirtualAttributeRule;
+
+import static org.opends.messages.ExtensionMessages.*;
+import static org.opends.server.loggers.debug.DebugLogger.getTracer;
+import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
+
+
+
 /**
  * This class implements a virtual attribute provider that is meant to serve the
  * hasSubordinates operational attribute as described in
  * draft-ietf-boreham-numsubordinates.
  */
 public class NumSubordinatesVirtualAttributeProvider
-    extends VirtualAttributeProvider<VirtualAttributeCfg>
+    extends VirtualAttributeProvider<NumSubordinatesVirtualAttributeCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -73,7 +87,7 @@
    */
   @Override()
   public void initializeVirtualAttributeProvider(
-                            VirtualAttributeCfg configuration)
+                            NumSubordinatesVirtualAttributeCfg configuration)
          throws ConfigException, InitializationException
   {
     // No initialization is required.
@@ -248,3 +262,4 @@
     searchOperation.appendErrorMessage(message);
   }
 }
+
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/PasswordPolicyStateExtendedOperation.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/PasswordPolicyStateExtendedOperation.java
index 180ed9d..7e5b63a 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/PasswordPolicyStateExtendedOperation.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/PasswordPolicyStateExtendedOperation.java
@@ -25,7 +25,6 @@
  *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
-import org.opends.messages.Message;
 
 
 
@@ -33,7 +32,9 @@
 import java.util.LinkedHashSet;
 import java.util.List;
 
-import org.opends.server.admin.std.server.ExtendedOperationHandlerCfg;
+import org.opends.messages.Message;
+import org.opends.server.admin.std.server.
+            PasswordPolicyStateExtendedOperationHandlerCfg;
 import org.opends.server.api.ClientConnection;
 import org.opends.server.api.ExtendedOperationHandler;
 import org.opends.server.config.ConfigException;
@@ -63,8 +64,8 @@
 import org.opends.server.types.SearchResultEntry;
 import org.opends.server.types.SearchScope;
 
-import static org.opends.server.loggers.debug.DebugLogger.*;
 import static org.opends.messages.ExtensionMessages.*;
+import static org.opends.server.loggers.debug.DebugLogger.*;
 import static org.opends.server.util.ServerConstants.*;
 import static org.opends.server.util.StaticUtils.*;
 
@@ -136,7 +137,8 @@
  * set*, add*, remove*, or clear* operation).
  */
 public class PasswordPolicyStateExtendedOperation
-       extends ExtendedOperationHandler<ExtendedOperationHandlerCfg>
+       extends ExtendedOperationHandler<
+                    PasswordPolicyStateExtendedOperationHandlerCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -472,8 +474,8 @@
    *                                   configuration.
    */
   public void initializeExtendedOperationHandler(
-       ExtendedOperationHandlerCfg config)
-       throws ConfigException, InitializationException
+                   PasswordPolicyStateExtendedOperationHandlerCfg config)
+         throws ConfigException, InitializationException
   {
     // Construct the filter that will be used to retrieve user entries.
     try
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/SHA1PasswordStorageScheme.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/SHA1PasswordStorageScheme.java
index e977c5d..1b85d79 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/SHA1PasswordStorageScheme.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/SHA1PasswordStorageScheme.java
@@ -25,7 +25,6 @@
  *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
-import org.opends.messages.Message;
 
 
 
@@ -33,25 +32,24 @@
 import java.util.Arrays;
 import java.util.concurrent.locks.ReentrantLock;
 
-import org.opends.server.admin.std.server.PasswordStorageSchemeCfg;
+import org.opends.messages.Message;
+import org.opends.server.admin.std.server.SHA1PasswordStorageSchemeCfg;
 import org.opends.server.api.PasswordStorageScheme;
 import org.opends.server.config.ConfigException;
 import org.opends.server.core.DirectoryServer;
+import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.types.ByteString;
 import org.opends.server.types.ByteStringFactory;
+import org.opends.server.types.DebugLogLevel;
 import org.opends.server.types.DirectoryException;
-
-
 import org.opends.server.types.InitializationException;
 import org.opends.server.types.ResultCode;
 import org.opends.server.util.Base64;
 
+import static org.opends.messages.ExtensionMessages.*;
 import static org.opends.server.extensions.ExtensionsConstants.*;
-import org.opends.server.types.DebugLogLevel;
 import static org.opends.server.loggers.ErrorLogger.*;
 import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
-import static org.opends.messages.ExtensionMessages.*;
 import static org.opends.server.util.StaticUtils.*;
 
 
@@ -66,7 +64,7 @@
  * vulnerable to dictionary attacks than salted variants.
  */
 public class SHA1PasswordStorageScheme
-       extends PasswordStorageScheme <PasswordStorageSchemeCfg>
+       extends PasswordStorageScheme<SHA1PasswordStorageSchemeCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -97,7 +95,6 @@
   public SHA1PasswordStorageScheme()
   {
     super();
-
   }
 
 
@@ -107,9 +104,8 @@
    */
   @Override()
   public void initializePasswordStorageScheme(
-      PasswordStorageSchemeCfg configuration
-      )
-      throws ConfigException, InitializationException
+                   SHA1PasswordStorageSchemeCfg configuration)
+         throws ConfigException, InitializationException
   {
     try
     {
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedMD5PasswordStorageScheme.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedMD5PasswordStorageScheme.java
index 9624db2..b997b0f 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedMD5PasswordStorageScheme.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedMD5PasswordStorageScheme.java
@@ -25,7 +25,6 @@
  *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
-import org.opends.messages.Message;
 
 
 
@@ -34,23 +33,24 @@
 import java.util.Arrays;
 import java.util.concurrent.locks.ReentrantLock;
 
-import org.opends.server.admin.std.server.PasswordStorageSchemeCfg;
+import org.opends.messages.Message;
+import org.opends.server.admin.std.server.SaltedMD5PasswordStorageSchemeCfg;
 import org.opends.server.api.PasswordStorageScheme;
 import org.opends.server.config.ConfigException;
 import org.opends.server.core.DirectoryServer;
+import org.opends.server.loggers.ErrorLogger;
+import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.types.ByteString;
 import org.opends.server.types.ByteStringFactory;
+import org.opends.server.types.DebugLogLevel;
 import org.opends.server.types.DirectoryException;
 import org.opends.server.types.InitializationException;
 import org.opends.server.types.ResultCode;
 import org.opends.server.util.Base64;
 
-import static org.opends.server.extensions.ExtensionsConstants.*;
-import org.opends.server.types.DebugLogLevel;
-import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
-import org.opends.server.loggers.ErrorLogger;
 import static org.opends.messages.ExtensionMessages.*;
+import static org.opends.server.extensions.ExtensionsConstants.*;
+import static org.opends.server.loggers.debug.DebugLogger.*;
 import static org.opends.server.util.StaticUtils.*;
 
 
@@ -67,7 +67,7 @@
  * appended to the hash, and then the entire value is base64-encoded.
  */
 public class SaltedMD5PasswordStorageScheme
-       extends PasswordStorageScheme <PasswordStorageSchemeCfg>
+       extends PasswordStorageScheme<SaltedMD5PasswordStorageSchemeCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -119,9 +119,8 @@
    */
   @Override()
   public void initializePasswordStorageScheme(
-      PasswordStorageSchemeCfg configuration
-      )
-      throws ConfigException, InitializationException
+                   SaltedMD5PasswordStorageSchemeCfg configuration)
+         throws ConfigException, InitializationException
   {
     try
     {
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA1PasswordStorageScheme.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA1PasswordStorageScheme.java
index d2771f9..eee7a91 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA1PasswordStorageScheme.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA1PasswordStorageScheme.java
@@ -25,7 +25,6 @@
  *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
-import org.opends.messages.Message;
 
 
 
@@ -34,23 +33,24 @@
 import java.util.Arrays;
 import java.util.concurrent.locks.ReentrantLock;
 
-import org.opends.server.admin.std.server.PasswordStorageSchemeCfg;
+import org.opends.messages.Message;
+import org.opends.server.admin.std.server.SaltedSHA1PasswordStorageSchemeCfg;
 import org.opends.server.api.PasswordStorageScheme;
 import org.opends.server.config.ConfigException;
 import org.opends.server.core.DirectoryServer;
+import org.opends.server.loggers.ErrorLogger;
+import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.types.ByteString;
 import org.opends.server.types.ByteStringFactory;
+import org.opends.server.types.DebugLogLevel;
 import org.opends.server.types.DirectoryException;
 import org.opends.server.types.InitializationException;
 import org.opends.server.types.ResultCode;
 import org.opends.server.util.Base64;
 
-import static org.opends.server.extensions.ExtensionsConstants.*;
-import org.opends.server.types.DebugLogLevel;
-import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
-import org.opends.server.loggers.ErrorLogger;
 import static org.opends.messages.ExtensionMessages.*;
+import static org.opends.server.extensions.ExtensionsConstants.*;
+import static org.opends.server.loggers.debug.DebugLogger.*;
 import static org.opends.server.util.StaticUtils.*;
 
 
@@ -67,7 +67,7 @@
  * appended to the hash, and then the entire value is base64-encoded.
  */
 public class SaltedSHA1PasswordStorageScheme
-       extends PasswordStorageScheme <PasswordStorageSchemeCfg>
+       extends PasswordStorageScheme<SaltedSHA1PasswordStorageSchemeCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -109,7 +109,6 @@
   public SaltedSHA1PasswordStorageScheme()
   {
     super();
-
   }
 
 
@@ -119,9 +118,8 @@
    */
   @Override()
   public void initializePasswordStorageScheme(
-      PasswordStorageSchemeCfg configuration
-      )
-      throws ConfigException, InitializationException
+                   SaltedSHA1PasswordStorageSchemeCfg configuration)
+         throws ConfigException, InitializationException
   {
     try
     {
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA256PasswordStorageScheme.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA256PasswordStorageScheme.java
index ba26d79..401e192 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA256PasswordStorageScheme.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA256PasswordStorageScheme.java
@@ -25,7 +25,6 @@
  *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
-import org.opends.messages.Message;
 
 
 
@@ -34,23 +33,24 @@
 import java.util.Arrays;
 import java.util.concurrent.locks.ReentrantLock;
 
-import org.opends.server.admin.std.server.PasswordStorageSchemeCfg;
+import org.opends.messages.Message;
+import org.opends.server.admin.std.server.SaltedSHA256PasswordStorageSchemeCfg;
 import org.opends.server.api.PasswordStorageScheme;
 import org.opends.server.config.ConfigException;
 import org.opends.server.core.DirectoryServer;
+import org.opends.server.loggers.ErrorLogger;
+import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.types.ByteString;
 import org.opends.server.types.ByteStringFactory;
+import org.opends.server.types.DebugLogLevel;
 import org.opends.server.types.DirectoryException;
 import org.opends.server.types.InitializationException;
 import org.opends.server.types.ResultCode;
 import org.opends.server.util.Base64;
 
-import static org.opends.server.extensions.ExtensionsConstants.*;
-import org.opends.server.types.DebugLogLevel;
-import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
-import org.opends.server.loggers.ErrorLogger;
 import static org.opends.messages.ExtensionMessages.*;
+import static org.opends.server.extensions.ExtensionsConstants.*;
+import static org.opends.server.loggers.debug.DebugLogger.*;
 import static org.opends.server.util.StaticUtils.*;
 
 
@@ -67,7 +67,7 @@
  * is appended to the hash, and then the entire value is base64-encoded.
  */
 public class SaltedSHA256PasswordStorageScheme
-       extends PasswordStorageScheme <PasswordStorageSchemeCfg>
+       extends PasswordStorageScheme<SaltedSHA256PasswordStorageSchemeCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -110,7 +110,6 @@
   public SaltedSHA256PasswordStorageScheme()
   {
     super();
-
   }
 
 
@@ -120,9 +119,8 @@
    */
   @Override()
   public void initializePasswordStorageScheme(
-      PasswordStorageSchemeCfg configuration
-      )
-      throws ConfigException, InitializationException
+                   SaltedSHA256PasswordStorageSchemeCfg configuration)
+         throws ConfigException, InitializationException
   {
     try
     {
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA384PasswordStorageScheme.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA384PasswordStorageScheme.java
index 78964a1..bfb25ff 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA384PasswordStorageScheme.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA384PasswordStorageScheme.java
@@ -25,7 +25,6 @@
  *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
-import org.opends.messages.Message;
 
 
 
@@ -34,23 +33,24 @@
 import java.util.Arrays;
 import java.util.concurrent.locks.ReentrantLock;
 
-import org.opends.server.admin.std.server.PasswordStorageSchemeCfg;
+import org.opends.messages.Message;
+import org.opends.server.admin.std.server.SaltedSHA384PasswordStorageSchemeCfg;
 import org.opends.server.api.PasswordStorageScheme;
 import org.opends.server.config.ConfigException;
 import org.opends.server.core.DirectoryServer;
+import org.opends.server.loggers.ErrorLogger;
+import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.types.ByteString;
 import org.opends.server.types.ByteStringFactory;
+import org.opends.server.types.DebugLogLevel;
 import org.opends.server.types.DirectoryException;
 import org.opends.server.types.InitializationException;
 import org.opends.server.types.ResultCode;
 import org.opends.server.util.Base64;
 
-import static org.opends.server.extensions.ExtensionsConstants.*;
-import org.opends.server.types.DebugLogLevel;
-import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
-import org.opends.server.loggers.ErrorLogger;
 import static org.opends.messages.ExtensionMessages.*;
+import static org.opends.server.extensions.ExtensionsConstants.*;
+import static org.opends.server.loggers.debug.DebugLogger.*;
 import static org.opends.server.util.StaticUtils.*;
 
 
@@ -67,7 +67,7 @@
  * is appended to the hash, and then the entire value is base64-encoded.
  */
 public class SaltedSHA384PasswordStorageScheme
-       extends PasswordStorageScheme <PasswordStorageSchemeCfg>
+       extends PasswordStorageScheme<SaltedSHA384PasswordStorageSchemeCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -110,7 +110,6 @@
   public SaltedSHA384PasswordStorageScheme()
   {
     super();
-
   }
 
 
@@ -120,9 +119,8 @@
    */
   @Override()
   public void initializePasswordStorageScheme(
-      PasswordStorageSchemeCfg configuration
-      )
-      throws ConfigException, InitializationException
+                   SaltedSHA384PasswordStorageSchemeCfg configuration)
+         throws ConfigException, InitializationException
   {
     try
     {
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA512PasswordStorageScheme.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA512PasswordStorageScheme.java
index 5660daa..7a57e37 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA512PasswordStorageScheme.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA512PasswordStorageScheme.java
@@ -25,7 +25,6 @@
  *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
-import org.opends.messages.Message;
 
 
 
@@ -34,23 +33,24 @@
 import java.util.Arrays;
 import java.util.concurrent.locks.ReentrantLock;
 
-import org.opends.server.admin.std.server.PasswordStorageSchemeCfg;
+import org.opends.messages.Message;
+import org.opends.server.admin.std.server.SaltedSHA512PasswordStorageSchemeCfg;
 import org.opends.server.api.PasswordStorageScheme;
 import org.opends.server.config.ConfigException;
 import org.opends.server.core.DirectoryServer;
+import org.opends.server.loggers.ErrorLogger;
+import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.types.ByteString;
 import org.opends.server.types.ByteStringFactory;
+import org.opends.server.types.DebugLogLevel;
 import org.opends.server.types.DirectoryException;
 import org.opends.server.types.InitializationException;
 import org.opends.server.types.ResultCode;
 import org.opends.server.util.Base64;
 
+import static org.opends.messages.ExtensionMessages.*;
 import static org.opends.server.extensions.ExtensionsConstants.*;
 import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
-import org.opends.server.loggers.ErrorLogger;
-import org.opends.server.types.DebugLogLevel;
-import static org.opends.messages.ExtensionMessages.*;
 import static org.opends.server.util.StaticUtils.*;
 
 
@@ -67,7 +67,7 @@
  * is appended to the hash, and then the entire value is base64-encoded.
  */
 public class SaltedSHA512PasswordStorageScheme
-       extends PasswordStorageScheme <PasswordStorageSchemeCfg>
+       extends PasswordStorageScheme<SaltedSHA512PasswordStorageSchemeCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -110,7 +110,6 @@
   public SaltedSHA512PasswordStorageScheme()
   {
     super();
-
   }
 
 
@@ -120,9 +119,8 @@
    */
   @Override()
   public void initializePasswordStorageScheme(
-      PasswordStorageSchemeCfg configuration
-      )
-      throws ConfigException, InitializationException
+                   SaltedSHA512PasswordStorageSchemeCfg configuration)
+         throws ConfigException, InitializationException
   {
     try
     {
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/StartTLSExtendedOperation.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/StartTLSExtendedOperation.java
index 00d068b..2a1f60b 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/StartTLSExtendedOperation.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/StartTLSExtendedOperation.java
@@ -25,29 +25,29 @@
  *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
+
+
+
 import org.opends.messages.MessageBuilder;
-
-
+import org.opends.server.admin.std.server.StartTLSExtendedOperationHandlerCfg;
 import org.opends.server.api.ClientConnection;
 import org.opends.server.api.ExtendedOperationHandler;
 import org.opends.server.config.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.core.ExtendedOperation;
+import org.opends.server.loggers.debug.DebugTracer;
+import org.opends.server.types.DebugLogLevel;
 import org.opends.server.types.DirectoryException;
 import org.opends.server.types.DisconnectReason;
-
-
 import org.opends.server.types.InitializationException;
 import org.opends.server.types.ResultCode;
 
-import org.opends.server.types.DebugLogLevel;
 import static org.opends.server.loggers.ErrorLogger.*;
 import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
 import static org.opends.messages.ExtensionMessages.*;
 import static org.opends.server.util.ServerConstants.*;
 import static org.opends.server.util.StaticUtils.*;
-import org.opends.server.admin.std.server.ExtendedOperationHandlerCfg;
+
 
 
 /**
@@ -57,7 +57,7 @@
  * client.
  */
 public class StartTLSExtendedOperation
-       extends ExtendedOperationHandler<ExtendedOperationHandlerCfg>
+       extends ExtendedOperationHandler<StartTLSExtendedOperationHandlerCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -66,7 +66,6 @@
 
 
 
-
   /**
    * Create an instance of this StartTLS extended operation handler.  All
    * initialization should be performed in the
@@ -75,7 +74,6 @@
   public StartTLSExtendedOperation()
   {
     super();
-
   }
 
 
@@ -96,8 +94,8 @@
    *                                   configuration.
    */
   public void initializeExtendedOperationHandler(
-       ExtendedOperationHandlerCfg config)
-       throws ConfigException, InitializationException
+                   StartTLSExtendedOperationHandlerCfg config)
+         throws ConfigException, InitializationException
   {
     // FIXME -- Are there any configurable options that we should support?
     DirectoryServer.registerSupportedExtension(OID_START_TLS_REQUEST, this);
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/StaticGroup.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/StaticGroup.java
index 07b3c70..1008313 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/StaticGroup.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/StaticGroup.java
@@ -25,28 +25,37 @@
  *      Portions Copyright 2007 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
+
+
+
+import java.util.Collections;
+import java.util.LinkedHashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+
 import org.opends.messages.Message;
-
-
-
-import java.util.*;
-
 import org.opends.server.admin.std.server.GroupImplementationCfg;
+import org.opends.server.admin.std.server.StaticGroupImplementationCfg;
 import org.opends.server.api.Group;
 import org.opends.server.core.ModifyOperationBasis;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.config.ConfigException;
+import org.opends.server.loggers.ErrorLogger;
+import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.protocols.internal.InternalClientConnection;
 import org.opends.server.types.Attribute;
 import org.opends.server.types.AttributeType;
 import org.opends.server.types.AttributeValue;
 import org.opends.server.types.Control;
+import org.opends.server.types.DebugLogLevel;
 import org.opends.server.types.DirectoryConfig;
 import org.opends.server.types.DirectoryException;
 import org.opends.server.types.DN;
 import org.opends.server.types.Entry;
 import org.opends.server.types.InitializationException;
 import org.opends.server.types.MemberList;
+import org.opends.server.types.MembershipException;
 import org.opends.server.types.Modification;
 import org.opends.server.types.ModificationType;
 import org.opends.server.types.ObjectClass;
@@ -54,11 +63,8 @@
 import org.opends.server.types.SearchFilter;
 import org.opends.server.types.SearchScope;
 
-import org.opends.server.types.*;
-import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
-import org.opends.server.loggers.ErrorLogger;
 import static org.opends.messages.ExtensionMessages.*;
+import static org.opends.server.loggers.debug.DebugLogger.*;
 import static org.opends.server.util.ServerConstants.*;
 import static org.opends.server.util.Validator.*;
 
@@ -73,7 +79,7 @@
  * stores the member list in the {@code uniqueMember} attribute.
  */
 public class StaticGroup
-       extends Group<GroupImplementationCfg>
+       extends Group<StaticGroupImplementationCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -97,6 +103,8 @@
   private long nestedGroupRefreshToken =
                               DirectoryServer.getGroupManager().refreshToken();
 
+
+
   /**
    * Creates a new, uninitialized static group instance.  This is intended for
    * internal use only.
@@ -141,7 +149,7 @@
    */
   @Override()
   public void initializeGroupImplementation(
-                   GroupImplementationCfg configuration)
+                   StaticGroupImplementationCfg configuration)
          throws ConfigException, InitializationException
   {
     // No additional initialization is required.
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/SubjectEqualsDNCertificateMapper.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/SubjectEqualsDNCertificateMapper.java
index f381d3e..f63a6a9 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/SubjectEqualsDNCertificateMapper.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/SubjectEqualsDNCertificateMapper.java
@@ -25,7 +25,6 @@
  *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
-import org.opends.messages.Message;
 
 
 
@@ -34,10 +33,13 @@
 import javax.security.auth.x500.X500Principal;
 import java.util.concurrent.locks.Lock;
 
-import org.opends.server.admin.std.server.CertificateMapperCfg;
+import org.opends.messages.Message;
+import org.opends.server.admin.std.server.SubjectEqualsDNCertificateMapperCfg;
 import org.opends.server.api.CertificateMapper;
 import org.opends.server.config.ConfigException;
 import org.opends.server.core.DirectoryServer;
+import org.opends.server.loggers.debug.DebugTracer;
+import org.opends.server.types.DebugLogLevel;
 import org.opends.server.types.DirectoryException;
 import org.opends.server.types.DN;
 import org.opends.server.types.Entry;
@@ -46,8 +48,6 @@
 import org.opends.server.types.ResultCode;
 
 import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
-import org.opends.server.types.DebugLogLevel;
 import static org.opends.messages.ExtensionMessages.*;
 import static org.opends.server.util.StaticUtils.*;
 
@@ -59,7 +59,7 @@
  * exactly matches the DN of a user in the Directory Server.
  */
 public class SubjectEqualsDNCertificateMapper
-       extends CertificateMapper<CertificateMapperCfg>
+       extends CertificateMapper<SubjectEqualsDNCertificateMapperCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -82,7 +82,7 @@
   /**
    * {@inheritDoc}
    */
-  public void initializeCertificateMapper(CertificateMapperCfg
+  public void initializeCertificateMapper(SubjectEqualsDNCertificateMapperCfg
                                                configuration)
          throws ConfigException, InitializationException
   {
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/SubschemaSubentryVirtualAttributeProvider.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/SubschemaSubentryVirtualAttributeProvider.java
index 6aaaafd..511dcc0 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/SubschemaSubentryVirtualAttributeProvider.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/SubschemaSubentryVirtualAttributeProvider.java
@@ -25,18 +25,19 @@
  *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
-import org.opends.messages.Message;
 
 
 
 import java.util.LinkedHashSet;
 import java.util.List;
 
-import org.opends.server.admin.std.server.VirtualAttributeCfg;
+import org.opends.messages.Message;
+import org.opends.server.admin.std.server.SubschemaSubentryVirtualAttributeCfg;
 import org.opends.server.api.VirtualAttributeProvider;
 import org.opends.server.config.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.core.SearchOperation;
+import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.types.AttributeValue;
 import org.opends.server.types.ByteString;
 import org.opends.server.types.ConditionResult;
@@ -46,7 +47,6 @@
 import org.opends.server.types.VirtualAttributeRule;
 
 import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
 import static org.opends.messages.ExtensionMessages.*;
 import static org.opends.server.util.ServerConstants.*;
 
@@ -57,13 +57,15 @@
  * subschemaSubentry operational attribute as described in RFC 4512.
  */
 public class SubschemaSubentryVirtualAttributeProvider
-       extends VirtualAttributeProvider<VirtualAttributeCfg>
+       extends VirtualAttributeProvider<SubschemaSubentryVirtualAttributeCfg>
 {
   /**
    * The tracer object for the debug logger.
    */
   private static final DebugTracer TRACER = getTracer();
 
+
+
   /**
    * Creates a new instance of this subschemaSubentry virtual attribute
    * provider.
@@ -83,7 +85,7 @@
    */
   @Override()
   public void initializeVirtualAttributeProvider(
-                            VirtualAttributeCfg configuration)
+                            SubschemaSubentryVirtualAttributeCfg configuration)
          throws ConfigException, InitializationException
   {
     // No initialization is required.
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/VirtualStaticGroup.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/VirtualStaticGroup.java
index 18e031d..c9164ac 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/VirtualStaticGroup.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/VirtualStaticGroup.java
@@ -25,7 +25,6 @@
  *      Portions Copyright 2007 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
-import org.opends.messages.Message;
 
 
 
@@ -33,10 +32,12 @@
 import java.util.List;
 import java.util.Set;
 
-import org.opends.server.admin.std.server.GroupImplementationCfg;
+import org.opends.messages.Message;
+import org.opends.server.admin.std.server.VirtualStaticGroupImplementationCfg;
 import org.opends.server.api.Group;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.config.ConfigException;
+import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.types.Attribute;
 import org.opends.server.types.AttributeType;
 import org.opends.server.types.AttributeValue;
@@ -51,10 +52,9 @@
 import org.opends.server.types.SearchFilter;
 import org.opends.server.types.SearchScope;
 
+import static org.opends.messages.ExtensionMessages.*;
 import static org.opends.server.config.ConfigConstants.*;
 import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
-import static org.opends.messages.ExtensionMessages.*;
 import static org.opends.server.util.ServerConstants.*;
 import static org.opends.server.util.Validator.*;
 
@@ -65,7 +65,7 @@
  * membership is based on membership of another group.
  */
 public class VirtualStaticGroup
-       extends Group<GroupImplementationCfg>
+       extends Group<VirtualStaticGroupImplementationCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -119,7 +119,7 @@
    */
   @Override()
   public void initializeGroupImplementation(
-                   GroupImplementationCfg configuration)
+                   VirtualStaticGroupImplementationCfg configuration)
          throws ConfigException, InitializationException
   {
     // No additional initialization is required.
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/WhoAmIExtendedOperation.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/WhoAmIExtendedOperation.java
index f9172f7..5b35e98 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/WhoAmIExtendedOperation.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/WhoAmIExtendedOperation.java
@@ -25,7 +25,6 @@
  *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
-import org.opends.messages.Message;
 
 
 
@@ -33,7 +32,8 @@
 import java.util.List;
 import java.util.Set;
 
-import org.opends.server.admin.std.server.ExtendedOperationHandlerCfg;
+import org.opends.messages.Message;
+import org.opends.server.admin.std.server.WhoAmIExtendedOperationHandlerCfg;
 import org.opends.server.api.ClientConnection;
 import org.opends.server.api.ExtendedOperationHandler;
 import org.opends.server.config.ConfigException;
@@ -63,7 +63,7 @@
  * It simply returns the authorized ID of the currently-authenticated user.
  */
 public class WhoAmIExtendedOperation
-       extends ExtendedOperationHandler<ExtendedOperationHandlerCfg>
+       extends ExtendedOperationHandler<WhoAmIExtendedOperationHandlerCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -100,8 +100,8 @@
    *                                   configuration.
    */
   public void initializeExtendedOperationHandler(
-       ExtendedOperationHandlerCfg config)
-       throws ConfigException, InitializationException
+                   WhoAmIExtendedOperationHandlerCfg config)
+         throws ConfigException, InitializationException
   {
     // No special configuration is required.
 
diff --git a/opendj-sdk/opends/src/server/org/opends/server/monitors/ClientConnectionMonitorProvider.java b/opendj-sdk/opends/src/server/org/opends/server/monitors/ClientConnectionMonitorProvider.java
index 3b835ee..adb3e57 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/monitors/ClientConnectionMonitorProvider.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/monitors/ClientConnectionMonitorProvider.java
@@ -34,7 +34,7 @@
 import java.util.TreeMap;
 
 import org.opends.server.admin.std.server.ConnectionHandlerCfg;
-import org.opends.server.admin.std.server.MonitorProviderCfg;
+import org.opends.server.admin.std.server.ClientConnectionMonitorProviderCfg;
 import org.opends.server.api.ClientConnection;
 import org.opends.server.api.ConnectionHandler;
 import org.opends.server.api.MonitorProvider;
@@ -47,7 +47,6 @@
 
 
 
-
 /**
  * This class defines a Directory Server monitor provider that can be used to
  * obtain information about the client connections established to the server.
@@ -55,7 +54,7 @@
  * it may not be entirely consistent, especially for active connections.
  */
 public class ClientConnectionMonitorProvider
-       extends MonitorProvider<MonitorProviderCfg>
+       extends MonitorProvider<ClientConnectionMonitorProviderCfg>
 {
   /**
    * Creates an instance of this monitor provider.
@@ -72,7 +71,8 @@
   /**
    * {@inheritDoc}
    */
-  public void initializeMonitorProvider(MonitorProviderCfg configuration)
+  public void initializeMonitorProvider(
+                   ClientConnectionMonitorProviderCfg configuration)
          throws ConfigException, InitializationException
   {
     // No initialization is required.
diff --git a/opendj-sdk/opends/src/server/org/opends/server/monitors/StackTraceMonitorProvider.java b/opendj-sdk/opends/src/server/org/opends/server/monitors/StackTraceMonitorProvider.java
index 6c79ccc..70d3ac3 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/monitors/StackTraceMonitorProvider.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/monitors/StackTraceMonitorProvider.java
@@ -34,7 +34,7 @@
 import java.util.Map.Entry;
 import java.util.TreeMap;
 
-import org.opends.server.admin.std.server.MonitorProviderCfg;
+import org.opends.server.admin.std.server.StackTraceMonitorProviderCfg;
 import org.opends.server.api.MonitorProvider;
 import org.opends.server.config.ConfigException;
 import org.opends.server.core.DirectoryServer;
@@ -45,14 +45,13 @@
 
 
 
-
 /**
  * This class defines a Directory Server monitor provider that can be used to
  * obtain a stack trace from all server threads that are currently defined in
  * the JVM.
  */
 public class StackTraceMonitorProvider
-       extends MonitorProvider<MonitorProviderCfg>
+       extends MonitorProvider<StackTraceMonitorProviderCfg>
 {
   /**
    * Initializes this monitor provider.
@@ -69,7 +68,8 @@
   /**
    * {@inheritDoc}
    */
-  public void initializeMonitorProvider(MonitorProviderCfg configuration)
+  public void initializeMonitorProvider(
+                   StackTraceMonitorProviderCfg configuration)
          throws ConfigException, InitializationException
   {
     // No initialization is required.
diff --git a/opendj-sdk/opends/src/server/org/opends/server/monitors/SystemInfoMonitorProvider.java b/opendj-sdk/opends/src/server/org/opends/server/monitors/SystemInfoMonitorProvider.java
index d51b94e..80abf2a 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/monitors/SystemInfoMonitorProvider.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/monitors/SystemInfoMonitorProvider.java
@@ -32,19 +32,19 @@
 import java.util.ArrayList;
 import java.util.LinkedHashSet;
 
-import org.opends.server.admin.std.server.MonitorProviderCfg;
+import org.opends.server.admin.std.server.SystemInfoMonitorProviderCfg;
 import org.opends.server.api.MonitorProvider;
 import org.opends.server.config.ConfigException;
 import org.opends.server.core.DirectoryServer;
+import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.protocols.asn1.ASN1OctetString;
 import org.opends.server.types.Attribute;
 import org.opends.server.types.AttributeType;
 import org.opends.server.types.AttributeValue;
+import org.opends.server.types.DebugLogLevel;
 import org.opends.server.types.InitializationException;
 
 import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
-import org.opends.server.types.DebugLogLevel;
 
 
 
@@ -54,7 +54,7 @@
  * Server is running.
  */
 public class SystemInfoMonitorProvider
-       extends MonitorProvider<MonitorProviderCfg>
+       extends MonitorProvider<SystemInfoMonitorProviderCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -63,7 +63,6 @@
 
 
 
-
   /**
    * Initializes this monitor provider.
    */
@@ -79,7 +78,8 @@
   /**
    * {@inheritDoc}
    */
-  public void initializeMonitorProvider(MonitorProviderCfg configuration)
+  public void initializeMonitorProvider(
+                   SystemInfoMonitorProviderCfg configuration)
          throws ConfigException, InitializationException
   {
     // No initialization is required.
diff --git a/opendj-sdk/opends/src/server/org/opends/server/monitors/VersionMonitorProvider.java b/opendj-sdk/opends/src/server/org/opends/server/monitors/VersionMonitorProvider.java
index 0f1149d..9ce844a 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/monitors/VersionMonitorProvider.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/monitors/VersionMonitorProvider.java
@@ -31,20 +31,20 @@
 import java.util.ArrayList;
 import java.util.LinkedHashSet;
 
-import org.opends.server.admin.std.server.MonitorProviderCfg;
+import org.opends.server.admin.std.server.VersionMonitorProviderCfg;
 import org.opends.server.api.MonitorProvider;
 import org.opends.server.config.ConfigException;
 import org.opends.server.core.DirectoryServer;
+import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.protocols.asn1.ASN1OctetString;
 import org.opends.server.types.Attribute;
 import org.opends.server.types.AttributeType;
 import org.opends.server.types.AttributeValue;
+import org.opends.server.types.DebugLogLevel;
 import org.opends.server.types.InitializationException;
 import org.opends.server.util.DynamicConstants;
 
 import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
-import org.opends.server.types.DebugLogLevel;
 
 
 
@@ -53,7 +53,7 @@
  * information.
  */
 public class VersionMonitorProvider
-       extends MonitorProvider<MonitorProviderCfg>
+       extends MonitorProvider<VersionMonitorProviderCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -160,7 +160,7 @@
   /**
    * {@inheritDoc}
    */
-  public void initializeMonitorProvider(MonitorProviderCfg configuration)
+  public void initializeMonitorProvider(VersionMonitorProviderCfg configuration)
          throws ConfigException, InitializationException
   {
     // No initialization is required.
diff --git a/opendj-sdk/opends/src/server/org/opends/server/plugins/EntryUUIDPlugin.java b/opendj-sdk/opends/src/server/org/opends/server/plugins/EntryUUIDPlugin.java
index 870c436..7fa812d 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/plugins/EntryUUIDPlugin.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/plugins/EntryUUIDPlugin.java
@@ -25,7 +25,6 @@
  *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.plugins;
-import org.opends.messages.Message;
 
 
 
@@ -37,8 +36,10 @@
 import java.util.Set;
 import java.util.UUID;
 
+import org.opends.messages.Message;
 import org.opends.server.admin.server.ConfigurationChangeListener;
 import org.opends.server.admin.std.meta.PluginCfgDefn;
+import org.opends.server.admin.std.server.EntryUUIDPluginCfg;
 import org.opends.server.admin.std.server.PluginCfg;
 import org.opends.server.api.plugin.DirectoryServerPlugin;
 import org.opends.server.api.plugin.LDIFPluginResult;
@@ -58,7 +59,6 @@
 import org.opends.server.types.operation.PreOperationAddOperation;
 
 import static org.opends.messages.PluginMessages.*;
-
 import static org.opends.server.util.StaticUtils.*;
 
 
@@ -73,8 +73,8 @@
  * will have identical entryUUID values.
  */
 public final class EntryUUIDPlugin
-       extends DirectoryServerPlugin<PluginCfg>
-       implements ConfigurationChangeListener<PluginCfg>
+       extends DirectoryServerPlugin<EntryUUIDPluginCfg>
+       implements ConfigurationChangeListener<EntryUUIDPluginCfg>
 {
   /**
    * The name of the entryUUID attribute type.
@@ -86,6 +86,9 @@
   // The attribute type for the "entryUUID" attribute.
   private final AttributeType entryUUIDType;
 
+  // The current configuration for this plugin.
+  private EntryUUIDPluginCfg currentConfig;
+
 
 
   /**
@@ -101,8 +104,7 @@
 
     // Get the entryUUID attribute type.  This needs to be done in the
     // constructor in order to make the associated variables "final".
-    AttributeType at = DirectoryConfig.getAttributeType(ENTRYUUID,
-                                                        false);
+    AttributeType at = DirectoryConfig.getAttributeType(ENTRYUUID, false);
     if (at == null)
     {
       String definition =
@@ -128,10 +130,11 @@
    */
   @Override()
   public final void initializePlugin(Set<PluginType> pluginTypes,
-                                     PluginCfg configuration)
+                                     EntryUUIDPluginCfg configuration)
          throws ConfigException
   {
-    configuration.addChangeListener(this);
+    currentConfig = configuration;
+    configuration.addEntryUUIDChangeListener(this);
 
     // Make sure that the plugin has been enabled for the appropriate types.
     for (PluginType t : pluginTypes)
@@ -158,6 +161,17 @@
    * {@inheritDoc}
    */
   @Override()
+  public final void finalizePlugin()
+  {
+    currentConfig.removeEntryUUIDChangeListener(this);
+  }
+
+
+
+  /**
+   * {@inheritDoc}
+   */
+  @Override()
   public final LDIFPluginResult doLDIFImport(LDIFImportConfig importConfig,
                                              Entry entry)
   {
@@ -237,7 +251,8 @@
   public boolean isConfigurationAcceptable(PluginCfg configuration,
                                            List<Message> unacceptableReasons)
   {
-    return isConfigurationChangeAcceptable(configuration, unacceptableReasons);
+    EntryUUIDPluginCfg cfg = (EntryUUIDPluginCfg) configuration;
+    return isConfigurationChangeAcceptable(cfg, unacceptableReasons);
   }
 
 
@@ -245,7 +260,8 @@
   /**
    * {@inheritDoc}
    */
-  public boolean isConfigurationChangeAcceptable(PluginCfg configuration,
+  public boolean isConfigurationChangeAcceptable(
+                      EntryUUIDPluginCfg configuration,
                       List<Message> unacceptableReasons)
   {
     boolean configAcceptable = true;
@@ -278,9 +294,10 @@
   /**
    * {@inheritDoc}
    */
-  public ConfigChangeResult applyConfigurationChange(PluginCfg configuration)
+  public ConfigChangeResult applyConfigurationChange(
+                                 EntryUUIDPluginCfg configuration)
   {
-    // No implementation is required.
+    currentConfig = configuration;
     return new ConfigChangeResult(ResultCode.SUCCESS, false);
   }
 }
diff --git a/opendj-sdk/opends/src/server/org/opends/server/plugins/LDAPADListPlugin.java b/opendj-sdk/opends/src/server/org/opends/server/plugins/LDAPADListPlugin.java
index 9664fdf..40821ed 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/plugins/LDAPADListPlugin.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/plugins/LDAPADListPlugin.java
@@ -25,15 +25,16 @@
  *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.plugins;
-import org.opends.messages.Message;
 
 
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Set;
 
+import org.opends.messages.Message;
 import org.opends.server.admin.server.ConfigurationChangeListener;
 import org.opends.server.admin.std.meta.PluginCfgDefn;
+import org.opends.server.admin.std.server.LDAPAttributeDescriptionListPluginCfg;
 import org.opends.server.admin.std.server.PluginCfg;
 import org.opends.server.api.plugin.DirectoryServerPlugin;
 import org.opends.server.api.plugin.PluginType;
@@ -62,14 +63,22 @@
  * object class identifier from an attribute descriptions.
  */
 public final class LDAPADListPlugin
-       extends DirectoryServerPlugin<PluginCfg>
-       implements ConfigurationChangeListener<PluginCfg>
+       extends DirectoryServerPlugin<LDAPAttributeDescriptionListPluginCfg>
+       implements ConfigurationChangeListener<
+                       LDAPAttributeDescriptionListPluginCfg>
 {
   /**
    * The tracer object for the debug logger.
    */
   private static final DebugTracer TRACER = getTracer();
 
+
+
+  // The current configuration for this plugin.
+  private LDAPAttributeDescriptionListPluginCfg currentConfig;
+
+
+
   /**
    * Creates a new instance of this Directory Server plugin.  Every plugin must
    * implement a default constructor (it is the only one that will be used to
@@ -79,7 +88,6 @@
   public LDAPADListPlugin()
   {
     super();
-
   }
 
 
@@ -89,10 +97,11 @@
    */
   @Override()
   public final void initializePlugin(Set<PluginType> pluginTypes,
-                                     PluginCfg configuration)
+                         LDAPAttributeDescriptionListPluginCfg configuration)
          throws ConfigException
   {
-    configuration.addChangeListener(this);
+    currentConfig = configuration;
+    configuration.addLDAPAttributeDescriptionListChangeListener(this);
 
     // The set of plugin types must contain only the pre-parse search element.
     if (pluginTypes.isEmpty())
@@ -125,6 +134,17 @@
    * {@inheritDoc}
    */
   @Override()
+  public final void finalizePlugin()
+  {
+    currentConfig.removeLDAPAttributeDescriptionListChangeListener(this);
+  }
+
+
+
+  /**
+   * {@inheritDoc}
+   */
+  @Override()
   public final PreParsePluginResult
        doPreParse(PreParseSearchOperation searchOperation)
   {
@@ -199,7 +219,9 @@
   public boolean isConfigurationAcceptable(PluginCfg configuration,
                                            List<Message> unacceptableReasons)
   {
-    return isConfigurationChangeAcceptable(configuration, unacceptableReasons);
+    LDAPAttributeDescriptionListPluginCfg cfg =
+         (LDAPAttributeDescriptionListPluginCfg) configuration;
+    return isConfigurationChangeAcceptable(cfg, unacceptableReasons);
   }
 
 
@@ -207,7 +229,8 @@
   /**
    * {@inheritDoc}
    */
-  public boolean isConfigurationChangeAcceptable(PluginCfg configuration,
+  public boolean isConfigurationChangeAcceptable(
+                      LDAPAttributeDescriptionListPluginCfg configuration,
                       List<Message> unacceptableReasons)
   {
     boolean configAcceptable = true;
@@ -239,9 +262,11 @@
   /**
    * {@inheritDoc}
    */
-  public ConfigChangeResult applyConfigurationChange(PluginCfg configuration)
+  public ConfigChangeResult applyConfigurationChange(
+                                 LDAPAttributeDescriptionListPluginCfg
+                                      configuration)
   {
-    // No implementation is required.
+    currentConfig = configuration;
     return new ConfigChangeResult(ResultCode.SUCCESS, false);
   }
 }
diff --git a/opendj-sdk/opends/src/server/org/opends/server/plugins/LastModPlugin.java b/opendj-sdk/opends/src/server/org/opends/server/plugins/LastModPlugin.java
index 5afc808..ff33ed8 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/plugins/LastModPlugin.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/plugins/LastModPlugin.java
@@ -25,7 +25,6 @@
  *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.plugins;
-import org.opends.messages.Message;
 
 
 
@@ -34,18 +33,22 @@
 import java.util.List;
 import java.util.Set;
 
+import org.opends.messages.Message;
 import org.opends.server.admin.server.ConfigurationChangeListener;
 import org.opends.server.admin.std.meta.PluginCfgDefn;
+import org.opends.server.admin.std.server.LastModPluginCfg;
 import org.opends.server.admin.std.server.PluginCfg;
 import org.opends.server.api.plugin.DirectoryServerPlugin;
 import org.opends.server.api.plugin.PluginType;
 import org.opends.server.api.plugin.PreOperationPluginResult;
 import org.opends.server.config.ConfigException;
+import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.types.Attribute;
 import org.opends.server.types.AttributeType;
 import org.opends.server.types.AttributeValue;
 import org.opends.server.types.ByteStringFactory;
 import org.opends.server.types.ConfigChangeResult;
+import org.opends.server.types.DebugLogLevel;
 import org.opends.server.types.DirectoryConfig;
 import org.opends.server.types.DirectoryException;
 import org.opends.server.types.DN;
@@ -56,13 +59,12 @@
 import org.opends.server.types.operation.PreOperationModifyOperation;
 import org.opends.server.types.operation.PreOperationModifyDNOperation;
 
-import static org.opends.server.config.ConfigConstants.*;
-import org.opends.server.types.DebugLogLevel;
 import static org.opends.messages.PluginMessages.*;
-
-import static org.opends.server.util.TimeThread.*;
+import static org.opends.server.config.ConfigConstants.*;
 import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
+import static org.opends.server.util.TimeThread.*;
+
+
 
 /**
  * This class implements a Directory Server plugin that will add the
@@ -71,8 +73,8 @@
  * whenever the entry is modified or renamed.
  */
 public final class LastModPlugin
-       extends DirectoryServerPlugin<PluginCfg>
-       implements ConfigurationChangeListener<PluginCfg>
+       extends DirectoryServerPlugin<LastModPluginCfg>
+       implements ConfigurationChangeListener<LastModPluginCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -91,6 +93,9 @@
   // The attribute type for the "modifyTimestamp" attribute.
   private final AttributeType modifyTimestampType;
 
+  // The current configuration for this plugin.
+  private LastModPluginCfg currentConfig;
+
 
 
   /**
@@ -104,7 +109,6 @@
     super();
 
 
-
     // Get the attribute types for the attributes that we will use.  This needs
     // to be done in the constructor in order to make the associated variables
     // "final".
@@ -125,10 +129,11 @@
    */
   @Override()
   public final void initializePlugin(Set<PluginType> pluginTypes,
-                                     PluginCfg configuration)
+                                     LastModPluginCfg configuration)
          throws ConfigException
   {
-    configuration.addChangeListener(this);
+    currentConfig = configuration;
+    configuration.addLastModChangeListener(this);
 
     // Make sure that the plugin has been enabled for the appropriate types.
     for (PluginType t : pluginTypes)
@@ -156,6 +161,17 @@
    * {@inheritDoc}
    */
   @Override()
+  public final void finalizePlugin()
+  {
+    currentConfig.removeLastModChangeListener(this);
+  }
+
+
+
+  /**
+   * {@inheritDoc}
+   */
+  @Override()
   public final PreOperationPluginResult
        doPreOperation(PreOperationAddOperation addOperation)
   {
@@ -332,7 +348,8 @@
   public boolean isConfigurationAcceptable(PluginCfg configuration,
                                            List<Message> unacceptableReasons)
   {
-    return isConfigurationChangeAcceptable(configuration, unacceptableReasons);
+    LastModPluginCfg cfg = (LastModPluginCfg) configuration;
+    return isConfigurationChangeAcceptable(cfg, unacceptableReasons);
   }
 
 
@@ -340,7 +357,7 @@
   /**
    * {@inheritDoc}
    */
-  public boolean isConfigurationChangeAcceptable(PluginCfg configuration,
+  public boolean isConfigurationChangeAcceptable(LastModPluginCfg configuration,
                       List<Message> unacceptableReasons)
   {
     boolean configAcceptable = true;
@@ -374,9 +391,10 @@
   /**
    * {@inheritDoc}
    */
-  public ConfigChangeResult applyConfigurationChange(PluginCfg configuration)
+  public ConfigChangeResult applyConfigurationChange(
+                                 LastModPluginCfg configuration)
   {
-    // No implementation is required.
+    currentConfig = configuration;
     return new ConfigChangeResult(ResultCode.SUCCESS, false);
   }
 }
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/core/BackendConfigManagerTestCase.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/core/BackendConfigManagerTestCase.java
index 73fbf9c..d0e66a5 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/core/BackendConfigManagerTestCase.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/core/BackendConfigManagerTestCase.java
@@ -726,6 +726,7 @@
     lines.add("dn: ds-cfg-backend-id=" + backendID + ",cn=Backends,cn=config");
     lines.add("objectClass: top");
     lines.add("objectClass: ds-cfg-backend");
+    lines.add("objectClass: ds-cfg-memory-backend");
     lines.add("ds-cfg-backend-id: " + backendID);
     lines.add("ds-cfg-backend-class: org.opends.server.backends.MemoryBackend");
     lines.add("ds-cfg-backend-enabled: " + String.valueOf(enabled));
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/Base64PasswordStorageSchemeTestCase.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/Base64PasswordStorageSchemeTestCase.java
index b4d64c7..d4a4f6d 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/Base64PasswordStorageSchemeTestCase.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/Base64PasswordStorageSchemeTestCase.java
@@ -29,8 +29,8 @@
 
 
 import org.opends.server.admin.server.AdminTestCaseUtils;
-import org.opends.server.admin.std.meta.PasswordStorageSchemeCfgDefn;
-import org.opends.server.admin.std.server.PasswordStorageSchemeCfg;
+import org.opends.server.admin.std.meta.Base64PasswordStorageSchemeCfgDefn;
+import org.opends.server.admin.std.server.Base64PasswordStorageSchemeCfg;
 import org.opends.server.api.PasswordStorageScheme;
 
 
@@ -66,9 +66,9 @@
   {
     Base64PasswordStorageScheme scheme = new Base64PasswordStorageScheme();
 
-    PasswordStorageSchemeCfg configuration =
+    Base64PasswordStorageSchemeCfg configuration =
       AdminTestCaseUtils.getConfiguration(
-          PasswordStorageSchemeCfgDefn.getInstance(),
+          Base64PasswordStorageSchemeCfgDefn.getInstance(),
           configEntry.getEntry()
           );
 
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/ClearPasswordStorageSchemeTestCase.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/ClearPasswordStorageSchemeTestCase.java
index 96bbecb..3645bdc 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/ClearPasswordStorageSchemeTestCase.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/ClearPasswordStorageSchemeTestCase.java
@@ -29,8 +29,8 @@
 
 
 import org.opends.server.admin.server.AdminTestCaseUtils;
-import org.opends.server.admin.std.meta.PasswordStorageSchemeCfgDefn;
-import org.opends.server.admin.std.server.PasswordStorageSchemeCfg;
+import org.opends.server.admin.std.meta.ClearPasswordStorageSchemeCfgDefn;
+import org.opends.server.admin.std.server.ClearPasswordStorageSchemeCfg;
 import org.opends.server.api.PasswordStorageScheme;
 
 
@@ -66,9 +66,9 @@
   {
     ClearPasswordStorageScheme scheme = new ClearPasswordStorageScheme();
 
-    PasswordStorageSchemeCfg configuration =
+    ClearPasswordStorageSchemeCfg configuration =
       AdminTestCaseUtils.getConfiguration(
-          PasswordStorageSchemeCfgDefn.getInstance(),
+          ClearPasswordStorageSchemeCfgDefn.getInstance(),
           configEntry.getEntry()
           );
 
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/MD5PasswordStorageSchemeTestCase.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/MD5PasswordStorageSchemeTestCase.java
index 0d61951..afcdcb4 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/MD5PasswordStorageSchemeTestCase.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/MD5PasswordStorageSchemeTestCase.java
@@ -29,8 +29,8 @@
 
 
 import org.opends.server.admin.server.AdminTestCaseUtils;
-import org.opends.server.admin.std.meta.PasswordStorageSchemeCfgDefn;
-import org.opends.server.admin.std.server.PasswordStorageSchemeCfg;
+import org.opends.server.admin.std.meta.MD5PasswordStorageSchemeCfgDefn;
+import org.opends.server.admin.std.server.MD5PasswordStorageSchemeCfg;
 import org.opends.server.api.PasswordStorageScheme;
 
 
@@ -66,9 +66,9 @@
   {
     MD5PasswordStorageScheme scheme = new MD5PasswordStorageScheme();
 
-    PasswordStorageSchemeCfg configuration =
+    MD5PasswordStorageSchemeCfg configuration =
       AdminTestCaseUtils.getConfiguration(
-          PasswordStorageSchemeCfgDefn.getInstance(),
+          MD5PasswordStorageSchemeCfgDefn.getInstance(),
           configEntry.getEntry()
           );
 
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SHA1PasswordStorageSchemeTestCase.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SHA1PasswordStorageSchemeTestCase.java
index cfff9d7..2452bd6 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SHA1PasswordStorageSchemeTestCase.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SHA1PasswordStorageSchemeTestCase.java
@@ -29,8 +29,8 @@
 
 
 import org.opends.server.admin.server.AdminTestCaseUtils;
-import org.opends.server.admin.std.meta.PasswordStorageSchemeCfgDefn;
-import org.opends.server.admin.std.server.PasswordStorageSchemeCfg;
+import org.opends.server.admin.std.meta.SHA1PasswordStorageSchemeCfgDefn;
+import org.opends.server.admin.std.server.SHA1PasswordStorageSchemeCfg;
 import org.opends.server.api.PasswordStorageScheme;
 
 
@@ -66,9 +66,9 @@
   {
     SHA1PasswordStorageScheme scheme = new SHA1PasswordStorageScheme();
 
-    PasswordStorageSchemeCfg configuration =
+    SHA1PasswordStorageSchemeCfg configuration =
       AdminTestCaseUtils.getConfiguration(
-          PasswordStorageSchemeCfgDefn.getInstance(),
+          SHA1PasswordStorageSchemeCfgDefn.getInstance(),
           configEntry.getEntry()
           );
 
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedMD5PasswordStorageSchemeTestCase.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedMD5PasswordStorageSchemeTestCase.java
index bbb72d0..947e18e 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedMD5PasswordStorageSchemeTestCase.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedMD5PasswordStorageSchemeTestCase.java
@@ -29,10 +29,8 @@
 
 
 import org.opends.server.admin.server.AdminTestCaseUtils;
-import org.opends.server.admin.std.meta.ErrorLogAccountStatusNotificationHandlerCfgDefn;
-import org.opends.server.admin.std.meta.PasswordStorageSchemeCfgDefn;
-import org.opends.server.admin.std.server.ErrorLogAccountStatusNotificationHandlerCfg;
-import org.opends.server.admin.std.server.PasswordStorageSchemeCfg;
+import org.opends.server.admin.std.meta.SaltedMD5PasswordStorageSchemeCfgDefn;
+import org.opends.server.admin.std.server.SaltedMD5PasswordStorageSchemeCfg;
 import org.opends.server.api.PasswordStorageScheme;
 
 
@@ -69,9 +67,9 @@
     SaltedMD5PasswordStorageScheme scheme =
          new SaltedMD5PasswordStorageScheme();
 
-    PasswordStorageSchemeCfg configuration =
+    SaltedMD5PasswordStorageSchemeCfg configuration =
       AdminTestCaseUtils.getConfiguration(
-          PasswordStorageSchemeCfgDefn.getInstance(),
+          SaltedMD5PasswordStorageSchemeCfgDefn.getInstance(),
           configEntry.getEntry()
           );
 
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedSHA1PasswordStorageSchemeTestCase.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedSHA1PasswordStorageSchemeTestCase.java
index a188d1d..6743f7d 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedSHA1PasswordStorageSchemeTestCase.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedSHA1PasswordStorageSchemeTestCase.java
@@ -31,8 +31,8 @@
 import org.testng.annotations.Test;
 
 import org.opends.server.admin.server.AdminTestCaseUtils;
-import org.opends.server.admin.std.meta.PasswordStorageSchemeCfgDefn;
-import org.opends.server.admin.std.server.PasswordStorageSchemeCfg;
+import org.opends.server.admin.std.meta.SaltedSHA1PasswordStorageSchemeCfgDefn;
+import org.opends.server.admin.std.server.SaltedSHA1PasswordStorageSchemeCfg;
 import org.opends.server.api.PasswordStorageScheme;
 import org.opends.server.protocols.asn1.ASN1OctetString;
 import org.opends.server.schema.UserPasswordSyntax;
@@ -74,9 +74,9 @@
     SaltedSHA1PasswordStorageScheme scheme =
          new SaltedSHA1PasswordStorageScheme();
 
-    PasswordStorageSchemeCfg configuration =
+    SaltedSHA1PasswordStorageSchemeCfg configuration =
       AdminTestCaseUtils.getConfiguration(
-          PasswordStorageSchemeCfgDefn.getInstance(),
+          SaltedSHA1PasswordStorageSchemeCfgDefn.getInstance(),
           configEntry.getEntry()
           );
 
@@ -100,9 +100,9 @@
     SaltedSHA1PasswordStorageScheme scheme =
          new SaltedSHA1PasswordStorageScheme();
 
-    PasswordStorageSchemeCfg configuration =
+    SaltedSHA1PasswordStorageSchemeCfg configuration =
       AdminTestCaseUtils.getConfiguration(
-          PasswordStorageSchemeCfgDefn.getInstance(),
+          SaltedSHA1PasswordStorageSchemeCfgDefn.getInstance(),
           configEntry.getEntry()
           );
 
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedSHA256PasswordStorageSchemeTestCase.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedSHA256PasswordStorageSchemeTestCase.java
index 94f39bc..bacb58f 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedSHA256PasswordStorageSchemeTestCase.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedSHA256PasswordStorageSchemeTestCase.java
@@ -29,8 +29,9 @@
 
 
 import org.opends.server.admin.server.AdminTestCaseUtils;
-import org.opends.server.admin.std.meta.PasswordStorageSchemeCfgDefn;
-import org.opends.server.admin.std.server.PasswordStorageSchemeCfg;
+import org.opends.server.admin.std.meta.
+            SaltedSHA256PasswordStorageSchemeCfgDefn;
+import org.opends.server.admin.std.server.SaltedSHA256PasswordStorageSchemeCfg;
 import org.opends.server.api.PasswordStorageScheme;
 
 
@@ -67,9 +68,9 @@
     SaltedSHA256PasswordStorageScheme scheme =
          new SaltedSHA256PasswordStorageScheme();
 
-    PasswordStorageSchemeCfg configuration =
+    SaltedSHA256PasswordStorageSchemeCfg configuration =
       AdminTestCaseUtils.getConfiguration(
-          PasswordStorageSchemeCfgDefn.getInstance(),
+          SaltedSHA256PasswordStorageSchemeCfgDefn.getInstance(),
           configEntry.getEntry()
           );
 
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedSHA384PasswordStorageSchemeTestCase.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedSHA384PasswordStorageSchemeTestCase.java
index 23ccc03..b7e4139 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedSHA384PasswordStorageSchemeTestCase.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedSHA384PasswordStorageSchemeTestCase.java
@@ -29,8 +29,9 @@
 
 
 import org.opends.server.admin.server.AdminTestCaseUtils;
-import org.opends.server.admin.std.meta.PasswordStorageSchemeCfgDefn;
-import org.opends.server.admin.std.server.PasswordStorageSchemeCfg;
+import org.opends.server.admin.std.meta.
+            SaltedSHA384PasswordStorageSchemeCfgDefn;
+import org.opends.server.admin.std.server.SaltedSHA384PasswordStorageSchemeCfg;
 import org.opends.server.api.PasswordStorageScheme;
 
 
@@ -67,9 +68,9 @@
     SaltedSHA384PasswordStorageScheme scheme =
          new SaltedSHA384PasswordStorageScheme();
 
-    PasswordStorageSchemeCfg configuration =
+    SaltedSHA384PasswordStorageSchemeCfg configuration =
       AdminTestCaseUtils.getConfiguration(
-          PasswordStorageSchemeCfgDefn.getInstance(),
+          SaltedSHA384PasswordStorageSchemeCfgDefn.getInstance(),
           configEntry.getEntry()
           );
 
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedSHA512PasswordStorageSchemeTestCase.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedSHA512PasswordStorageSchemeTestCase.java
index 5d018eb..726f695 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedSHA512PasswordStorageSchemeTestCase.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/SaltedSHA512PasswordStorageSchemeTestCase.java
@@ -29,8 +29,9 @@
 
 
 import org.opends.server.admin.server.AdminTestCaseUtils;
-import org.opends.server.admin.std.meta.PasswordStorageSchemeCfgDefn;
-import org.opends.server.admin.std.server.PasswordStorageSchemeCfg;
+import org.opends.server.admin.std.meta.
+            SaltedSHA512PasswordStorageSchemeCfgDefn;
+import org.opends.server.admin.std.server.SaltedSHA512PasswordStorageSchemeCfg;
 import org.opends.server.api.PasswordStorageScheme;
 
 
@@ -67,9 +68,9 @@
     SaltedSHA512PasswordStorageScheme scheme =
          new SaltedSHA512PasswordStorageScheme();
 
-    PasswordStorageSchemeCfg configuration =
+    SaltedSHA512PasswordStorageSchemeCfg configuration =
       AdminTestCaseUtils.getConfiguration(
-          PasswordStorageSchemeCfgDefn.getInstance(),
+          SaltedSHA512PasswordStorageSchemeCfgDefn.getInstance(),
           configEntry.getEntry()
           );
 
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/EntryUUIDPluginTestCase.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/EntryUUIDPluginTestCase.java
index 775b08e..f15e448 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/EntryUUIDPluginTestCase.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/EntryUUIDPluginTestCase.java
@@ -40,8 +40,8 @@
 
 import org.opends.server.TestCaseUtils;
 import org.opends.server.admin.server.AdminTestCaseUtils;
-import org.opends.server.admin.std.meta.PluginCfgDefn;
-import org.opends.server.admin.std.server.PluginCfg;
+import org.opends.server.admin.std.meta.EntryUUIDPluginCfgDefn;
+import org.opends.server.admin.std.server.EntryUUIDPluginCfg;
 import org.opends.server.api.plugin.DirectoryServerPlugin;
 import org.opends.server.api.plugin.PluginType;
 import org.opends.server.config.ConfigException;
@@ -101,6 +101,7 @@
          "dn: cn=Entry UUID,cn=Plugins,cn=config",
          "objectClass: top",
          "objectClass: ds-cfg-plugin",
+         "objectClass: ds-cfg-entryuuid-plugin",
          "cn: Entry UUID",
          "ds-cfg-plugin-class: org.opends.server.plugins.EntryUUIDPlugin",
          "ds-cfg-plugin-enabled: true",
@@ -110,6 +111,7 @@
          "dn: cn=Entry UUID,cn=Plugins,cn=config",
          "objectClass: top",
          "objectClass: ds-cfg-plugin",
+         "objectClass: ds-cfg-entryuuid-plugin",
          "cn: Entry UUID",
          "ds-cfg-plugin-class: org.opends.server.plugins.EntryUUIDPlugin",
          "ds-cfg-plugin-enabled: true",
@@ -118,6 +120,7 @@
          "dn: cn=Entry UUID,cn=Plugins,cn=config",
          "objectClass: top",
          "objectClass: ds-cfg-plugin",
+         "objectClass: ds-cfg-entryuuid-plugin",
          "cn: Entry UUID",
          "ds-cfg-plugin-class: org.opends.server.plugins.EntryUUIDPlugin",
          "ds-cfg-plugin-enabled: true",
@@ -156,9 +159,9 @@
     }
 
 
-    PluginCfg configuration =
+    EntryUUIDPluginCfg configuration =
          AdminTestCaseUtils.getConfiguration(
-              PluginCfgDefn.getInstance(), e);
+              EntryUUIDPluginCfgDefn.getInstance(), e);
 
     EntryUUIDPlugin plugin = new EntryUUIDPlugin();
     plugin.initializePlugin(pluginTypes, configuration);
@@ -195,9 +198,9 @@
     }
 
 
-    PluginCfg configuration =
+    EntryUUIDPluginCfg configuration =
          AdminTestCaseUtils.getConfiguration(
-              PluginCfgDefn.getInstance(), e);
+              EntryUUIDPluginCfgDefn.getInstance(), e);
 
     EntryUUIDPlugin plugin = new EntryUUIDPlugin();
     plugin.initializePlugin(pluginTypes, configuration);
@@ -232,6 +235,7 @@
            "dn: cn=Entry UUID,cn=Plugins,cn=config",
            "objectClass: top",
            "objectClass: ds-cfg-plugin",
+           "objectClass: ds-cfg-entryuuid-plugin",
            "cn: Entry UUID",
            "ds-cfg-plugin-class: org.opends.server.plugins.EntryUUIDPlugin",
            "ds-cfg-plugin-enabled: true",
@@ -273,9 +277,9 @@
     }
 
 
-    PluginCfg configuration =
+    EntryUUIDPluginCfg configuration =
          AdminTestCaseUtils.getConfiguration(
-              PluginCfgDefn.getInstance(), e);
+              EntryUUIDPluginCfgDefn.getInstance(), e);
 
     EntryUUIDPlugin plugin = new EntryUUIDPlugin();
     plugin.initializePlugin(pluginTypes, configuration);
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/LDAPADListPluginTestCase.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/LDAPADListPluginTestCase.java
index eabd8f9..eb35dc0 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/LDAPADListPluginTestCase.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/LDAPADListPluginTestCase.java
@@ -39,8 +39,9 @@
 
 import org.opends.server.TestCaseUtils;
 import org.opends.server.admin.server.AdminTestCaseUtils;
-import org.opends.server.admin.std.meta.PluginCfgDefn;
-import org.opends.server.admin.std.server.PluginCfg;
+import org.opends.server.admin.std.meta.
+            LDAPAttributeDescriptionListPluginCfgDefn;
+import org.opends.server.admin.std.server.LDAPAttributeDescriptionListPluginCfg;
 import org.opends.server.api.plugin.PluginType;
 import org.opends.server.config.ConfigException;
 import org.opends.server.protocols.internal.InternalClientConnection;
@@ -94,6 +95,7 @@
          "dn: cn=LDAP Attribute Description List,cn=Plugins,cn=config",
          "objectClass: top",
          "objectClass: ds-cfg-plugin",
+         "objectClass: ds-cfg-ldap-ad-list-plugin",
          "cn: LDAP Attribute Description List",
          "ds-cfg-plugin-class: org.opends.server.plugins.LDAPADListPlugin",
          "ds-cfg-plugin-enabled: true",
@@ -132,9 +134,9 @@
     }
 
 
-    PluginCfg configuration =
+    LDAPAttributeDescriptionListPluginCfg configuration =
          AdminTestCaseUtils.getConfiguration(
-              PluginCfgDefn.getInstance(), e);
+              LDAPAttributeDescriptionListPluginCfgDefn.getInstance(), e);
 
     LDAPADListPlugin plugin = new LDAPADListPlugin();
     plugin.initializePlugin(pluginTypes, configuration);
@@ -157,6 +159,7 @@
          "dn: cn=LDAP Attribute Description List,cn=Plugins,cn=config",
          "objectClass: top",
          "objectClass: ds-cfg-plugin",
+         "objectClass: ds-cfg-ldap-ad-list-plugin",
          "cn: LDAP Attribute Description List",
          "ds-cfg-plugin-class: org.opends.server.plugins.LDAPADListPlugin",
          "ds-cfg-plugin-enabled: true");
@@ -173,6 +176,7 @@
            "dn: cn=LDAP Attribute Description List,cn=Plugins,cn=config",
            "objectClass: top",
            "objectClass: ds-cfg-plugin",
+           "objectClass: ds-cfg-ldap-ad-list-plugin",
            "cn: LDAP Attribute Description List",
            "ds-cfg-plugin-class: org.opends.server.plugins.LDAPADListPlugin",
            "ds-cfg-plugin-enabled: true",
@@ -217,9 +221,9 @@
     }
 
 
-    PluginCfg configuration =
+    LDAPAttributeDescriptionListPluginCfg configuration =
          AdminTestCaseUtils.getConfiguration(
-              PluginCfgDefn.getInstance(), e);
+              LDAPAttributeDescriptionListPluginCfgDefn.getInstance(), e);
 
     LDAPADListPlugin plugin = new LDAPADListPlugin();
     plugin.initializePlugin(pluginTypes, configuration);
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/LastModPluginTestCase.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/LastModPluginTestCase.java
index 8516726..26cbc36 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/LastModPluginTestCase.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/LastModPluginTestCase.java
@@ -38,8 +38,8 @@
 
 import org.opends.server.TestCaseUtils;
 import org.opends.server.admin.server.AdminTestCaseUtils;
-import org.opends.server.admin.std.meta.PluginCfgDefn;
-import org.opends.server.admin.std.server.PluginCfg;
+import org.opends.server.admin.std.meta.LastModPluginCfgDefn;
+import org.opends.server.admin.std.server.LastModPluginCfg;
 import org.opends.server.api.plugin.DirectoryServerPlugin;
 import org.opends.server.api.plugin.PluginType;
 import org.opends.server.config.ConfigException;
@@ -100,6 +100,7 @@
          "dn: cn=LastMod,cn=Plugins,cn=config",
          "objectClass: top",
          "objectClass: ds-cfg-plugin",
+         "objectClass: ds-cfg-lastmod-plugin",
          "cn: LastMod",
          "ds-cfg-plugin-class: org.opends.server.plugins.LastModPlugin",
          "ds-cfg-plugin-enabled: true",
@@ -110,6 +111,7 @@
          "dn: cn=LastMod,cn=Plugins,cn=config",
          "objectClass: top",
          "objectClass: ds-cfg-plugin",
+         "objectClass: ds-cfg-lastmod-plugin",
          "cn: LastMod",
          "ds-cfg-plugin-class: org.opends.server.plugins.LastModPlugin",
          "ds-cfg-plugin-enabled: true",
@@ -118,6 +120,7 @@
          "dn: cn=LastMod,cn=Plugins,cn=config",
          "objectClass: top",
          "objectClass: ds-cfg-plugin",
+         "objectClass: ds-cfg-lastmod-plugin",
          "cn: LastMod",
          "ds-cfg-plugin-class: org.opends.server.plugins.LastModPlugin",
          "ds-cfg-plugin-enabled: true",
@@ -126,6 +129,7 @@
          "dn: cn=LastMod,cn=Plugins,cn=config",
          "objectClass: top",
          "objectClass: ds-cfg-plugin",
+         "objectClass: ds-cfg-lastmod-plugin",
          "cn: LastMod",
          "ds-cfg-plugin-class: org.opends.server.plugins.LastModPlugin",
          "ds-cfg-plugin-enabled: true",
@@ -164,9 +168,9 @@
     }
 
 
-    PluginCfg configuration =
+    LastModPluginCfg configuration =
          AdminTestCaseUtils.getConfiguration(
-              PluginCfgDefn.getInstance(), e);
+              LastModPluginCfgDefn.getInstance(), e);
 
     LastModPlugin plugin = new LastModPlugin();
     plugin.initializePlugin(pluginTypes, configuration);
@@ -213,9 +217,9 @@
     }
 
 
-    PluginCfg configuration =
+    LastModPluginCfg configuration =
          AdminTestCaseUtils.getConfiguration(
-              PluginCfgDefn.getInstance(), e);
+              LastModPluginCfgDefn.getInstance(), e);
 
     LastModPlugin plugin = new LastModPlugin();
     plugin.initializePlugin(pluginTypes, configuration);
@@ -254,6 +258,7 @@
            "dn: cn=LastMod,cn=Plugins,cn=config",
            "objectClass: top",
            "objectClass: ds-cfg-plugin",
+           "objectClass: ds-cfg-lastmod-plugin",
            "cn: LastMod",
            "ds-cfg-plugin-class: org.opends.server.plugins.LastModPlugin",
            "ds-cfg-plugin-enabled: true",
@@ -295,9 +300,9 @@
     }
 
 
-    PluginCfg configuration =
+    LastModPluginCfg configuration =
          AdminTestCaseUtils.getConfiguration(
-              PluginCfgDefn.getInstance(), e);
+              LastModPluginCfgDefn.getInstance(), e);
 
     LastModPlugin plugin = new LastModPlugin();
     plugin.initializePlugin(pluginTypes, configuration);
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/AuthPasswordEqualityMatchingRuleTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/AuthPasswordEqualityMatchingRuleTest.java
index e092b01..749f492 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/AuthPasswordEqualityMatchingRuleTest.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/AuthPasswordEqualityMatchingRuleTest.java
@@ -27,8 +27,8 @@
 package org.opends.server.schema;
 
 import org.opends.server.admin.server.AdminTestCaseUtils;
-import org.opends.server.admin.std.meta.PasswordStorageSchemeCfgDefn;
-import org.opends.server.admin.std.server.PasswordStorageSchemeCfg;
+import org.opends.server.admin.std.meta.SaltedMD5PasswordStorageSchemeCfgDefn;
+import org.opends.server.admin.std.server.SaltedMD5PasswordStorageSchemeCfg;
 import org.opends.server.api.EqualityMatchingRule;
 import org.opends.server.config.ConfigEntry;
 import org.opends.server.core.DirectoryServer;
@@ -56,7 +56,7 @@
   public Object[][] createEqualityMatchingRuleTest()
   {
     return new Object[][] {
-        {"password", "password", true},  
+        {"password", "password", true},
     };
   }
 
@@ -74,31 +74,31 @@
   {
     ByteString bytePassword = new ASN1OctetString(password);
     SaltedMD5PasswordStorageScheme scheme = new SaltedMD5PasswordStorageScheme();
-    
+
     ConfigEntry configEntry =
        DirectoryServer.getConfigEntry(
            DN.decode("cn=Salted MD5,cn=Password Storage Schemes,cn=config"));
 
-    PasswordStorageSchemeCfg configuration =
+    SaltedMD5PasswordStorageSchemeCfg configuration =
       AdminTestCaseUtils.getConfiguration(
-          PasswordStorageSchemeCfgDefn.getInstance(),
+          SaltedMD5PasswordStorageSchemeCfgDefn.getInstance(),
           configEntry.getEntry()
           );
 
     scheme.initializePasswordStorageScheme(configuration);
-    
+
     ByteString encodedAuthPassword = scheme.encodeAuthPassword(bytePassword);
     StringBuilder[] authPWComponents =
          AuthPasswordSyntax.decodeAuthPassword(
               encodedAuthPassword.stringValue());
-    
+
      return new Object[] {
          AUTH_PASSWORD_SCHEME_NAME_SALTED_MD5 + "$"
                  + authPWComponents[1].toString()
                  + "$"+ authPWComponents[2].toString(),
          password, true};
   }
-  
+
   /**
    * {@inheritDoc}
    */
@@ -106,7 +106,7 @@
   @DataProvider(name="valuesMatch")
   public Object[][] createValuesMatch()
   {
-    try 
+    try
     {
       return new Object[][] {
           generateValues("password"),
@@ -130,5 +130,5 @@
   {
     return new AuthPasswordEqualityMatchingRule();
   }
-
 }
+
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/UserPasswordEqualityMatchingRuleTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/UserPasswordEqualityMatchingRuleTest.java
index e3d2dd8..ccfe752 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/UserPasswordEqualityMatchingRuleTest.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/UserPasswordEqualityMatchingRuleTest.java
@@ -27,8 +27,8 @@
 package org.opends.server.schema;
 
 import org.opends.server.admin.server.AdminTestCaseUtils;
-import org.opends.server.admin.std.meta.PasswordStorageSchemeCfgDefn;
-import org.opends.server.admin.std.server.PasswordStorageSchemeCfg;
+import org.opends.server.admin.std.meta.SaltedMD5PasswordStorageSchemeCfgDefn;
+import org.opends.server.admin.std.server.SaltedMD5PasswordStorageSchemeCfg;
 import org.opends.server.api.EqualityMatchingRule;
 import org.opends.server.config.ConfigEntry;
 import org.opends.server.core.DirectoryServer;
@@ -55,7 +55,7 @@
   public Object[][] createEqualityMatchingRuleTest()
   {
     return new Object[][] {
-        {"password", "password", true},  
+        {"password", "password", true},
     };
   }
 
@@ -73,26 +73,26 @@
   {
     ByteString bytePassword = new ASN1OctetString(password);
     SaltedMD5PasswordStorageScheme scheme = new SaltedMD5PasswordStorageScheme();
-    
+
     ConfigEntry configEntry =
        DirectoryServer.getConfigEntry(
            DN.decode("cn=Salted MD5,cn=Password Storage Schemes,cn=config"));
 
-    PasswordStorageSchemeCfg configuration =
+    SaltedMD5PasswordStorageSchemeCfg configuration =
       AdminTestCaseUtils.getConfiguration(
-          PasswordStorageSchemeCfgDefn.getInstance(),
+          SaltedMD5PasswordStorageSchemeCfgDefn.getInstance(),
           configEntry.getEntry()
           );
 
     scheme.initializePasswordStorageScheme(configuration);
-    
+
     ByteString encodedAuthPassword =
          scheme.encodePasswordWithScheme(bytePassword);
-    
+
      return new Object[] {
          encodedAuthPassword.toString(), password, true};
   }
-  
+
   /**
    * {@inheritDoc}
    */
@@ -100,7 +100,7 @@
   @DataProvider(name="valuesMatch")
   public Object[][] createValuesMatch()
   {
-    try 
+    try
     {
       return new Object[][] {
           generateValues("password"),
@@ -123,5 +123,5 @@
   {
     return new UserPasswordEqualityMatchingRule();
   }
-
 }
+

--
Gitblit v1.10.0