directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From elecha...@apache.org
Subject svn commit: r616938 [4/4] - in /directory: apacheds/branches/bigbang/bootstrap-plugin/src/main/java/org/apache/directory/server/core/bootstrap/plugin/ apacheds/branches/bigbang/core-entry/src/main/java/org/apache/directory/server/core/entry/ apacheds/b...
Date Wed, 30 Jan 2008 22:52:00 GMT
Modified: directory/apacheds/branches/bigbang/mitosis/src/test/java/org/apache/directory/mitosis/service/protocol/codec/LogEntryMessageCodecTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/mitosis/src/test/java/org/apache/directory/mitosis/service/protocol/codec/LogEntryMessageCodecTest.java?rev=616938&r1=616937&r2=616938&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/mitosis/src/test/java/org/apache/directory/mitosis/service/protocol/codec/LogEntryMessageCodecTest.java
(original)
+++ directory/apacheds/branches/bigbang/mitosis/src/test/java/org/apache/directory/mitosis/service/protocol/codec/LogEntryMessageCodecTest.java
Wed Jan 30 14:51:36 2008
@@ -33,7 +33,8 @@
 import org.apache.directory.mitosis.service.protocol.codec.LogEntryMessageEncoder;
 import org.apache.directory.mitosis.service.protocol.message.BaseMessage;
 import org.apache.directory.mitosis.service.protocol.message.LogEntryMessage;
-import org.apache.directory.shared.ldap.message.AttributeImpl;
+import org.apache.directory.server.core.DefaultDirectoryService;
+import org.apache.directory.server.core.entry.DefaultServerAttribute;
 import org.apache.directory.shared.ldap.name.LdapDN;
 import org.apache.directory.shared.ldap.schema.DeepTrimToLowerNormalizer;
 import org.apache.directory.shared.ldap.schema.OidNormalizer;
@@ -43,13 +44,17 @@
 {
     private static Map<String, OidNormalizer> oids = new HashMap<String, OidNormalizer>();
 
+    private static DefaultDirectoryService service;
+    
     static 
     {
         oids.put( "ou", new OidNormalizer( "ou", new DeepTrimToLowerNormalizer() ) );
         oids.put( "organizationalUnitName", new OidNormalizer( "ou", new DeepTrimToLowerNormalizer()
) );
         oids.put( "2.5.4.11", new OidNormalizer( "ou", new DeepTrimToLowerNormalizer() )
);
+        service = new DefaultDirectoryService();        
     }
     
+    
 
     public LogEntryMessageCodecTest() throws InvalidNameException, NamingException
     {
@@ -60,7 +65,6 @@
         oids.put( "organizationalUnitName", new OidNormalizer( "ou", new DeepTrimToLowerNormalizer()
) );
         oids.put( "2.5.4.11", new OidNormalizer( "ou", new DeepTrimToLowerNormalizer() )
);
          */
-        
         super(
             new LogEntryMessage( 
                 1234, 
@@ -68,7 +72,8 @@
                     new DefaultCSN( System.currentTimeMillis(),
                         new ReplicaId( "testReplica0" ), 1234 ), 
                     new LdapDN( "ou=system" ).normalize( oids ),
-                    new AttributeImpl( "Hello", "Test" ) ) ), 
+                    new DefaultServerAttribute( "ou", 
+                        service.getRegistries().getAttributeTypeRegistry().lookup( "ou" ),
"Test" ) ) ), 
             new LogEntryMessageEncoder(), 
             new LogEntryMessageDecoder() );
     }

Modified: directory/apacheds/branches/bigbang/mitosis/src/test/java/org/apache/directory/mitosis/store/derby/DerbyReplicationStoreTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/mitosis/src/test/java/org/apache/directory/mitosis/store/derby/DerbyReplicationStoreTest.java?rev=616938&r1=616937&r2=616938&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/mitosis/src/test/java/org/apache/directory/mitosis/store/derby/DerbyReplicationStoreTest.java
(original)
+++ directory/apacheds/branches/bigbang/mitosis/src/test/java/org/apache/directory/mitosis/store/derby/DerbyReplicationStoreTest.java
Wed Jan 30 14:51:36 2008
@@ -38,8 +38,9 @@
 
 import org.apache.commons.io.FileUtils;
 import org.apache.directory.server.core.DefaultDirectoryService;
+import org.apache.directory.server.core.entry.DefaultServerAttribute;
 import org.apache.directory.server.core.entry.DefaultServerEntry;
-import org.apache.directory.shared.ldap.message.AttributeImpl;
+import org.apache.directory.server.schema.registries.AttributeTypeRegistry;
 import org.apache.directory.shared.ldap.name.LdapDN;
 import org.apache.directory.shared.ldap.schema.DeepTrimToLowerNormalizer;
 import org.apache.directory.shared.ldap.schema.OidNormalizer;
@@ -191,24 +192,40 @@
         oids.put( "ou", new OidNormalizer( "ou", new DeepTrimToLowerNormalizer() ) );
         oids.put( "organizationalUnitName", new OidNormalizer( "ou", new DeepTrimToLowerNormalizer()
) );
         oids.put( "2.5.4.11", new OidNormalizer( "ou", new DeepTrimToLowerNormalizer() )
);
-        
+
+        AttributeTypeRegistry atRegistry = service.getRegistries().getAttributeTypeRegistry();
+
         CSN csn = csnFactory.newInstance( REPLICA_ID );
         CompositeOperation op1 = new CompositeOperation( csn );
         LdapDN ouA =  new LdapDN( "ou=a" ).normalize( oids );
-        op1.add( new AddEntryOperation( csn, ouA, new DefaultServerEntry( service.getRegistries(),
ouA ) ) );
-        op1.add( new AddAttributeOperation( csn, ouA, new AttributeImpl( "id", "valie" )
) );
-        op1.add( new ReplaceAttributeOperation( csn, ouA, new AttributeImpl( "id", "valie"
) ) );
-        op1.add( new DeleteAttributeOperation( csn, ouA, new AttributeImpl( "id", "valie"
) ) );
+        op1.add( new AddEntryOperation( csn, ouA, 
+            new DefaultServerEntry( service.getRegistries(), ouA ) ) );
+        
+        op1.add( new AddAttributeOperation( csn, ouA, 
+            new DefaultServerAttribute( "ou", atRegistry.lookup( "ou" ), "valie" ) ) );
+        
+        op1.add( new ReplaceAttributeOperation( csn, ouA, 
+            new DefaultServerAttribute( "ou", atRegistry.lookup( "ou" ), "valie" ) ) );
+        
+        op1.add( new DeleteAttributeOperation( csn, ouA, 
+            new DefaultServerAttribute( "ou", atRegistry.lookup( "ou" ), "valie" ) ) );
 
         store.putLog( op1 );
         testGetLogs( csn, op1 );
 
         csn = csnFactory.newInstance( OTHER_REPLICA_ID );
         CompositeOperation op2 = new CompositeOperation( csn );
-        op2.add( new AddEntryOperation( csn, ouA, new DefaultServerEntry( service.getRegistries(),
ouA ) ) );
-        op2.add( new AddAttributeOperation( csn, ouA, new AttributeImpl( "id", "valie" )
) );
-        op2.add( new ReplaceAttributeOperation( csn, ouA, new AttributeImpl( "id", "valie"
) ) );
-        op2.add( new DeleteAttributeOperation( csn, ouA, new AttributeImpl( "id", "valie"
) ) );
+        op2.add( new AddEntryOperation( csn, ouA, 
+            new DefaultServerEntry( service.getRegistries(), ouA ) ) );
+        
+        op2.add( new AddAttributeOperation( csn, ouA, 
+            new DefaultServerAttribute( "ou", atRegistry.lookup( "ou" ), "valie" ) ) );
+        
+        op2.add( new ReplaceAttributeOperation( csn, ouA, 
+            new DefaultServerAttribute( "ou", atRegistry.lookup( "ou" ), "valie" ) ) );
+        
+        op2.add( new DeleteAttributeOperation( csn, ouA, 
+            new DefaultServerAttribute( "ou", atRegistry.lookup( "ou" ), "valie" ) ) );
 
         store.putLog( op2 );
         testGetLogs( csn, op2 );

Modified: directory/apacheds/branches/bigbang/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/ExtendedHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/ExtendedHandler.java?rev=616938&r1=616937&r2=616938&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/ExtendedHandler.java
(original)
+++ directory/apacheds/branches/bigbang/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/ExtendedHandler.java
Wed Jan 30 14:51:36 2008
@@ -24,7 +24,6 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.directory.server.core.DirectoryService;
 import org.apache.directory.server.ldap.ExtendedOperationHandler;
 import org.apache.directory.shared.ldap.message.ExtendedRequest;
 import org.apache.mina.common.IoSession;

Modified: directory/apacheds/branches/bigbang/schema-bootstrap/src/main/java/org/apache/directory/server/schema/bootstrap/BootstrapSchemaLoader.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/schema-bootstrap/src/main/java/org/apache/directory/server/schema/bootstrap/BootstrapSchemaLoader.java?rev=616938&r1=616937&r2=616938&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/schema-bootstrap/src/main/java/org/apache/directory/server/schema/bootstrap/BootstrapSchemaLoader.java
(original)
+++ directory/apacheds/branches/bigbang/schema-bootstrap/src/main/java/org/apache/directory/server/schema/bootstrap/BootstrapSchemaLoader.java
Wed Jan 30 14:51:36 2008
@@ -323,7 +323,7 @@
      */
     private BootstrapProducer getProducer( BootstrapSchema schema, String producerBase )
throws NamingException
     {
-        Class clazz = null;
+        Class<?> clazz = null;
         boolean failedTargetLoad = false;
         String defaultClassName;
         String targetClassName = schema.getBaseClassName() + producerBase;

Modified: directory/apacheds/branches/bigbang/schema-bootstrap/src/main/java/org/apache/directory/server/schema/bootstrap/SystemComparatorProducer.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/schema-bootstrap/src/main/java/org/apache/directory/server/schema/bootstrap/SystemComparatorProducer.java?rev=616938&r1=616937&r2=616938&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/schema-bootstrap/src/main/java/org/apache/directory/server/schema/bootstrap/SystemComparatorProducer.java
(original)
+++ directory/apacheds/branches/bigbang/schema-bootstrap/src/main/java/org/apache/directory/server/schema/bootstrap/SystemComparatorProducer.java
Wed Jan 30 14:51:36 2008
@@ -29,6 +29,7 @@
 import org.apache.directory.server.schema.NameAndOptionalUIDNormalizer;
 import org.apache.directory.server.schema.bootstrap.ProducerTypeEnum;
 import org.apache.directory.server.schema.registries.Registries;
+import org.apache.directory.shared.ldap.schema.ByteArrayComparator;
 import org.apache.directory.shared.ldap.schema.CachingNormalizer;
 import org.apache.directory.shared.ldap.schema.ComparableComparator;
 import org.apache.directory.shared.ldap.schema.DeepTrimNormalizer;
@@ -176,14 +177,14 @@
          ( 2.5.13.17 NAME 'octetStringMatch'
          SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )
          */
-        comparator = new ComparableComparator();
+        comparator = new ByteArrayComparator();
         cb.schemaObjectProduced( this, "2.5.13.17", comparator );
 
         /*
          ( 2.5.13.18 NAME 'octetStringOrderingMatch'
          SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )
          */
-        comparator = new ComparableComparator();
+        comparator = new ByteArrayComparator();
         cb.schemaObjectProduced( this, "2.5.13.18", comparator );
 
         /*

Added: directory/apacheds/branches/bigbang/server-xml/src/main/resources/my-server.xml
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/server-xml/src/main/resources/my-server.xml?rev=616938&view=auto
==============================================================================
--- directory/apacheds/branches/bigbang/server-xml/src/main/resources/my-server.xml (added)
+++ directory/apacheds/branches/bigbang/server-xml/src/main/resources/my-server.xml Wed Jan
30 14:51:36 2008
@@ -0,0 +1,273 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+
+<spring:beans xmlns:spring="http://xbean.apache.org/schemas/spring/1.0" xmlns="http://apacheds.org/config/1.0">
+
+  <!--=====================================================================-->
+  <!-- The main configuration, Spring way                                  -->
+  <!--=====================================================================-->
+  <spring:bean id="MainADS" class="org.apache.directory.server.configuration.ApacheDS">
+    <!-- The default duration between each data are written on disk   --> 
+    <spring:property name="synchPeriodMillis" value="15000"/>
+    
+    <!-- Reference the (optional) directory containing LDIF files to be -->
+    <!-- loaded on startup. Default to an empty name. -->
+    <spring:property name="ldifDirectory">
+      <spring:value/>
+    </spring:property>
+    
+    <!-- The DirectoryServer we will use -->
+    <spring:constructor-arg>
+      <spring:ref bean="directoryService"/>
+    </spring:constructor-arg>
+    
+    <!-- The LdapServer to launch -->
+    <spring:constructor-arg>
+      <spring:ref bean="ldapServer" />
+    </spring:constructor-arg>
+    
+    <!-- The LdapSServer to launch -->
+    <spring:constructor-arg>
+      <spring:ref bean="ldapsServer"/>
+    </spring:constructor-arg>
+    
+    <!-- Optionally, the ldifFilters -->
+    <!--
+    <spring:property name="ldifFilters">
+      <spring:list>
+        <spring:value/>
+      </spring:list>
+    </spring:property>
+    -->
+    
+  </spring:bean>
+  
+  <!--=====================================================================-->
+  <!-- The main configuration, Spring-xbean way                            -->
+  <!--=====================================================================-->
+  <!-- (Uncomment this part if needed.)
+  <apacheDS id="apacheDS"
+            synchPeriodMillis="15000"
+            allowAnonymousAccess="false">
+
+    <directoryService>#directoryService</directoryService>
+    <ldapServer>#ldapServer</ldapServer>
+    <ldapsServer>#ldapsServer</ldapsServer>
+  </apacheDS>
+  -->
+  
+  <spring:bean id="systemContextEntry" 
+	class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
+    <spring:property name="targetObject"><spring:ref local='directoryService'/></spring:property>
+    <spring:property name="targetMethod"><spring:value>newEntry</spring:value></spring:property>
+    <spring:property name="arguments">
+      <value xmlns="http://www.springframework.org/schema/beans">
+        objectClass: top
+        objectClass: organizationalUnit
+        objectClass: extensibleObject
+        ou: system
+      </spring:value>
+    </spring:property>
+  </spring:bean>
+  
+  <spring:bean id="exampleContextEntry" 
+	class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
+    <spring:property name="targetObject"><spring:ref local='directoryService'/></spring:property>
+    <spring:property name="targetMethod"><spring:value>newEntry</spring:value></spring:property>
+    <spring:property name="arguments">
+      <value xmlns="http://www.springframework.org/schema/beans">
+        objectClass: top
+        objectClass: domain
+        objectClass: extensibleObject
+        dc: example
+      </spring:value>
+    </spring:property>
+  </spring:bean>
+
+  <defaultDirectoryService id="directoryService" instanceId="default"
+                           workingDirectory="example.com"
+                           allowAnonymousAccess="true"
+                           accessControlEnabled="false"
+                           denormalizeOpAttrsEnabled="false">
+    <systemPartition>
+      <!-- use the following partitionConfiguration to override defaults for -->
+      <!-- the system partition                                              -->
+      <jdbmPartition id="system" cacheSize="100" suffix="ou=system" optimizerEnabled="true"
syncOnWrite="true">
+        <indexedAttributes>
+          <jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.1" cacheSize="100"/>
+          <jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.2" cacheSize="100"/>
+          <jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.3" cacheSize="100"/>
+          <jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.4" cacheSize="100"/>
+          <jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.5" cacheSize="10"/>
+          <jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.6" cacheSize="10"/>
+          <jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.7" cacheSize="10"/>
+          <jdbmIndex attributeId="ou" cacheSize="100"/>
+          <jdbmIndex attributeId="uid" cacheSize="100"/>
+          <jdbmIndex attributeId="objectClass" cacheSize="100"/>
+        </indexedAttributes>
+        <contextEntry>#systemContextEntry</contextEntry>
+      </jdbmPartition>
+    </systemPartition>
+
+    <partitions>
+      <!-- NOTE: when specifying new partitions you need not include those   -->
+      <!-- attributes below with OID's which are the system indices, if left -->
+      <!-- out they will be automatically configured for you with defaults.  -->
+      <jdbmPartition id="example" cacheSize="100" suffix="dc=example,dc=com" optimizerEnabled="true"
+                     syncOnWrite="true">
+        <indexedAttributes>
+          <jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.1" cacheSize="100"/>
+          <jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.2" cacheSize="100"/>
+          <jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.3" cacheSize="100"/>
+          <jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.4" cacheSize="100"/>
+          <jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.5" cacheSize="10"/>
+          <jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.6" cacheSize="10"/>
+          <jdbmIndex attributeId="1.3.6.1.4.1.18060.0.4.1.2.7" cacheSize="10"/>
+          <jdbmIndex attributeId="dc" cacheSize="100"/>
+          <jdbmIndex attributeId="ou" cacheSize="100"/>
+          <jdbmIndex attributeId="krb5PrincipalName" cacheSize="100"/>
+          <jdbmIndex attributeId="uid" cacheSize="100"/>
+          <jdbmIndex attributeId="objectClass" cacheSize="100"/>
+        </indexedAttributes>
+        <contextEntry>#exampleContextEntry</contextEntry>
+      </jdbmPartition>
+    </partitions>
+
+    <interceptors>
+      <normalizationInterceptor/>
+      <authenticationInterceptor/>
+      <referralInterceptor/>
+      <aciAuthorizationInterceptor/>
+      <defaultAuthorizationInterceptor/>
+      <exceptionInterceptor/>
+      <operationalAttributeInterceptor/>
+
+      <!-- Uncomment to enable the password policy interceptor
+      <passwordPolicyInterceptor/>
+      <keyDerivationInterceptor/>
+      -->
+
+      <schemaInterceptor/>
+      <subentryInterceptor/>
+      <collectiveAttributeInterceptor/>
+      <eventInterceptor/>
+      <triggerInterceptor/>
+
+      <!-- Uncomment to enable replication interceptor
+      <replicationInterceptor>
+        <configuration>
+          <replicationConfiguration serverPort="10390" peerReplicas="instance_b@localhost:10392">
+            <replicaId>
+              <replicaId id="instance_a"/>
+            </replicaId>
+          </replicationConfiguration>
+        </configuration>
+      </replicationInterceptor>
+      -->
+    </interceptors>
+  </defaultDirectoryService>
+
+  <standardThreadPool id="standardThreadPool" maxThreads="8"/>
+  <datagramAcceptor id="datagramAcceptor" logicExecutor="#standardThreadPool"/>
+  <socketAcceptor id="socketAcceptor" logicExecutor="#standardThreadPool"/>
+
+<!--  missing  atou=users,dc=example,dc=com
+  <changePasswordServer ipPort="60464">
+    <directoryService>#directoryService</directoryService>
+    <datagramAcceptor>#datagramAcceptor</datagramAcceptor>
+    <socketAcceptor>#socketAcceptor</socketAcceptor>
+  </changePasswordServer>
+-->
+<!--  missing atou=users,dc=example,dc=com
+  <kdcServer ipPort="60088">
+    <directoryService>#directoryService</directoryService>
+    <datagramAcceptor>#datagramAcceptor</datagramAcceptor>
+    <socketAcceptor>#socketAcceptor</socketAcceptor>
+  </kdcServer>
+-->
+  <ntpServer ipPort="60123">
+    <datagramAcceptor>#datagramAcceptor</datagramAcceptor>
+    <socketAcceptor>#socketAcceptor</socketAcceptor>
+  </ntpServer>
+<!--  missing atou=users,dc=example,dc=com
+  <dnsServer ipPort="8053">
+    <directoryService>#directoryService</directoryService>
+    <datagramAcceptor>#datagramAcceptor</datagramAcceptor>
+    <socketAcceptor>#socketAcceptor</socketAcceptor>
+  </dnsServer>
+-->
+
+<!-- no certificate  -->
+  <ldapServer id="ldapsServer"
+          enabled="false"
+              ipPort="60636"
+              enableLdaps="true">
+    <directoryService>#directoryService</directoryService>
+    <socketAcceptor>#socketAcceptor</socketAcceptor>
+  </ldapServer>
+
+  <ldapServer id="ldapServer"
+              ipPort="10389"
+              allowAnonymousAccess="false"
+              saslHost="ldap.example.com"
+              saslPrincipal="ldap/ldap.example.com@EXAMPLE.COM"
+              searchBaseDn="ou=users,ou=system"
+              maxTimeLimit="15000"
+              maxSizeLimit="1000">
+
+    <directoryService>#directoryService</directoryService>
+    <socketAcceptor>#socketAcceptor</socketAcceptor>
+    <!-- The list of supported authentication mechanisms.                   -->
+    <supportedMechanisms>
+      <value xmlns="http://www.springframework.org/schema/beans">SIMPLE</value>
+      <value xmlns="http://www.springframework.org/schema/beans">CRAM-MD5</value>
+      <value xmlns="http://www.springframework.org/schema/beans">DIGEST-MD5</value>
+      <!--<value xmlns="http://www.springframework.org/schema/beans">GSSAPI</value>-->
+    </supportedMechanisms>
+
+    <!-- The desired quality-of-protection, used by DIGEST-MD5 and GSSAPI.  -->
+    <saslQop>
+      <value xmlns="http://www.springframework.org/schema/beans">auth</value>
+      <value xmlns="http://www.springframework.org/schema/beans">auth-int</value>
+      <value xmlns="http://www.springframework.org/schema/beans">auth-conf</value>
+    </saslQop>
+
+    <!-- The realms serviced by this SASL host, used by DIGEST-MD5 and GSSAPI. -->
+    <saslRealms>
+      <value xmlns="http://www.springframework.org/schema/beans">example.com</value>
+      <value xmlns="http://www.springframework.org/schema/beans">apache.org</value>
+    </saslRealms>
+
+    <!-- the collection of extended operation handlers to install           -->
+    <extendedOperationHandlers>
+      <!--startTlsHandler/-->
+      <gracefulShutdownHandler/>
+      <launchDiagnosticUiHandler/>
+      <!-- The Stored Procedure Extended Operation is not stable yet and it may cause
security risks.-->
+      <!--storedProcedureExtendedOperationHandler/-->
+    </extendedOperationHandlers>
+  </ldapServer>
+
+
+
+  <!--=====================================================================-->
+  <!-- The specific propertyEditor declaration                             -->
+  <!--=====================================================================-->
+  <spring:bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
+    <spring:property name="customEditors">
+      <spring:map>
+
+        <!-- An editor used to convert LDIF-like entries to ServerEntry instances -->
+        <spring:entry key="org.apache.directory.server.core.entry.ServerEntry">
+          <spring:bean class="org.apache.directory.server.core.entry.ServerEntryPropertyEditor"/>
+        </spring:entry>
+
+        <!-- An editor used to convert LDIF-like entries to Attributes instances -->
+        <spring:entry key="org.apache.directory.server.core.entry.Attributes">
+          <spring:bean class="org.apache.directory.server.core.configuration.AttributesPropertyEditor"/>
+        </spring:entry>
+        
+      </spring:map>
+    </spring:property>
+  </spring:bean>
+</spring:beans>

Modified: directory/installers/branches/bigbang/apacheds-noarch/apacheds.sh
URL: http://svn.apache.org/viewvc/directory/installers/branches/bigbang/apacheds-noarch/apacheds.sh?rev=616938&r1=616937&r2=616938&view=diff
==============================================================================
--- directory/installers/branches/bigbang/apacheds-noarch/apacheds.sh (original)
+++ directory/installers/branches/bigbang/apacheds-noarch/apacheds.sh Wed Jan 30 14:51:36
2008
@@ -4,6 +4,9 @@
 else
   echo uber jar not found need to build it
   mvn clean assembly:assembly
+  jar -xvf target/apacheds-noarch-installer-1.5.2-SNAPSHOT-app.jar META-INF/MANIFEST.MF
+  echo "Class-path: myinterceptor.jar" >> META-INF/MANIFEST.MF 
+  jar -uf target/apacheds-noarch-installer-1.5.2-SNAPSHOT-app.jar  META-INF/MANIFEST.MF
 fi
 
 java -Dlog4j.debug -Dlog4j.configuration=file:./log4j.properties -jar target/apacheds-noarch-installer-1.5.2-SNAPSHOT-app.jar
server.xml 

Modified: directory/shared/branches/bigbang/convert/src/main/java/org/apache/directory/shared/converter/schema/SchemaToLdif.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/bigbang/convert/src/main/java/org/apache/directory/shared/converter/schema/SchemaToLdif.java?rev=616938&r1=616937&r2=616938&view=diff
==============================================================================
--- directory/shared/branches/bigbang/convert/src/main/java/org/apache/directory/shared/converter/schema/SchemaToLdif.java
(original)
+++ directory/shared/branches/bigbang/convert/src/main/java/org/apache/directory/shared/converter/schema/SchemaToLdif.java
Wed Jan 30 14:51:36 2008
@@ -100,7 +100,6 @@
             }
             catch ( Exception e )
             {
-                e.printStackTrace();
                 throw new ParserException( "Failed while generating sources for " + schema.getName()
);
             }
         }

Modified: directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/AbstractBinaryValue.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/AbstractBinaryValue.java?rev=616938&r1=616937&r2=616938&view=diff
==============================================================================
--- directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/AbstractBinaryValue.java
(original)
+++ directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/AbstractBinaryValue.java
Wed Jan 30 14:51:36 2008
@@ -45,6 +45,9 @@
     
     /** the wrapped binary value */
     private byte[] wrapped;
+    
+    /** A flag set when the value has been normalized */
+    private transient boolean normalized;
 
 
     // -----------------------------------------------------------------------
@@ -92,6 +95,7 @@
      */
     public AbstractBinaryValue()
     {
+        normalized = false;
     }
 
 
@@ -103,6 +107,8 @@
     public AbstractBinaryValue( byte[] wrapped )
     {
         set( wrapped );
+        
+        normalized = false;
     }
 
 
@@ -117,6 +123,8 @@
         {
             wrapped = value.getCopy();
         }
+        
+        normalized = false;
     }
 
 
@@ -283,6 +291,28 @@
         {
             return null;
         }
+    }
+    
+    
+    /**
+     * Tells if the value has already be normalized or not.
+     *
+     * @return <code>true</code> if the value has already been normalized.
+     */
+    public boolean isNormalized()
+    {
+        return normalized;
+    }
+
+    
+    /**
+     * Set the normalized flag.
+     * 
+     * @param the value : true or false
+     */
+    public void setNormalized( boolean normalized )
+    {
+        this.normalized = normalized;
     }
 
     

Modified: directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/AbstractStringValue.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/AbstractStringValue.java?rev=616938&r1=616937&r2=616938&view=diff
==============================================================================
--- directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/AbstractStringValue.java
(original)
+++ directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/AbstractStringValue.java
Wed Jan 30 14:51:36 2008
@@ -41,6 +41,10 @@
     private String wrapped;
 
 
+    /** A flag set when the value has been normalized */
+    private transient boolean normalized;
+
+
     // -----------------------------------------------------------------------
     // utility methods
     // -----------------------------------------------------------------------
@@ -183,7 +187,29 @@
     }
 
 
-//    public int compareTo( Value<String> value )
+    /**
+     * Tells if the value has already be normalized or not.
+     *
+     * @return <code>true</code> if the value has already been normalized.
+     */
+    public boolean isNormalized()
+    {
+        return normalized;
+    }
+
+    
+    /**
+     * Set the normalized flag.
+     * 
+     * @param the value : true or false
+     */
+    public void setNormalized( boolean normalized )
+    {
+        this.normalized = normalized;
+    }
+
+    
+    //    public int compareTo( Value<String> value )
 //    {
 //        if ( value == null && wrapped == null )
 //        {

Modified: directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/EntryAttribute.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/EntryAttribute.java?rev=616938&r1=616937&r2=616938&view=diff
==============================================================================
--- directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/EntryAttribute.java
(original)
+++ directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/EntryAttribute.java
Wed Jan 30 14:51:36 2008
@@ -18,7 +18,7 @@
  */
 package org.apache.directory.shared.ldap.entry;
 
-import java.io.Serializable;
+import java.io.Externalizable;
 import java.util.Iterator;
 import java.util.List;
 
@@ -33,7 +33,7 @@
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  * @version $Rev$, $Date$
  */
-public interface EntryAttribute<T extends Value<?>> extends Iterable<T>,
Serializable, Cloneable
+public interface EntryAttribute<T extends Value<?>> extends Iterable<T>,
 Externalizable, Cloneable
 {
     /**
      * Adds some values to this attribute. If the new values are already present in
@@ -130,7 +130,7 @@
      * @param vals the values
      * @return true if this attribute contains all the values, otherwise false
      */
-    boolean contains( String... vals );
+    boolean contains( String... vals ) throws NamingException;
 
 
     /**
@@ -139,7 +139,7 @@
      * @param vals the values
      * @return true if this attribute contains all the values, otherwise false
      */
-    boolean contains( byte[]... vals );
+    boolean contains( byte[]... vals ) throws NamingException;
 
 
     /**
@@ -148,7 +148,7 @@
      * @param vals the values
      * @return true if this attribute contains all the values, otherwise false
      */
-    boolean contains( Object... vals );
+    boolean contains( Object... vals ) throws NamingException;
 
 
    /**
@@ -200,6 +200,16 @@
 
 
     /**
+     * Get's the attribute identifier for this entry.  This is the value
+     * that will be used as the identifier for the attribute within the
+     * entry.  
+     *
+     * @return the identifier for this attribute
+     */
+    String getId();
+
+    
+    /**
      * Get's the user provided identifier for this entry.  This is the value
      * that will be used as the identifier for the attribute within the
      * entry.  If this is a commonName attribute for example and the user
@@ -247,7 +257,7 @@
      * @param vals the values
      * @return true if this attribute contains all the values, otherwise false
      */
-    boolean contains( T... vals );
+    boolean contains( T... vals ) throws NamingException;
 
     
     /**

Modified: directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/Modification.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/Modification.java?rev=616938&r1=616937&r2=616938&view=diff
==============================================================================
--- directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/Modification.java
(original)
+++ directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/Modification.java
Wed Jan 30 14:51:36 2008
@@ -19,6 +19,8 @@
  */
 package org.apache.directory.shared.ldap.entry;
 
+import java.io.Serializable;
+
 
 /**
  * An internal interface for a ModificationItem. The name has been
@@ -27,7 +29,7 @@
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  * @version $Rev$, $Date$
  */
-public interface Modification<T extends EntryAttribute<?>>
+public interface Modification extends Cloneable, Serializable
 {
     /**
      *  @return the operation
@@ -54,7 +56,7 @@
     /**
      * @return the attribute containing the modifications
      */
-    T getAttribute();
+    EntryAttribute<?> getAttribute();
     
     
     /**
@@ -62,5 +64,14 @@
      *
      * @param attribute The modified attribute 
      */
-    void setAttribute( T attribute );
+    void setAttribute( EntryAttribute<?> attribute );
+    
+    
+    /**
+     * The clone operation
+     * TODO clone.
+     *
+     * @return
+     */
+    Modification clone();
 }

Modified: directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/ModificationOperation.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/ModificationOperation.java?rev=616938&r1=616937&r2=616938&view=diff
==============================================================================
--- directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/ModificationOperation.java
(original)
+++ directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/ModificationOperation.java
Wed Jan 30 14:51:36 2008
@@ -30,8 +30,8 @@
 public enum ModificationOperation
 {
     ADD_ATTRIBUTE( 1 ),
-    REPLACE_ATTRIBUTE( 3 ),
-    REMOVE_ATTRIBUTE( 2 );
+    REPLACE_ATTRIBUTE( 2 ),
+    REMOVE_ATTRIBUTE( 3 );
 
     /** Internal value */
     private int value;
@@ -53,5 +53,24 @@
     public int getValue()
     {
         return value;
+    }
+    
+    
+    public String toString()
+    {
+        switch ( this )
+        {
+            case ADD_ATTRIBUTE :
+                return "add";
+                
+            case REPLACE_ATTRIBUTE :
+                return "replace";
+                
+            case REMOVE_ATTRIBUTE :
+                return "remove";
+                
+            default :
+                return "";
+        }
     }
 }

Modified: directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/AbstractClientAttribute.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/AbstractClientAttribute.java?rev=616938&r1=616937&r2=616938&view=diff
==============================================================================
--- directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/AbstractClientAttribute.java
(original)
+++ directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/AbstractClientAttribute.java
Wed Jan 30 14:51:36 2008
@@ -50,7 +50,6 @@
     /** The User provided ID */
     protected String upId;
 
-    
     // -----------------------------------------------------------------------
     // utility methods
     // -----------------------------------------------------------------------

Modified: directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/DefaultClientAttribute.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/DefaultClientAttribute.java?rev=616938&r1=616937&r2=616938&view=diff
==============================================================================
--- directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/DefaultClientAttribute.java
(original)
+++ directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/DefaultClientAttribute.java
Wed Jan 30 14:51:36 2008
@@ -26,6 +26,9 @@
 import javax.naming.NamingException;
 import javax.naming.directory.InvalidAttributeValueException;
 
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
 import java.util.Iterator;
 
 
@@ -166,6 +169,18 @@
 
 
     /**
+     * Get's the attribute identifier. Its value is the same than the
+     * user provided ID.
+     *
+     * @return the attribute's identifier
+     */
+    public String getId()
+    {
+        return upId;
+    }
+
+
+    /**
      * Get's the user provided identifier for this entry.  This is the value
      * that will be used as the identifier for the attribute within the
      * entry.  If this is a commonName attribute for example and the user
@@ -594,6 +609,18 @@
     public Iterator<ClientValue<?>> iterator()
     {
         return values.iterator();
+    }
+    
+    
+    public void writeExternal( ObjectOutput out ) throws IOException
+    {
+        // Do nothing...
+    }
+    
+    
+    public void readExternal( ObjectInput in ) throws IOException, ClassNotFoundException
+    {
+        // Do nothing...
     }
     
     

Modified: directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/name/LdapDN.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/name/LdapDN.java?rev=616938&r1=616937&r2=616938&view=diff
==============================================================================
--- directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/name/LdapDN.java
(original)
+++ directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/name/LdapDN.java
Wed Jan 30 14:51:36 2008
@@ -1726,6 +1726,8 @@
                 out.writeObject( rdn );
             }
         }
+        
+        out.flush();
     }
 
 

Modified: directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/util/AttributeUtils.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/util/AttributeUtils.java?rev=616938&r1=616937&r2=616938&view=diff
==============================================================================
--- directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/util/AttributeUtils.java
(original)
+++ directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/util/AttributeUtils.java
Wed Jan 30 14:51:36 2008
@@ -274,52 +274,6 @@
      * @param type the attributeType spec of the Attribute to extract
      * @return the modification item on the attributeType specified
      */
-    public static final ModificationItem getModificationItem( ModificationItem[] mods, AttributeType
type )
-    {
-        // optimization bypass to avoid cost of the loop below
-        if ( type.getNames().length == 1 )
-        {
-            for ( int jj = 0; jj < mods.length; jj++ )
-            {
-                if ( mods[jj].getAttribute().getID().equalsIgnoreCase( type.getNames()[0]
) )
-                {
-                    return mods[jj];
-                }
-            }
-        }
-        
-        // check if the attribute's OID is used
-        for ( int jj = 0; jj < mods.length; jj++ )
-        {
-            if ( mods[jj].getAttribute().getID().equals( type.getOid() ) )
-            {
-                return mods[jj];
-            }
-        }
-        
-        // iterate through aliases
-        for ( int ii = 0; ii < type.getNames().length; ii++ )
-        {
-            for ( int jj = 0; jj < mods.length; jj++ )
-            {
-                if ( mods[jj].getAttribute().getID().equalsIgnoreCase( type.getNames()[ii]
) )
-                {
-                    return mods[jj];
-                }
-            }
-        }
-        
-        return null;
-    }
-    
-    
-    /**
-     * Utility method to extract a modification item from an array of modifications.
-     * 
-     * @param mods the array of ModificationItems to extract the Attribute from.
-     * @param type the attributeType spec of the Attribute to extract
-     * @return the modification item on the attributeType specified
-     */
     public static final ModificationItem getModificationItem( List<ModificationItemImpl>
mods, AttributeType type )
     {
         // optimization bypass to avoid cost of the loop below
@@ -359,46 +313,6 @@
     }
 
     
-    /**
-     * Utility method to extract an attribute from an array of modifications.
-     * 
-     * @param mods the array of ModificationItems to extract the Attribute from.
-     * @param type the attributeType spec of the Attribute to extract
-     * @return the extract Attribute or null if no such attribute exists
-     */
-    public static final Attribute getAttribute( ModificationItem[] mods, AttributeType type
)
-    {
-        ModificationItem mod = getModificationItem( mods, type );
-        
-        if ( mod != null )
-        {
-            return mod.getAttribute();
-        }
-        
-        return null;
-    }
-    
-
-    /**
-     * Utility method to extract an attribute from a list of modifications.
-     * 
-     * @param mods the list of ModificationItems to extract the Attribute from.
-     * @param type the attributeType spec of the Attribute to extract
-     * @return the extract Attribute or null if no such attribute exists
-     */
-    public static Attribute getAttribute( List<ModificationItemImpl> mods, AttributeType
type )
-    {
-        ModificationItem mod = getModificationItem( mods, type );
-        
-        if ( mod != null )
-        {
-            return mod.getAttribute();
-        }
-        
-        return null;
-    }
-    
-
     /**
      * Check if an attribute contains a specific value, using the associated matchingRule
for that
      *

Modified: directory/shared/branches/bigbang/ldap/src/test/java/org/apache/directory/shared/ldap/name/LdapDNTest.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/bigbang/ldap/src/test/java/org/apache/directory/shared/ldap/name/LdapDNTest.java?rev=616938&r1=616937&r2=616938&view=diff
==============================================================================
--- directory/shared/branches/bigbang/ldap/src/test/java/org/apache/directory/shared/ldap/name/LdapDNTest.java
(original)
+++ directory/shared/branches/bigbang/ldap/src/test/java/org/apache/directory/shared/ldap/name/LdapDNTest.java
Wed Jan 30 14:51:36 2008
@@ -21,6 +21,8 @@
 
 
 
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
@@ -2319,91 +2321,7 @@
                "2.5.4.11= Some   People   + domainComponent=  And   Some anImAls,DomainComponent
= eXample,0.9.2342.19200300.100.1.25= cOm" ) );
    }
 
-
-   /**
-    * Test the serialization of a DN
-    *
-    * @throws Exception
-    */
-   @Test public void testNameSerialization() throws Exception
-   {
-       LdapDN name = new LdapDN( "ou= Some   People   + dc=  And   Some anImAls,dc = eXample,dc=
cOm" );
-       name.normalize( oids );
-
-       FileOutputStream fOut = null;
-       ObjectOutputStream oOut = null;
-       File file = new File( "LdapDN.ser" );
-
-       try
-       {
-           fOut = new FileOutputStream( file );
-           oOut = new ObjectOutputStream( fOut );
-           oOut.writeObject( name );
-       }
-       catch ( IOException ioe )
-       {
-           throw ioe;
-       }
-       finally
-       {
-           try
-           {
-               if ( oOut != null )
-               {
-                   oOut.flush();
-                   oOut.close();
-               }
-
-               if ( fOut != null )
-               {
-                   fOut.close();
-               }
-           }
-           catch ( IOException ioe )
-           {
-               throw ioe;
-           }
-       }
-
-       FileInputStream fIn = null;
-       ObjectInputStream oIn = null;
-
-       try
-       {
-           fIn = new FileInputStream( file );
-           oIn = new ObjectInputStream( fIn );
-
-           LdapDN nameSer = ( LdapDN ) oIn.readObject();
-
-           assertEquals( 0, nameSer.compareTo( name ) );
-       }
-       catch ( IOException ioe )
-       {
-           throw ioe;
-       }
-       finally
-       {
-           try
-           {
-               if ( oIn != null )
-               {
-                   oIn.close();
-               }
-               
-               if ( fIn != null )
-               {
-                   fIn.close();
-               }
-               
-               file.delete();
-           }
-           catch ( IOException ioe )
-           {
-               throw ioe;
-           }
-       }
-   }
-
+   
    /**
     * Class to test for hashCode().
     */
@@ -2833,5 +2751,94 @@
         assertFalse( LdapDN.isValid( "=" ) );
         assertFalse( LdapDN.isValid( " = " ) );
         assertFalse( LdapDN.isValid( " = a" ) );
+    }
+    
+    private ByteArrayOutputStream serializeDN( LdapDN dn ) throws IOException
+    {
+        ObjectOutputStream oOut = null;
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+
+        try
+        {
+            oOut = new ObjectOutputStream( out );
+            oOut.writeObject( dn );
+        }
+        catch ( IOException ioe )
+        {
+            throw ioe;
+        }
+        finally
+        {
+            try
+            {
+                if ( oOut != null )
+                {
+                    oOut.flush();
+                    oOut.close();
+                }
+            }
+            catch ( IOException ioe )
+            {
+                throw ioe;
+            }
+        }
+        
+        return out;
+    }
+    
+    
+    private LdapDN deserializeDN( ByteArrayOutputStream out ) throws IOException, ClassNotFoundException
+    {
+        ObjectInputStream oIn = null;
+        ByteArrayInputStream in = new ByteArrayInputStream( out.toByteArray() );
+
+        try
+        {
+            oIn = new ObjectInputStream( in );
+
+            LdapDN dn = ( LdapDN ) oIn.readObject();
+            
+            return dn;
+        }
+        catch ( IOException ioe )
+        {
+            throw ioe;
+        }
+        finally
+        {
+            try
+            {
+                if ( oIn != null )
+                {
+                    oIn.close();
+                }
+            }
+            catch ( IOException ioe )
+            {
+                throw ioe;
+            }
+        }
+    }
+
+    
+    /**
+     * Test the serialization of a DN
+     *
+     * @throws Exception
+     */
+    @Test public void testNameSerialization() throws Exception
+    {
+        LdapDN dn = new LdapDN( "ou= Some   People   + dc=  And   Some anImAls,dc = eXample,dc=
cOm" );
+        dn.normalize( oids );
+
+        assertEquals( dn, deserializeDN( serializeDN( dn ) ) );
+    }
+
+
+    @Test public void testSerializeEmptyDN() throws Exception
+    {
+        LdapDN dn = LdapDN.EMPTY_LDAPDN;
+        
+        assertEquals( dn, deserializeDN( serializeDN( dn ) ) );
     }
 }



Mime
View raw message