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 2010/07/13 13:42:01 UTC

svn commit: r963683 - in /directory/apacheds/trunk/xdbm-partition/src: main/java/org/apache/directory/server/xdbm/ main/java/org/apache/directory/server/xdbm/search/impl/ test/java/org/apache/directory/server/xdbm/

Author: elecharny
Date: Tue Jul 13 11:42:01 2010
New Revision: 963683

URL: http://svn.apache.org/viewvc?rev=963683&view=rev
Log:
Added the methods getIndex/getSystemIndex/hasIndexOn/hasUserIndexOn/hasSystemIndexOn taking an AttributeType parameter

Modified:
    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
    directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/ApproximateCursor.java
    directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/ApproximateEvaluator.java
    directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/DefaultOptimizer.java
    directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/EqualityCursor.java
    directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/EqualityEvaluator.java
    directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/GreaterEqCursor.java
    directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/GreaterEqEvaluator.java
    directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/LessEqCursor.java
    directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/LessEqEvaluator.java
    directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/PresenceEvaluator.java
    directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/SubstringCursor.java
    directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/SubstringEvaluator.java
    directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/AbstractStoreTest.java

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=963683&r1=963682&r2=963683&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 Tue Jul 13 11:42:01 2010
@@ -425,6 +425,15 @@ public abstract class AbstractStore<E, I
     /**
      * {@inheritDoc}
      */
+    public boolean hasIndexOn( AttributeType attributeType ) throws LdapException
+    {
+        return hasUserIndexOn( attributeType ) || hasSystemIndexOn( attributeType );
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
     public boolean hasUserIndexOn( String id ) throws LdapException
     {
         return userIndices.containsKey( schemaManager.getAttributeTypeRegistry().getOidByName( id ) );
@@ -452,6 +461,15 @@ public abstract class AbstractStore<E, I
     /**
      * {@inheritDoc}
      */
+    public boolean hasSystemIndexOn( AttributeType attributeType ) throws LdapException
+    {
+        return systemIndices.containsKey( attributeType.getOid() );
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
     public Set<Index<?, E, ID>> getUserIndices()
     {
         return new HashSet<Index<?, E, ID>>( userIndices.values() );
@@ -465,7 +483,7 @@ public abstract class AbstractStore<E, I
     {
         try
         {
-            id = schemaManager.getAttributeTypeRegistry().getOidByName( id );
+            return getIndex( schemaManager.lookupAttributeTypeRegistry( id) );
         }
         catch ( LdapException e )
         {
@@ -473,6 +491,15 @@ public abstract class AbstractStore<E, I
             LOG.error( msg, e );
             throw new IndexNotFoundException( msg, id, e );
         }
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public Index<?, E, ID> getIndex( AttributeType attributeType ) throws IndexNotFoundException
+    {
+        String id = attributeType.getOid();
 
         if ( userIndices.containsKey( id ) )
         {
@@ -495,7 +522,7 @@ public abstract class AbstractStore<E, I
     {
         try
         {
-            id = schemaManager.getAttributeTypeRegistry().getOidByName( id );
+            return getUserIndex( schemaManager.lookupAttributeTypeRegistry( id ) );
         }
         catch ( LdapException e )
         {
@@ -503,6 +530,15 @@ public abstract class AbstractStore<E, I
             LOG.error( msg, e );
             throw new IndexNotFoundException( msg, id, e );
         }
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public Index<?, E, ID> getUserIndex( AttributeType attributeType ) throws IndexNotFoundException
+    {
+        String id = attributeType.getOid();
 
         if ( userIndices.containsKey( id ) )
         {
@@ -520,7 +556,7 @@ public abstract class AbstractStore<E, I
     {
         try
         {
-            id = schemaManager.getAttributeTypeRegistry().getOidByName( id );
+            return getSystemIndex( schemaManager.lookupAttributeTypeRegistry( id ) );
         }
         catch ( LdapException e )
         {
@@ -528,6 +564,15 @@ public abstract class AbstractStore<E, I
             LOG.error( msg, e );
             throw new IndexNotFoundException( msg, id, e );
         }
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public Index<?, E, ID> getSystemIndex( AttributeType attributeType ) throws IndexNotFoundException
+    {
+        String id = attributeType.getOid();
 
         if ( systemIndices.containsKey( id ) )
         {

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=963683&r1=963682&r2=963683&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 Tue Jul 13 11:42:01 2010
@@ -341,6 +341,16 @@ public interface Store<E, ID extends Com
 
 
     /**
+     * Tells if an index is already present in the User's <strong>or</strong> System's index list
+     * @param ttributeType The index we are looking for
+     * @return <code>true</code> if the index is already present in the
+     * User's <strong>or</strong> System's index list 
+     * @throws Exception If something went wrong
+     */
+    boolean hasIndexOn( AttributeType attributeType ) throws Exception;
+
+
+    /**
      * Tells if an index is already present in the User's index list
      * @param id The index we are looking for
      * @return <code>true</code> if the index is already present in the
@@ -371,6 +381,16 @@ public interface Store<E, ID extends Com
 
 
     /**
+     * Tells if an index is already present in the System's index list
+     * @param attributeType The index we are looking for
+     * @return <code>true</code> if the index is already present in the
+     * System's index list 
+     * @throws Exception If something went wrong
+     */
+    boolean hasSystemIndexOn( AttributeType attributeType ) throws Exception;
+
+
+    /**
      * Get the user <strong>or</strong> system index associated with the given name
      * @param id The index name we are looking for
      * @return The associated user <strong>or</strong> system index
@@ -380,6 +400,15 @@ public interface Store<E, ID extends Com
 
 
     /**
+     * Get the user <strong>or</strong> system index associated with the given attributeType
+     * @param attributeType The index attributeType we are looking for
+     * @return The associated user <strong>or</strong> system index
+     * @throws IndexNotFoundException If the index does not exist
+     */
+    Index<?, E, ID> getIndex( AttributeType attributeType ) throws IndexNotFoundException;
+
+
+    /**
      * Get the user index associated with the given name
      * @param id The index name we are looking for
      * @return The associated user index
@@ -389,6 +418,15 @@ public interface Store<E, ID extends Com
 
 
     /**
+     * Get the user index associated with the given attributeType
+     * @param attributeType The index attributeType we are looking for
+     * @return The associated user index
+     * @throws IndexNotFoundException If the index does not exist
+     */
+    Index<?, E, ID> getUserIndex( AttributeType attributeType ) throws IndexNotFoundException;
+
+
+    /**
      * Get the system index associated with the given name
      * @param id The index name we are looking for
      * @return The associated system index
@@ -398,6 +436,15 @@ public interface Store<E, ID extends Com
 
 
     /**
+     * Get the system index associated with the given attributeType
+     * @param attributeType The index attributeType we are looking for
+     * @return The associated system index
+     * @throws IndexNotFoundException If the index does not exist
+     */
+    Index<?, E, ID> getSystemIndex( AttributeType attributeType ) throws IndexNotFoundException;
+
+
+    /**
      * Gets the entry's id. Returns <code>null</code> if the DN doesn't exist in this store.
      * Note that the DN must be normalized!
      * @param dn the normalized entry DN

Modified: directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/ApproximateCursor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/ApproximateCursor.java?rev=963683&r1=963682&r2=963683&view=diff
==============================================================================
--- directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/ApproximateCursor.java (original)
+++ directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/ApproximateCursor.java Tue Jul 13 11:42:01 2010
@@ -29,6 +29,7 @@ import org.apache.directory.server.xdbm.
 import org.apache.directory.shared.ldap.cursor.InvalidCursorPositionException;
 import org.apache.directory.shared.ldap.entry.Entry;
 import org.apache.directory.shared.ldap.entry.Value;
+import org.apache.directory.shared.ldap.schema.AttributeType;
 
 
 /**
@@ -64,11 +65,12 @@ public class ApproximateCursor<V, ID ext
     {
         this.approximateEvaluator = approximateEvaluator;
 
-        String attribute = approximateEvaluator.getExpression().getAttribute();
+        AttributeType attributeType = approximateEvaluator.getExpression().getAttributeType();
         Value<V> value = approximateEvaluator.getExpression().getValue();
-        if ( db.hasIndexOn( attribute ) )
+        
+        if ( db.hasIndexOn( attributeType ) )
         {
-            Index<V, Entry, ID> index = ( Index<V, Entry, ID> ) db.getIndex( attribute );
+            Index<V, Entry, ID> index = ( Index<V, Entry, ID> ) db.getIndex( attributeType );
             userIdxCursor = index.forwardCursor( value.get() );
             ndnIdxCursor = null;
         }

Modified: directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/ApproximateEvaluator.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/ApproximateEvaluator.java?rev=963683&r1=963682&r2=963683&view=diff
==============================================================================
--- directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/ApproximateEvaluator.java (original)
+++ directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/ApproximateEvaluator.java Tue Jul 13 11:42:01 2010
@@ -63,9 +63,9 @@ public class ApproximateEvaluator<T, ID 
         this.node = node;
         this.schemaManager = schemaManager;
 
-        if ( db.hasIndexOn( node.getAttribute() ) )
+        if ( db.hasIndexOn( node.getAttributeType() ) )
         {
-            idx = ( Index<T, Entry, ID> ) db.getIndex( node.getAttribute() );
+            idx = ( Index<T, Entry, ID> ) db.getIndex( node.getAttributeType() );
             type = null;
             normalizer = null;
             ldapComparator = null;

Modified: directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/DefaultOptimizer.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/DefaultOptimizer.java?rev=963683&r1=963682&r2=963683&view=diff
==============================================================================
--- directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/DefaultOptimizer.java (original)
+++ directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/DefaultOptimizer.java Tue Jul 13 11:42:01 2010
@@ -274,9 +274,9 @@ public class DefaultOptimizer<E, ID exte
     @SuppressWarnings("unchecked")
     private <V> long getEqualityScan( SimpleNode<V> node ) throws Exception
     {
-        if ( db.hasIndexOn( node.getAttribute() ) )
+        if ( db.hasIndexOn( node.getAttributeType() ) )
         {
-            Index<V, E, ID> idx = ( Index<V, E, ID> ) db.getIndex( node.getAttribute() );
+            Index<V, E, ID> idx = ( Index<V, E, ID> ) db.getIndex( node.getAttributeType() );
             return idx.count( node.getValue().get() );
         }
 
@@ -297,9 +297,9 @@ public class DefaultOptimizer<E, ID exte
     @SuppressWarnings("unchecked")
     private <V> long getGreaterLessScan( SimpleNode<V> node, boolean isGreaterThan ) throws Exception
     {
-        if ( db.hasIndexOn( node.getAttribute() ) )
+        if ( db.hasIndexOn( node.getAttributeType() ) )
         {
-            Index<V, E, ID> idx = ( Index<V, E, ID> ) db.getIndex( node.getAttribute() );
+            Index<V, E, ID> idx = ( Index<V, E, ID> ) db.getIndex( node.getAttributeType() );
             if ( isGreaterThan )
             {
                 return idx.greaterThanCount( node.getValue().get() );
@@ -327,9 +327,9 @@ public class DefaultOptimizer<E, ID exte
     @SuppressWarnings("unchecked")
     private long getFullScan( LeafNode node ) throws Exception
     {
-        if ( db.hasIndexOn( node.getAttribute() ) )
+        if ( db.hasIndexOn( node.getAttributeType() ) )
         {
-            Index idx = db.getIndex( node.getAttribute() );
+            Index idx = db.getIndex( node.getAttributeType() );
             return idx.count();
         }
 
@@ -352,7 +352,7 @@ public class DefaultOptimizer<E, ID exte
             Index<String, E, ID> idx = db.getPresenceIndex();
             return idx.count( node.getAttribute() );
         }
-        else if ( db.hasSystemIndexOn( node.getAttribute() ) )
+        else if ( db.hasSystemIndexOn( node.getAttributeType() ) )
         {
             // the system indices (objectClass, entryUUID, entryCSN) are maintained for
             // each entry, so we could just return the database count

Modified: directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/EqualityCursor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/EqualityCursor.java?rev=963683&r1=963682&r2=963683&view=diff
==============================================================================
--- directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/EqualityCursor.java (original)
+++ directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/EqualityCursor.java Tue Jul 13 11:42:01 2010
@@ -29,6 +29,7 @@ import org.apache.directory.server.xdbm.
 import org.apache.directory.shared.ldap.cursor.InvalidCursorPositionException;
 import org.apache.directory.shared.ldap.entry.Entry;
 import org.apache.directory.shared.ldap.entry.Value;
+import org.apache.directory.shared.ldap.schema.AttributeType;
 
 
 /**
@@ -63,12 +64,12 @@ public class EqualityCursor<V, ID extend
     {
         this.equalityEvaluator = equalityEvaluator;
 
-        String attribute = equalityEvaluator.getExpression().getAttribute();
+        AttributeType attributeType = equalityEvaluator.getExpression().getAttributeType();
         Value<V> value = equalityEvaluator.getExpression().getValue();
         
-        if ( db.hasIndexOn( attribute ) )
+        if ( db.hasIndexOn( attributeType ) )
         {
-            Index<V, Entry, ID> userIndex = ( Index<V, Entry, ID> ) db.getIndex( attribute );
+            Index<V, Entry, ID> userIndex = ( Index<V, Entry, ID> ) db.getIndex( attributeType );
             userIdxCursor = userIndex.forwardCursor( value.get() );
             ndnIdxCursor = null;
         }

Modified: directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/EqualityEvaluator.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/EqualityEvaluator.java?rev=963683&r1=963682&r2=963683&view=diff
==============================================================================
--- directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/EqualityEvaluator.java (original)
+++ directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/EqualityEvaluator.java Tue Jul 13 11:42:01 2010
@@ -76,9 +76,9 @@ public class EqualityEvaluator<T, ID ext
         this.node = node;
         this.schemaManager = schemaManager;
 
-        if ( db.hasIndexOn( node.getAttribute() ) )
+        if ( db.hasIndexOn( node.getAttributeType() ) )
         {
-            idx = ( Index<T, Entry, ID> ) db.getIndex( node.getAttribute() );
+            idx = ( Index<T, Entry, ID> ) db.getIndex( node.getAttributeType() );
             type = null;
             normalizer = null;
             comparator = null;

Modified: directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/GreaterEqCursor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/GreaterEqCursor.java?rev=963683&r1=963682&r2=963683&view=diff
==============================================================================
--- directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/GreaterEqCursor.java (original)
+++ directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/GreaterEqCursor.java Tue Jul 13 11:42:01 2010
@@ -29,6 +29,7 @@ import org.apache.directory.server.xdbm.
 import org.apache.directory.server.xdbm.Store;
 import org.apache.directory.shared.ldap.cursor.InvalidCursorPositionException;
 import org.apache.directory.shared.ldap.entry.Entry;
+import org.apache.directory.shared.ldap.schema.AttributeType;
 
 
 /**
@@ -69,11 +70,11 @@ public class GreaterEqCursor<V, ID exten
     {
         this.greaterEqEvaluator = greaterEqEvaluator;
 
-        String attribute = greaterEqEvaluator.getExpression().getAttribute();
+        AttributeType attributeType = greaterEqEvaluator.getExpression().getAttributeType();
         
-        if ( db.hasIndexOn( attribute ) )
+        if ( db.hasIndexOn( attributeType ) )
         {
-            userIdxCursor = ( ( Index<V, Entry, ID> ) db.getIndex( attribute ) ).forwardCursor();
+            userIdxCursor = ( ( Index<V, Entry, ID> ) db.getIndex( attributeType ) ).forwardCursor();
             ndnIdxCursor = null;
         }
         else

Modified: directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/GreaterEqEvaluator.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/GreaterEqEvaluator.java?rev=963683&r1=963682&r2=963683&view=diff
==============================================================================
--- directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/GreaterEqEvaluator.java (original)
+++ directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/GreaterEqEvaluator.java Tue Jul 13 11:42:01 2010
@@ -64,9 +64,9 @@ public class GreaterEqEvaluator<T, ID ex
         this.schemaManager = schemaManager;
         this.type = node.getAttributeType();
 
-        if ( db.hasIndexOn( node.getAttribute() ) )
+        if ( db.hasIndexOn( node.getAttributeType() ) )
         {
-            idx = ( Index<Object, Entry, ID> ) db.getIndex( node.getAttribute() );
+            idx = ( Index<Object, Entry, ID> ) db.getIndex( node.getAttributeType() );
         }
         else
         {

Modified: directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/LessEqCursor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/LessEqCursor.java?rev=963683&r1=963682&r2=963683&view=diff
==============================================================================
--- directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/LessEqCursor.java (original)
+++ directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/LessEqCursor.java Tue Jul 13 11:42:01 2010
@@ -29,6 +29,7 @@ import org.apache.directory.server.xdbm.
 import org.apache.directory.server.xdbm.Store;
 import org.apache.directory.shared.ldap.cursor.InvalidCursorPositionException;
 import org.apache.directory.shared.ldap.entry.Entry;
+import org.apache.directory.shared.ldap.schema.AttributeType;
 
 
 /**
@@ -69,11 +70,11 @@ public class LessEqCursor<V, ID extends 
     {
         this.lessEqEvaluator = lessEqEvaluator;
 
-        String attribute = lessEqEvaluator.getExpression().getAttribute();
+        AttributeType attributeType = lessEqEvaluator.getExpression().getAttributeType();
         
-        if ( db.hasIndexOn( attribute ) )
+        if ( db.hasIndexOn( attributeType ) )
         {
-            userIdxCursor = ( ( Index<V, Entry, ID> ) db.getIndex( attribute ) ).forwardCursor();
+            userIdxCursor = ( ( Index<V, Entry, ID> ) db.getIndex( attributeType ) ).forwardCursor();
             ndnIdxCursor = null;
         }
         else

Modified: directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/LessEqEvaluator.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/LessEqEvaluator.java?rev=963683&r1=963682&r2=963683&view=diff
==============================================================================
--- directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/LessEqEvaluator.java (original)
+++ directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/LessEqEvaluator.java Tue Jul 13 11:42:01 2010
@@ -64,9 +64,9 @@ public class LessEqEvaluator<T, ID exten
         this.schemaManager = schemaManager;
         this.type = node.getAttributeType();
 
-        if ( db.hasIndexOn( node.getAttribute() ) )
+        if ( db.hasIndexOn( node.getAttributeType() ) )
         {
-            idx = ( Index<T, Entry, ID> ) db.getIndex( node.getAttribute() );
+            idx = ( Index<T, Entry, ID> ) db.getIndex( node.getAttributeType() );
         }
         else
         {

Modified: directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/PresenceEvaluator.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/PresenceEvaluator.java?rev=963683&r1=963682&r2=963683&view=diff
==============================================================================
--- directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/PresenceEvaluator.java (original)
+++ directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/PresenceEvaluator.java Tue Jul 13 11:42:01 2010
@@ -118,7 +118,7 @@ public class PresenceEvaluator<ID extend
     // wrapper or the raw normalized value
     public boolean evaluateEntry( Entry entry ) throws Exception
     {
-        if ( db.hasSystemIndexOn( node.getAttribute() ) )
+        if ( db.hasSystemIndexOn( node.getAttributeType() ) )
         {
             // we don't maintain a presence index for objectClass, entryUUID, and entryCSN
             // however as every entry has such an attribute this evaluator always evaluates to true

Modified: directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/SubstringCursor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/SubstringCursor.java?rev=963683&r1=963682&r2=963683&view=diff
==============================================================================
--- directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/SubstringCursor.java (original)
+++ directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/SubstringCursor.java Tue Jul 13 11:42:01 2010
@@ -51,11 +51,11 @@ public class SubstringCursor<ID extends 
         throws Exception
     {
         evaluator = substringEvaluator;
-        hasIndex = db.hasIndexOn( evaluator.getExpression().getAttribute() );
+        hasIndex = db.hasIndexOn( evaluator.getExpression().getAttributeType() );
 
         if ( hasIndex )
         {
-            wrapped = ( ( Index<String, Entry, ID> ) db.getIndex( evaluator.getExpression().getAttribute() ) )
+            wrapped = ( ( Index<String, Entry, ID> ) db.getIndex( evaluator.getExpression().getAttributeType() ) )
                 .forwardCursor();
         }
         else

Modified: directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/SubstringEvaluator.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/SubstringEvaluator.java?rev=963683&r1=963682&r2=963683&view=diff
==============================================================================
--- directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/SubstringEvaluator.java (original)
+++ directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/SubstringEvaluator.java Tue Jul 13 11:42:01 2010
@@ -111,9 +111,9 @@ public class SubstringEvaluator<ID exten
             regex = null;
         }
 
-        if ( db.hasIndexOn( node.getAttribute() ) )
+        if ( db.hasIndexOn( node.getAttributeType() ) )
         {
-            idx = ( Index<String, Entry, ID> ) db.getIndex( node.getAttribute() );
+            idx = ( Index<String, Entry, ID> ) db.getIndex( node.getAttributeType() );
         }
         else
         {

Modified: directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/AbstractStoreTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/AbstractStoreTest.java?rev=963683&r1=963682&r2=963683&view=diff
==============================================================================
--- directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/AbstractStoreTest.java (original)
+++ directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/AbstractStoreTest.java Tue Jul 13 11:42:01 2010
@@ -72,6 +72,15 @@ public class AbstractStoreTest
     private static Store<Entry, Long> store;
     private static SchemaManager schemaManager = null;
     private static DN EXAMPLE_COM;
+    
+    /** The OU AttributType instance */
+    private static AttributeType OU_AT;
+
+    /** The CN AttributType instance */
+    private static AttributeType CN_AT;
+
+    /** The UID AttributType instance */
+    private static AttributeType UID_AT;
 
 
     @BeforeClass
@@ -102,6 +111,10 @@ public class AbstractStoreTest
 
         EXAMPLE_COM = new DN( "dc=example,dc=com" );
         EXAMPLE_COM.normalize( schemaManager.getNormalizerMapping() );
+        
+        OU_AT = schemaManager.getAttributeType( SchemaConstants.OU_AT );
+        CN_AT = schemaManager.getAttributeType( SchemaConstants.CN_AT );
+        UID_AT = schemaManager.getAttributeType( SchemaConstants.UID_AT );
     }
 
 
@@ -149,9 +162,9 @@ public class AbstractStoreTest
         assertEquals( 11, store.getEntryCsnIndex().count() );
         assertEquals( 11, store.getEntryUuidIndex().count() );
         assertEquals( 3, store.getUserIndices().size() );
-        assertEquals( 9, store.getUserIndex( SchemaConstants.OU_AT_OID ).count() );
-        assertEquals( 0, store.getUserIndex( SchemaConstants.UID_AT_OID ).count() );
-        assertEquals( 6, store.getUserIndex( SchemaConstants.CN_AT_OID ).count() );
+        assertEquals( 9, store.getUserIndex( OU_AT ).count() );
+        assertEquals( 0, store.getUserIndex( UID_AT ).count() );
+        assertEquals( 6, store.getUserIndex( CN_AT ).count() );
     }
 
 
@@ -199,8 +212,7 @@ public class AbstractStoreTest
         dn.normalize( schemaManager.getNormalizerMapping() );
 
         List<Modification> mods = new ArrayList<Modification>();
-        EntryAttribute attrib = new DefaultEntryAttribute( SchemaConstants.OU_AT, schemaManager
-            .lookupAttributeTypeRegistry( SchemaConstants.OU_AT ) );
+        EntryAttribute attrib = new DefaultEntryAttribute( SchemaConstants.OU_AT, OU_AT );
 
         String attribVal = "sales";
         attrib.add( attribVal );
@@ -212,7 +224,7 @@ public class AbstractStoreTest
         Entry lookedup = store.lookup( entryId );
 
         // before modification: expect "sales" tuple in ou index
-        Index<String, Entry, Long> ouIndex = ( Index<String, Entry, Long> ) store.getUserIndex( SchemaConstants.OU_AT );
+        Index<String, Entry, Long> ouIndex = ( Index<String, Entry, Long> ) store.getUserIndex( OU_AT );
         assertTrue( ouIndex.forward( "sales", entryId ) );
         assertTrue( lookedup.get( "ou" ).contains( "sales" ) );
 
@@ -235,8 +247,7 @@ public class AbstractStoreTest
         dn.normalize( schemaManager.getNormalizerMapping() );
 
         List<Modification> mods = new ArrayList<Modification>();
-        EntryAttribute attrib = new DefaultEntryAttribute( SchemaConstants.OU_AT, schemaManager
-            .lookupAttributeTypeRegistry( SchemaConstants.OU_AT ) );
+        EntryAttribute attrib = new DefaultEntryAttribute( SchemaConstants.OU_AT, OU_AT );
 
         Modification add = new DefaultModification( ModificationOperation.REMOVE_ATTRIBUTE, attrib );
         mods.add( add );
@@ -245,7 +256,7 @@ public class AbstractStoreTest
         Entry lookedup = store.lookup( entryId );
 
         // before modification: expect "sales" tuple in ou index
-        Index<String, Entry, Long> ouIndex = ( Index<String, Entry, Long> ) store.getUserIndex( SchemaConstants.OU_AT );
+        Index<String, Entry, Long> ouIndex = ( Index<String, Entry, Long> ) store.getUserIndex( OU_AT );
         assertTrue( store.getPresenceIndex().forward( SchemaConstants.OU_AT_OID, entryId ) );
         assertTrue( ouIndex.forward( "sales", entryId ) );
         assertTrue( lookedup.get( "ou" ).contains( "sales" ) );