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);
             }
         }
     }