[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 © 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