[Mulgara-svn] r686 - branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter

pag at mulgara.org pag at mulgara.org
Mon Mar 17 22:06:43 UTC 2008


Author: pag
Date: 2008-03-17 15:06:42 -0700 (Mon, 17 Mar 2008)
New Revision: 686

Modified:
   branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/And.java
   branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/BinaryComparisonFilter.java
   branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/BinaryOperatorFilter.java
   branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/BinaryTestFilter.java
   branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/BoundFn.java
   branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/Equals.java
   branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/GreaterThan.java
   branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/GreaterThanEqualTo.java
   branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/LessThan.java
   branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/LessThanEqualTo.java
   branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/NotEquals.java
   branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/Or.java
Log:
Refactored context owners to set the context owner in a single parent class, rather than in every test method

Modified: branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/And.java
===================================================================
--- branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/And.java	2008-03-17 22:05:40 UTC (rev 685)
+++ branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/And.java	2008-03-17 22:06:42 UTC (rev 686)
@@ -38,8 +38,7 @@
    * <code>true</code> and Exception is Exception.
    * @see org.mulgara.query.filter.Filter#test()
    */
-  public boolean test(Context context) throws QueryException {
-    setCurrentContext(context);
+  boolean testOp(Context context) throws QueryException {
     boolean result = false;
     try {
       result = lhs.test(context);

Modified: branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/BinaryComparisonFilter.java
===================================================================
--- branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/BinaryComparisonFilter.java	2008-03-17 22:05:40 UTC (rev 685)
+++ branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/BinaryComparisonFilter.java	2008-03-17 22:06:42 UTC (rev 686)
@@ -11,6 +11,7 @@
  */
 package org.mulgara.query.filter;
 
+import org.mulgara.query.QueryException;
 import org.mulgara.query.filter.value.ComparableExpression;
 
 
@@ -41,4 +42,20 @@
     lhs.setContextOwner(this);
     rhs.setContextOwner(this);
   }
+
+  /**
+   * @see org.mulgara.query.filter.Filter#test()
+   */
+  public boolean test(Context context) throws QueryException {
+    setCurrentContext(context);
+    return testCmp();
+  }
+
+  /**
+   * A comparison specific function.
+   * @return <code>true</code> iff the comparison passes.
+   * @throws QueryException If there was an error resolving the parameters of the comparison.
+   */
+  abstract boolean testCmp() throws QueryException;
+
 }

Modified: branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/BinaryOperatorFilter.java
===================================================================
--- branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/BinaryOperatorFilter.java	2008-03-17 22:05:40 UTC (rev 685)
+++ branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/BinaryOperatorFilter.java	2008-03-17 22:06:42 UTC (rev 686)
@@ -11,7 +11,9 @@
  */
 package org.mulgara.query.filter;
 
+import org.mulgara.query.QueryException;
 
+
 /**
  * Represents a filter that takes other filters as parameters.
  *
@@ -38,4 +40,17 @@
     this.rhs = rhs;
   }
 
+  /** @see org.mulgara.query.filter.Filter#test(org.mulgara.query.filter.Context) */
+  public boolean test(Context context) throws QueryException {
+    setCurrentContext(context);
+    return testOp(context);
+  }
+
+  /**
+   * An operation specific test.
+   * @param context The context to resolve the test in.
+   * @return <code>true</code> if the operation passes.
+   * @throws QueryException If there was an <em>unrecoverable</em> error resolving the operands 
+   */
+  abstract boolean testOp(Context context) throws QueryException;
 }

Modified: branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/BinaryTestFilter.java
===================================================================
--- branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/BinaryTestFilter.java	2008-03-17 22:05:40 UTC (rev 685)
+++ branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/BinaryTestFilter.java	2008-03-17 22:06:42 UTC (rev 686)
@@ -11,6 +11,7 @@
  */
 package org.mulgara.query.filter;
 
+import org.mulgara.query.QueryException;
 import org.mulgara.query.filter.value.RDFTerm;
 
 
@@ -42,4 +43,19 @@
     rhs.setContextOwner(this);
   }
 
+  /**
+   * @see org.mulgara.query.filter.Filter#test()
+   */
+  public boolean test(Context context) throws QueryException {
+    setCurrentContext(context);
+    return testCmp();
+  }
+
+  /**
+   * A test specific comparison.
+   * @return <code>true</code> iff the test passes.
+   * @throws QueryException If there was an error resolving the operands
+   */
+  abstract boolean testCmp() throws QueryException;
+
 }

Modified: branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/BoundFn.java
===================================================================
--- branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/BoundFn.java	2008-03-17 22:05:40 UTC (rev 685)
+++ branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/BoundFn.java	2008-03-17 22:06:42 UTC (rev 686)
@@ -18,31 +18,24 @@
 /**
  * Tests a variable to see if it is bound.
  *
- * @created Mar 16, 2008
+ * @created Mar 17, 2008
  * @author Paul Gearon
  * @copyright &copy; 2008 <a href="mailto:pgearon at users.sourceforge.net">Paul Gearon</a>
  * @licence <a href="{@docRoot}/../../LICENCE.txt">Open Software License v3.0</a>
  */
-public class BoundFn extends AbstractContextOwner implements Filter {
+public class BoundFn extends AbstractBooleanFn {
 
-  /** The variable to test */
-  Var operand;
-
   /**
    * Create a function for testing a variable
    * @param The variable to test
    */
   public BoundFn(Var operand) {
-    this.operand = operand;
-    operand.setContextOwner(this);
+    super(operand);
   }
 
-  /**
-   * @see org.mulgara.query.filter.Filter#test()
-   */
-  public boolean test(Context context) throws QueryException {
-    setCurrentContext(context);
-    return operand.isBound();
+  /** @see org.mulgara.query.filter.AbstractBooleanFn#fnTest() */
+  boolean fnTest() throws QueryException {
+    return ((Var)operand).isBound();
   }
 
 }

Modified: branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/Equals.java
===================================================================
--- branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/Equals.java	2008-03-17 22:05:40 UTC (rev 685)
+++ branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/Equals.java	2008-03-17 22:06:42 UTC (rev 686)
@@ -34,11 +34,8 @@
     super(lhs, rhs);
   }
 
-  /**
-   * @see org.mulgara.query.filter.Filter#test()
-   */
-  public boolean test(Context context) throws QueryException {
-    setCurrentContext(context);
+  /** @see org.mulgara.query.filter.BinaryTestFilter#testCmp() */
+  boolean testCmp() throws QueryException {
     return lhs.equals(rhs);
   }
 

Modified: branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/GreaterThan.java
===================================================================
--- branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/GreaterThan.java	2008-03-17 22:05:40 UTC (rev 685)
+++ branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/GreaterThan.java	2008-03-17 22:06:42 UTC (rev 686)
@@ -29,11 +29,8 @@
     super(lhs, rhs);
   }
 
-  /**
-   * @see org.mulgara.query.filter.Filter#test()
-   */
-  public boolean test(Context context) throws QueryException {
-    setCurrentContext(context);
+  /** @see org.mulgara.query.filter.BinaryComparisonFilter#testCmp() */
+  boolean testCmp() throws QueryException {
     return lhs.greaterThan(rhs);
   }
 

Modified: branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/GreaterThanEqualTo.java
===================================================================
--- branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/GreaterThanEqualTo.java	2008-03-17 22:05:40 UTC (rev 685)
+++ branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/GreaterThanEqualTo.java	2008-03-17 22:06:42 UTC (rev 686)
@@ -29,11 +29,8 @@
     super(lhs, rhs);
   }
 
-  /**
-   * @see org.mulgara.query.filter.Filter#test()
-   */
-  public boolean test(Context context) throws QueryException {
-    setCurrentContext(context);
+  /** @see org.mulgara.query.filter.BinaryComparisonFilter#testCmp() */
+  boolean testCmp() throws QueryException {
     return lhs.greaterThanEqualTo(rhs);
   }
 

Modified: branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/LessThan.java
===================================================================
--- branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/LessThan.java	2008-03-17 22:05:40 UTC (rev 685)
+++ branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/LessThan.java	2008-03-17 22:06:42 UTC (rev 686)
@@ -29,11 +29,8 @@
     super(lhs, rhs);
   }
 
-  /**
-   * @see org.mulgara.query.filter.Filter#test()
-   */
-  public boolean test(Context context) throws QueryException {
-    setCurrentContext(context);
+  /** @see org.mulgara.query.filter.BinaryComparisonFilter#testCmp() */
+  boolean testCmp() throws QueryException {
     return lhs.lessThan(rhs);
   }
 

Modified: branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/LessThanEqualTo.java
===================================================================
--- branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/LessThanEqualTo.java	2008-03-17 22:05:40 UTC (rev 685)
+++ branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/LessThanEqualTo.java	2008-03-17 22:06:42 UTC (rev 686)
@@ -29,11 +29,8 @@
     super(lhs, rhs);
   }
 
-  /**
-   * @see org.mulgara.query.filter.Filter#test()
-   */
-  public boolean test(Context context) throws QueryException {
-    setCurrentContext(context);
+  /** @see org.mulgara.query.filter.BinaryComparisonFilter#testCmp() */
+  boolean testCmp() throws QueryException {
     return lhs.lessThanEqualTo(rhs);
   }
 

Modified: branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/NotEquals.java
===================================================================
--- branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/NotEquals.java	2008-03-17 22:05:40 UTC (rev 685)
+++ branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/NotEquals.java	2008-03-17 22:06:42 UTC (rev 686)
@@ -35,11 +35,8 @@
     super(lhs, rhs);
   }
 
-  /**
-   * @see org.mulgara.query.filter.Filter#test()
-   */
-  public boolean test(Context context) throws QueryException {
-    setCurrentContext(context);
+  /** @see org.mulgara.query.filter.BinaryTestFilter#testCmp() */
+  boolean testCmp() throws QueryException {
     return lhs.notEquals(rhs);
   }
 

Modified: branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/Or.java
===================================================================
--- branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/Or.java	2008-03-17 22:05:40 UTC (rev 685)
+++ branches/mgr-61-sparql/src/jar/query/java/org/mulgara/query/filter/Or.java	2008-03-17 22:06:42 UTC (rev 686)
@@ -38,8 +38,7 @@
    * <code>false</code> or Exception is Exception.
    * @see org.mulgara.query.filter.Filter#test()
    */
-  public boolean test(Context context) throws QueryException {
-    setCurrentContext(context);
+  boolean testOp(Context context) throws QueryException {
     boolean result;
     try {
       result = lhs.test(context);




More information about the Mulgara-svn mailing list