You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vxquery.apache.org by ti...@apache.org on 2010/01/19 00:12:48 UTC
svn commit: r900602 - in
/incubator/vxquery/trunk/vxquery/src/main/java/org/apache/vxquery:
datamodel/atomic/compare/ComparisonUtils.java
runtime/functions/AbstractValueComparisonIterator.java
runtime/functions/FnIndexOfIterator.java
Author: tillw
Date: Mon Jan 18 23:12:48 2010
New Revision: 900602
URL: http://svn.apache.org/viewvc?rev=900602&view=rev
Log:
- minor refactoring
Modified:
incubator/vxquery/trunk/vxquery/src/main/java/org/apache/vxquery/datamodel/atomic/compare/ComparisonUtils.java
incubator/vxquery/trunk/vxquery/src/main/java/org/apache/vxquery/runtime/functions/AbstractValueComparisonIterator.java
incubator/vxquery/trunk/vxquery/src/main/java/org/apache/vxquery/runtime/functions/FnIndexOfIterator.java
Modified: incubator/vxquery/trunk/vxquery/src/main/java/org/apache/vxquery/datamodel/atomic/compare/ComparisonUtils.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/src/main/java/org/apache/vxquery/datamodel/atomic/compare/ComparisonUtils.java?rev=900602&r1=900601&r2=900602&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/src/main/java/org/apache/vxquery/datamodel/atomic/compare/ComparisonUtils.java (original)
+++ incubator/vxquery/trunk/vxquery/src/main/java/org/apache/vxquery/datamodel/atomic/compare/ComparisonUtils.java Mon Jan 18 23:12:48 2010
@@ -41,7 +41,6 @@
import org.apache.vxquery.datamodel.atomic.UntypedAtomicValue;
import org.apache.vxquery.exceptions.ErrorCode;
import org.apache.vxquery.exceptions.SystemException;
-import org.apache.vxquery.runtime.CallStackFrame;
import org.apache.vxquery.runtime.RuntimeControlBlock;
import org.apache.vxquery.types.AtomicType;
import org.apache.vxquery.types.BuiltinTypeConstants;
@@ -100,13 +99,12 @@
}
}
- public static Boolean valueCompare(CallStackFrame frame, final XDMAtomicValue v1, final XDMAtomicValue v2,
+ public static Boolean valueCompare(RuntimeControlBlock rcb, final XDMAtomicValue v1, final XDMAtomicValue v2,
ValueComparator vComp, Collation collation) throws SystemException {
final AtomicType t1 = v1.getAtomicType();
final AtomicType t2 = v2.getAtomicType();
final int tid1 = ComparisonUtils.getBaseTypeForValueComparison(t1.getTypeId());
final int tid2 = ComparisonUtils.getBaseTypeForValueComparison(t2.getTypeId());
- final RuntimeControlBlock rcb = frame.getRuntimeControlBlock();
final AtomicValueFactory avf = rcb.getAtomicValueFactory();
switch (tid1) {
case BuiltinTypeConstants.XS_UNTYPED_ATOMIC_TYPE_ID:
Modified: incubator/vxquery/trunk/vxquery/src/main/java/org/apache/vxquery/runtime/functions/AbstractValueComparisonIterator.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/src/main/java/org/apache/vxquery/runtime/functions/AbstractValueComparisonIterator.java?rev=900602&r1=900601&r2=900602&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/src/main/java/org/apache/vxquery/runtime/functions/AbstractValueComparisonIterator.java (original)
+++ incubator/vxquery/trunk/vxquery/src/main/java/org/apache/vxquery/runtime/functions/AbstractValueComparisonIterator.java Mon Jan 18 23:12:48 2010
@@ -25,6 +25,7 @@
import org.apache.vxquery.functions.Function;
import org.apache.vxquery.runtime.CallStackFrame;
import org.apache.vxquery.runtime.RegisterAllocator;
+import org.apache.vxquery.runtime.RuntimeControlBlock;
import org.apache.vxquery.runtime.base.AbstractEagerlyEvaluatedFunctionIterator;
import org.apache.vxquery.runtime.base.RuntimeIterator;
@@ -44,12 +45,13 @@
if (v2 == null) {
return null;
}
- Boolean res = ComparisonUtils.valueCompare(frame, v1, v2, getComparator(), frame.getRuntimeControlBlock()
+ final RuntimeControlBlock rcb = frame.getRuntimeControlBlock();
+ Boolean res = ComparisonUtils.valueCompare(rcb, v1, v2, getComparator(), rcb
.getDefaultCollation());
if (res == null) {
throw new SystemException(ErrorCode.XPTY0004);
}
- return frame.getRuntimeControlBlock().getAtomicValueFactory().createBoolean(res);
+ return rcb.getAtomicValueFactory().createBoolean(res);
}
protected abstract ValueComparator getComparator();
Modified: incubator/vxquery/trunk/vxquery/src/main/java/org/apache/vxquery/runtime/functions/FnIndexOfIterator.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/src/main/java/org/apache/vxquery/runtime/functions/FnIndexOfIterator.java?rev=900602&r1=900601&r2=900602&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/src/main/java/org/apache/vxquery/runtime/functions/FnIndexOfIterator.java (original)
+++ incubator/vxquery/trunk/vxquery/src/main/java/org/apache/vxquery/runtime/functions/FnIndexOfIterator.java Mon Jan 18 23:12:48 2010
@@ -30,6 +30,7 @@
import org.apache.vxquery.runtime.CallStackFrame;
import org.apache.vxquery.runtime.LocalRegisterAccessor;
import org.apache.vxquery.runtime.RegisterAllocator;
+import org.apache.vxquery.runtime.RuntimeControlBlock;
import org.apache.vxquery.runtime.RuntimeUtils;
import org.apache.vxquery.runtime.base.AbstractLazilyEvaluatedFunctionIterator;
import org.apache.vxquery.runtime.base.RuntimeIterator;
@@ -54,19 +55,19 @@
@Override
public Object next(CallStackFrame frame) throws SystemException {
+ final RuntimeControlBlock rcb = frame.getRuntimeControlBlock();
if (value.get(frame) == null) {
value.set(frame, (XDMAtomicValue) arguments[1].next(frame));
Collation c;
if (arguments.length > 2) {
XDMItem cv = RuntimeUtils.fetchItemEagerly(arguments[2], frame);
String collationName = cv.getStringValue().toString();
- c = frame.getRuntimeControlBlock().getDynamicContext().getStaticContext()
- .lookupCollation(collationName);
+ c = rcb.getDynamicContext().getStaticContext().lookupCollation(collationName);
if (c == null) {
throw new SystemException(ErrorCode.FOCH0002);
}
} else {
- c = frame.getRuntimeControlBlock().getDefaultCollation();
+ c = rcb.getDefaultCollation();
}
collation.set(frame, c);
}
@@ -77,10 +78,10 @@
}
BigInteger idx = index.get(frame).add(BigInteger.ONE);
index.set(frame, idx);
- Boolean res = ComparisonUtils.valueCompare(frame, v, value.get(frame), ValueEqComparator.INSTANCE,
+ Boolean res = ComparisonUtils.valueCompare(rcb, v, value.get(frame), ValueEqComparator.INSTANCE,
collation.get(frame));
if (res != null && res) {
- return frame.getRuntimeControlBlock().getAtomicValueFactory().createInteger(idx);
+ return rcb.getAtomicValueFactory().createInteger(idx);
}
}
}