Use a String for the Partitions data structure instead of a DN.

git-svn-id: https://svn.apache.org/repos/asf/directory/apacheds/trunk@1749720 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/core-api/src/main/java/org/apache/directory/server/core/api/partition/PartitionNexus.java b/core-api/src/main/java/org/apache/directory/server/core/api/partition/PartitionNexus.java
index 9ce96c3..f648618 100644
--- a/core-api/src/main/java/org/apache/directory/server/core/api/partition/PartitionNexus.java
+++ b/core-api/src/main/java/org/apache/directory/server/core/api/partition/PartitionNexus.java
@@ -83,7 +83,7 @@
      * @param partitionDn the partition Dn
      * @throws Exception If the removal can't be done
      */
-    void removeContextPartition( Dn partitionDn ) throws LdapException;
+    void removeContextPartition( String partitionDn ) throws LdapException;
 
 
     /**
diff --git a/core-shared/src/main/java/org/apache/directory/server/core/shared/partition/DefaultPartitionNexus.java b/core-shared/src/main/java/org/apache/directory/server/core/shared/partition/DefaultPartitionNexus.java
index 6e13bc4..5b1ee92 100644
--- a/core-shared/src/main/java/org/apache/directory/server/core/shared/partition/DefaultPartitionNexus.java
+++ b/core-shared/src/main/java/org/apache/directory/server/core/shared/partition/DefaultPartitionNexus.java
@@ -284,7 +284,7 @@
         {
             try
             {
-                removeContextPartition( directoryService.getDnFactory().create( suffix ) );
+                removeContextPartition( suffix );
             }
             catch ( Exception e )
             {
@@ -840,18 +840,15 @@
     /**
      * {@inheritDoc}
      */
-    public synchronized void removeContextPartition( Dn partitionDn )
+    public synchronized void removeContextPartition( String partitionDn )
         throws LdapException
     {
-        // Get the Partition name. It's a Dn.
-        String key = partitionDn.getNormName();
-
         // Retrieve this partition from the aprtition's table
-        Partition partition = partitions.get( key );
+        Partition partition = partitions.get( partitionDn );
 
         if ( partition == null )
         {
-            String msg = I18n.err( I18n.ERR_34, key );
+            String msg = I18n.err( I18n.ERR_34, partitionDn );
             LOG.error( msg );
             throw new LdapNoSuchObjectException( msg );
         }
@@ -870,7 +867,7 @@
             }
             else
             {
-                String msg = I18n.err( I18n.ERR_35, key );
+                String msg = I18n.err( I18n.ERR_35, partitionDn );
                 LOG.error( msg );
                 throw new LdapNoSuchObjectException( msg );
             }
@@ -882,7 +879,7 @@
             partitionLookupTree.remove( partition.getSuffixDn() );
         }
 
-        partitions.remove( key );
+        partitions.remove( partitionDn );
 
         try
         {
diff --git a/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java b/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java
index 8fbad4a..bbe7d78 100644
--- a/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java
+++ b/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java
@@ -910,7 +910,7 @@
             // can be null when called before starting up
             if ( partitionNexus != null )
             {
-                partitionNexus.removeContextPartition( partition.getSuffixDn() );
+                partitionNexus.removeContextPartition( partition.getSuffixDn().getNormName() );
             }
         }
         catch ( LdapException le )