You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2008/03/29 06:44:16 UTC

svn commit: r642509 - in /directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl: CursorBuilder.java EvaluatorBuilder.java ExpressionCursorBuilder.java ExpressionEvaluatorBuilder.java

Author: akarasulu
Date: Fri Mar 28 22:44:12 2008
New Revision: 642509

URL: http://svn.apache.org/viewvc?rev=642509&view=rev
Log:
Cleaning up useless Builder interfaces, and filling in EvaluatorBuilder with new
Evaluators created on last commit.

Added:
    directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/CursorBuilder.java
      - copied, changed from r642507, directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/ExpressionCursorBuilder.java
    directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/EvaluatorBuilder.java
      - copied, changed from r642507, directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/ExpressionEvaluatorBuilder.java
Removed:
    directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/ExpressionCursorBuilder.java
    directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/ExpressionEvaluatorBuilder.java

Copied: directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/CursorBuilder.java (from r642507, directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/ExpressionCursorBuilder.java)
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/CursorBuilder.java?p2=directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/CursorBuilder.java&p1=directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/ExpressionCursorBuilder.java&r1=642507&r2=642509&rev=642509&view=diff
==============================================================================
--- directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/ExpressionCursorBuilder.java (original)
+++ directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/CursorBuilder.java Fri Mar 28 22:44:12 2008
@@ -58,14 +58,14 @@
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  * @version $Rev$
  */
-public class ExpressionCursorBuilder<E> implements CursorBuilder<E>
+public class CursorBuilder<E>
 {
     /** The database used by this enumerator */
     private Store<E> db = null;
     /** CursorBuilder flyweight for evaulating filter scope assertions */
     private ScopeCursorBuilder<E> scopeEnumerator;
-    /** Evaluator dependency on a ExpressionEvaluatorBuilder */
-    private ExpressionEvaluatorBuilder<Attributes> evaluatorBuilder;
+    /** Evaluator dependency on a EvaluatorBuilder */
+    private EvaluatorBuilder<Attributes> evaluatorBuilder;
 
 
     /**
@@ -74,8 +74,8 @@
      * @param db database used by this enumerator
      * @param evaluatorBuilder
      */
-    public ExpressionCursorBuilder(BTreePartition db, AttributeTypeRegistry attributeTypeRegistry,
-        ExpressionEvaluatorBuilder evaluatorBuilder )
+    public CursorBuilder(BTreePartition db, AttributeTypeRegistry attributeTypeRegistry,
+        EvaluatorBuilder evaluatorBuilder )
     {
         this.db = db;
         this.evaluatorBuilder = evaluatorBuilder;

Copied: directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/EvaluatorBuilder.java (from r642507, directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/ExpressionEvaluatorBuilder.java)
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/EvaluatorBuilder.java?p2=directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/EvaluatorBuilder.java&p1=directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/ExpressionEvaluatorBuilder.java&r1=642507&r2=642509&rev=642509&view=diff
==============================================================================
--- directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/ExpressionEvaluatorBuilder.java (original)
+++ directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/EvaluatorBuilder.java Fri Mar 28 22:44:12 2008
@@ -37,7 +37,7 @@
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  * @version $Rev$
  */
-public class ExpressionEvaluatorBuilder implements EvaluatorBuilder<Attributes>
+public class EvaluatorBuilder
 {
     private final Store<Attributes> db;
     private final Registries registries;
@@ -56,25 +56,19 @@
      * @param registries the schema registries
      * @throws Exception failure to access db or lookup schema in registries
      */
-    public ExpressionEvaluatorBuilder( Store<Attributes> db, Registries registries ) throws Exception
+    public EvaluatorBuilder( Store<Attributes> db, Registries registries ) throws Exception
     {
         this.db = db;
         this.registries = registries;
     }
 
 
-    // ------------------------------------------------------------------------
-    // EvaluatorBuilder.build() implementation
-    // ------------------------------------------------------------------------
-
-
-    /**
-     * @see EvaluatorBuilder#build(ExprNode)
-     */
     public Evaluator<? extends ExprNode, Attributes> build( ExprNode node ) throws Exception
     {
         switch ( node.getAssertionType() )
         {
+                /* ---------- LEAF NODE HANDLING ---------- */
+
             case APPROXIMATE:
                 return new ApproximateEvaluator( ( ApproximateNode ) node, db, registries );
             case EQUALITY:
@@ -96,7 +90,7 @@
             case AND:
                 return buildAndEvaluator( ( AndNode ) node );
             case NOT:
-                throw new NotImplementedException();
+                return new NotEvaluator( ( NotNode ) node, build( ( ( NotNode ) node).getFirstChild() ) );
             case OR:
                 return buildOrEvaluator( ( OrNode ) node );
 
@@ -109,46 +103,6 @@
             default:
                 throw new IllegalStateException( "Unknown assertion type: " + node.getAssertionType() );
         }
-
-//        BranchNode bnode = ( BranchNode ) node;
-//
-//        if ( bnode instanceof OrNode )
-//        {
-//            for ( ExprNode child:bnode.getChildren() )
-//            {
-//                if ( evaluate( child, entry ) )
-//                {
-//                    return true;
-//                }
-//            }
-//
-//            return false;
-//        }
-//        else if ( bnode instanceof AndNode )
-//        {
-//            for ( ExprNode child:bnode.getChildren() )
-//            {
-//                if ( !evaluate( child, entry ) )
-//                {
-//                    return false;
-//                }
-//            }
-//
-//            return true;
-//        }
-//        else if ( bnode instanceof NotNode )
-//        {
-//            if ( null != bnode.getFirstChild() )
-//            {
-//                return !evaluate( bnode.getFirstChild(), entry );
-//            }
-//
-//            throw new NamingException( "Negation has no child: " + node );
-//        }
-//        else
-//        {
-//                throw new NamingException( "Unrecognized branch node operator: " + bnode );
-//        }
     }