You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2011/07/07 19:30:33 UTC

svn commit: r1143929 - in /directory/apacheds/trunk: jdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/ xdbm-partition/src/main/java/org/apache/directory/server/xdbm/

Author: elecharny
Date: Thu Jul  7 17:30:33 2011
New Revision: 1143929

URL: http://svn.apache.org/viewvc?rev=1143929&view=rev
Log:
o Improved the buildEntryDn() method
o Added some comments and Javadoc

Modified:
    directory/apacheds/trunk/jdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStore.java
    directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/AbstractStore.java
    directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/Store.java

Modified: directory/apacheds/trunk/jdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStore.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/jdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStore.java?rev=1143929&r1=1143928&r2=1143929&view=diff
==============================================================================
--- directory/apacheds/trunk/jdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStore.java (original)
+++ directory/apacheds/trunk/jdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStore.java Thu Jul  7 17:30:33 2011
@@ -86,6 +86,9 @@ public class JdbmStore<E> extends Abstra
     // -----------------------------------------------------------------------
     // C O N F I G U R A T I O N   M E T H O D S
     // -----------------------------------------------------------------------
+    /**
+     * {@inheritDoc}}
+     */
     public Long getDefaultId()
     {
         return 1L;

Modified: directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/AbstractStore.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/AbstractStore.java?rev=1143929&r1=1143928&r2=1143929&view=diff
==============================================================================
--- directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/AbstractStore.java (original)
+++ directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/AbstractStore.java Thu Jul  7 17:30:33 2011
@@ -205,6 +205,9 @@ public abstract class AbstractStore<E, I
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public int getCacheSize()
     {
         return cacheSize;
@@ -1103,7 +1106,14 @@ public abstract class AbstractStore<E, I
     @SuppressWarnings("unchecked")
     public synchronized void delete( ID id ) throws Exception
     {
+        // First get the entry
         Entry entry = master.get( id );
+        
+        if ( entry == null )
+        {
+            // Not allowed
+            throw new LdapNoSuchObjectException( "Cannot find an entry for ID " + id );
+        }
 
         Attribute objectClass = entry.get( OBJECT_CLASS_AT );
 
@@ -1112,17 +1122,20 @@ public abstract class AbstractStore<E, I
             dropAliasIndices( id );
         }
 
+        // Update the ObjectClass index
         for ( Value<?> value : objectClass )
         {
             objectClassIdx.drop( value.getString(), id );
         }
 
+        // Update the rdn, oneLevel, subLevel, entryCsn and entryUuid indexes
         rdnIdx.drop( id );
         oneLevelIdx.drop( id );
         subLevelIdx.drop( id );
         entryCsnIdx.drop( id );
         entryUuidIdx.drop( id );
 
+        // Update the user indexes
         for ( Attribute attribute : entry )
         {
             String attributeOid = attribute.getAttributeType().getOid();
@@ -1446,10 +1459,10 @@ public abstract class AbstractStore<E, I
     protected Dn buildEntryDn( ID id ) throws Exception
     {
         ID parentId = id;
+        ID rootId = getRootId();
 
-        List<Rdn> rdnList = new ArrayList<Rdn>();
         StringBuilder upName = new StringBuilder();
-        String normName = "";
+        boolean isFirst = true;
 
         do
         {
@@ -1458,23 +1471,21 @@ public abstract class AbstractStore<E, I
 
             for ( Rdn rdn : rdns )
             {
-                if ( rdnList.isEmpty() )
+                if ( isFirst )
                 {
-                    normName = rdn.getNormName();
-                    upName.append( rdn.getName() );
+                    isFirst = false;
                 }
                 else
                 {
-                    normName = normName + "," + rdn.getNormName();
-                    upName.append( ',' ).append( rdn.getName() );
+                    upName.append( ',' );
                 }
-
-                rdnList.add( rdn );
+                
+                upName.append( rdn.getName() );
             }
 
             parentId = cur.getParentId();
         }
-        while ( !parentId.equals( getRootId() ) );
+        while ( !parentId.equals( rootId ) );
 
         Dn dn = new Dn( schemaManager, upName.toString() );
 

Modified: directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/Store.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/Store.java?rev=1143929&r1=1143928&r2=1143929&view=diff
==============================================================================
--- directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/Store.java (original)
+++ directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/Store.java Thu Jul  7 17:30:33 2011
@@ -447,9 +447,10 @@ public interface Store<E, ID extends Com
 
 
     /**
-     * Gets the normalized Dn of the entry identified by the given id.
+     * Gets the Entry's Dn identified by the given id.
+     * 
      * @param id the entry's id
-     * @return the normalized entry Dn
+     * @return the entry's Dn
      */
     Dn getEntryDn( ID id ) throws Exception;