You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vxquery.apache.org by pr...@apache.org on 2013/04/10 00:53:16 UTC
svn commit: r1466279 - in
/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions:
node/ numeric/ unary/ util/
Author: prestonc
Date: Tue Apr 9 22:53:16 2013
New Revision: 1466279
URL: http://svn.apache.org/r1466279
Log:
Some code clean up to use the standard FunctionHelper.TypedPointables class.
Modified:
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/FnNumberScalarEvaluatorFactory.java
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/numeric/AbstractNumericScalarEvaluatorFactory.java
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/numeric/FnRoundHalfToEvenScalarEvaluatorFactory.java
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/unary/AbstractNumericUnaryScalarEvaluatorFactory.java
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/util/FunctionHelper.java
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/FnNumberScalarEvaluatorFactory.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/FnNumberScalarEvaluatorFactory.java?rev=1466279&r1=1466278&r2=1466279&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/FnNumberScalarEvaluatorFactory.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/FnNumberScalarEvaluatorFactory.java Tue Apr 9 22:53:16 2013
@@ -20,27 +20,19 @@ import java.io.DataOutput;
import java.io.IOException;
import org.apache.vxquery.datamodel.accessors.TaggedValuePointable;
-import org.apache.vxquery.datamodel.accessors.atomic.XSDecimalPointable;
import org.apache.vxquery.datamodel.values.ValueTag;
import org.apache.vxquery.exceptions.ErrorCode;
import org.apache.vxquery.exceptions.SystemException;
import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentScalarEvaluator;
import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentScalarEvaluatorFactory;
import org.apache.vxquery.runtime.functions.cast.CastToDoubleOperation;
+import org.apache.vxquery.runtime.functions.util.FunctionHelper;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
import edu.uci.ics.hyracks.algebricks.runtime.base.IScalarEvaluator;
import edu.uci.ics.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
import edu.uci.ics.hyracks.api.context.IHyracksTaskContext;
import edu.uci.ics.hyracks.data.std.api.IPointable;
-import edu.uci.ics.hyracks.data.std.primitive.BooleanPointable;
-import edu.uci.ics.hyracks.data.std.primitive.BytePointable;
-import edu.uci.ics.hyracks.data.std.primitive.DoublePointable;
-import edu.uci.ics.hyracks.data.std.primitive.FloatPointable;
-import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;
-import edu.uci.ics.hyracks.data.std.primitive.LongPointable;
-import edu.uci.ics.hyracks.data.std.primitive.ShortPointable;
-import edu.uci.ics.hyracks.data.std.primitive.UTF8StringPointable;
import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
public class FnNumberScalarEvaluatorFactory extends AbstractTaggedValueArgumentScalarEvaluatorFactory {
@@ -56,7 +48,7 @@ public class FnNumberScalarEvaluatorFact
final ArrayBackedValueStorage abvs = new ArrayBackedValueStorage();
final DataOutput dOut = abvs.getDataOutput();
final CastToDoubleOperation castToDouble = new CastToDoubleOperation();
- final TypedPointables tp = new TypedPointables();
+ final FunctionHelper.TypedPointables tp = new FunctionHelper.TypedPointables();
return new AbstractTaggedValueArgumentScalarEvaluator(args) {
@Override
@@ -138,16 +130,4 @@ public class FnNumberScalarEvaluatorFact
};
}
-
- private static class TypedPointables {
- BooleanPointable boolp = (BooleanPointable) BooleanPointable.FACTORY.createPointable();
- BytePointable bytep = (BytePointable) BytePointable.FACTORY.createPointable();
- DoublePointable doublep = (DoublePointable) DoublePointable.FACTORY.createPointable();
- FloatPointable floatp = (FloatPointable) FloatPointable.FACTORY.createPointable();
- IntegerPointable intp = (IntegerPointable) IntegerPointable.FACTORY.createPointable();
- LongPointable longp = (LongPointable) LongPointable.FACTORY.createPointable();
- ShortPointable shortp = (ShortPointable) ShortPointable.FACTORY.createPointable();
- UTF8StringPointable utf8sp = (UTF8StringPointable) UTF8StringPointable.FACTORY.createPointable();
- XSDecimalPointable decp = (XSDecimalPointable) XSDecimalPointable.FACTORY.createPointable();
- }
}
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/numeric/AbstractNumericScalarEvaluatorFactory.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/numeric/AbstractNumericScalarEvaluatorFactory.java?rev=1466279&r1=1466278&r2=1466279&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/numeric/AbstractNumericScalarEvaluatorFactory.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/numeric/AbstractNumericScalarEvaluatorFactory.java Tue Apr 9 22:53:16 2013
@@ -28,6 +28,7 @@ import org.apache.vxquery.exceptions.Err
import org.apache.vxquery.exceptions.SystemException;
import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentScalarEvaluator;
import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentScalarEvaluatorFactory;
+import org.apache.vxquery.runtime.functions.util.FunctionHelper;
import org.apache.vxquery.types.BuiltinTypeRegistry;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
@@ -59,7 +60,7 @@ public abstract class AbstractNumericSca
final DataOutput dOut = abvs.getDataOutput();
final ArrayBackedValueStorage abvsInteger = new ArrayBackedValueStorage();
final DataOutput dOutInteger = abvsInteger.getDataOutput();
- final TypedPointables tp = new TypedPointables();
+ final FunctionHelper.TypedPointables tp = new FunctionHelper.TypedPointables();
@Override
protected void evaluate(TaggedValuePointable[] args, IPointable result) throws SystemException {
@@ -186,16 +187,5 @@ public abstract class AbstractNumericSca
};
}
- private static class TypedPointables {
- BytePointable bytep = (BytePointable) BytePointable.FACTORY.createPointable();
- ShortPointable shortp = (ShortPointable) ShortPointable.FACTORY.createPointable();
- IntegerPointable intp = (IntegerPointable) IntegerPointable.FACTORY.createPointable();
- DoublePointable doublep = (DoublePointable) DoublePointable.FACTORY.createPointable();
- FloatPointable floatp = (FloatPointable) FloatPointable.FACTORY.createPointable();
- LongPointable longp = (LongPointable) LongPointable.FACTORY.createPointable();
- XSDecimalPointable decp = (XSDecimalPointable) XSDecimalPointable.FACTORY.createPointable();
- SequencePointable seqp = (SequencePointable) SequencePointable.FACTORY.createPointable();
- }
-
protected abstract AbstractNumericOperation createNumericOperation();
}
\ No newline at end of file
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/numeric/FnRoundHalfToEvenScalarEvaluatorFactory.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/numeric/FnRoundHalfToEvenScalarEvaluatorFactory.java?rev=1466279&r1=1466278&r2=1466279&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/numeric/FnRoundHalfToEvenScalarEvaluatorFactory.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/numeric/FnRoundHalfToEvenScalarEvaluatorFactory.java Tue Apr 9 22:53:16 2013
@@ -27,6 +27,7 @@ import org.apache.vxquery.exceptions.Sys
import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentScalarEvaluator;
import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentScalarEvaluatorFactory;
import org.apache.vxquery.runtime.functions.cast.CastToDecimalOperation;
+import org.apache.vxquery.runtime.functions.util.FunctionHelper;
import org.apache.vxquery.types.BuiltinTypeRegistry;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
@@ -57,7 +58,7 @@ public class FnRoundHalfToEvenScalarEval
final DataOutput dOut = abvs.getDataOutput();
final ArrayBackedValueStorage abvsInner = new ArrayBackedValueStorage();
final DataOutput dOutInner = abvsInner.getDataOutput();
- final TypedPointables tp = new TypedPointables();
+ final FunctionHelper.TypedPointables tp = new FunctionHelper.TypedPointables();
final LongPointable longp = (LongPointable) LongPointable.FACTORY.createPointable();
final CastToDecimalOperation castToDecimal = new CastToDecimalOperation();
@@ -268,14 +269,4 @@ public class FnRoundHalfToEvenScalarEval
};
}
- private static class TypedPointables {
- BytePointable bytep = (BytePointable) BytePointable.FACTORY.createPointable();
- ShortPointable shortp = (ShortPointable) ShortPointable.FACTORY.createPointable();
- IntegerPointable intp = (IntegerPointable) IntegerPointable.FACTORY.createPointable();
- DoublePointable doublep = (DoublePointable) DoublePointable.FACTORY.createPointable();
- FloatPointable floatp = (FloatPointable) FloatPointable.FACTORY.createPointable();
- LongPointable longp = (LongPointable) LongPointable.FACTORY.createPointable();
- XSDecimalPointable decp = (XSDecimalPointable) XSDecimalPointable.FACTORY.createPointable();
- }
-
}
\ No newline at end of file
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/unary/AbstractNumericUnaryScalarEvaluatorFactory.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/unary/AbstractNumericUnaryScalarEvaluatorFactory.java?rev=1466279&r1=1466278&r2=1466279&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/unary/AbstractNumericUnaryScalarEvaluatorFactory.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/unary/AbstractNumericUnaryScalarEvaluatorFactory.java Tue Apr 9 22:53:16 2013
@@ -20,12 +20,12 @@ import java.io.DataOutput;
import java.io.IOException;
import org.apache.vxquery.datamodel.accessors.TaggedValuePointable;
-import org.apache.vxquery.datamodel.accessors.atomic.XSDecimalPointable;
import org.apache.vxquery.datamodel.values.ValueTag;
import org.apache.vxquery.exceptions.ErrorCode;
import org.apache.vxquery.exceptions.SystemException;
import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentScalarEvaluator;
import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentScalarEvaluatorFactory;
+import org.apache.vxquery.runtime.functions.util.FunctionHelper;
import org.apache.vxquery.types.BuiltinTypeRegistry;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
@@ -33,12 +33,7 @@ import edu.uci.ics.hyracks.algebricks.ru
import edu.uci.ics.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
import edu.uci.ics.hyracks.api.context.IHyracksTaskContext;
import edu.uci.ics.hyracks.data.std.api.IPointable;
-import edu.uci.ics.hyracks.data.std.primitive.BytePointable;
-import edu.uci.ics.hyracks.data.std.primitive.DoublePointable;
-import edu.uci.ics.hyracks.data.std.primitive.FloatPointable;
-import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;
import edu.uci.ics.hyracks.data.std.primitive.LongPointable;
-import edu.uci.ics.hyracks.data.std.primitive.ShortPointable;
import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
public abstract class AbstractNumericUnaryScalarEvaluatorFactory extends
@@ -58,7 +53,7 @@ public abstract class AbstractNumericUna
final DataOutput dOut = abvs.getDataOutput();
final ArrayBackedValueStorage abvsInteger = new ArrayBackedValueStorage();
final DataOutput dOutInteger = abvsInteger.getDataOutput();
- final TypedPointables tp = new TypedPointables();
+ final FunctionHelper.TypedPointables tp = new FunctionHelper.TypedPointables();
@Override
protected void evaluate(TaggedValuePointable[] args, IPointable result) throws SystemException {
@@ -179,15 +174,5 @@ public abstract class AbstractNumericUna
};
}
- private static class TypedPointables {
- BytePointable bytep = (BytePointable) BytePointable.FACTORY.createPointable();
- ShortPointable shortp = (ShortPointable) ShortPointable.FACTORY.createPointable();
- IntegerPointable intp = (IntegerPointable) IntegerPointable.FACTORY.createPointable();
- DoublePointable doublep = (DoublePointable) DoublePointable.FACTORY.createPointable();
- FloatPointable floatp = (FloatPointable) FloatPointable.FACTORY.createPointable();
- LongPointable longp = (LongPointable) LongPointable.FACTORY.createPointable();
- XSDecimalPointable decp = (XSDecimalPointable) XSDecimalPointable.FACTORY.createPointable();
- }
-
protected abstract AbstractNumericUnaryOperation createNumericUnaryOperation();
}
\ No newline at end of file
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/util/FunctionHelper.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/util/FunctionHelper.java?rev=1466279&r1=1466278&r2=1466279&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/util/FunctionHelper.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/util/FunctionHelper.java Tue Apr 9 22:53:16 2013
@@ -35,6 +35,12 @@ import org.apache.vxquery.datamodel.acce
import org.apache.vxquery.datamodel.accessors.atomic.XSDurationPointable;
import org.apache.vxquery.datamodel.accessors.atomic.XSQNamePointable;
import org.apache.vxquery.datamodel.accessors.atomic.XSTimePointable;
+import org.apache.vxquery.datamodel.accessors.nodes.AttributeNodePointable;
+import org.apache.vxquery.datamodel.accessors.nodes.DocumentNodePointable;
+import org.apache.vxquery.datamodel.accessors.nodes.ElementNodePointable;
+import org.apache.vxquery.datamodel.accessors.nodes.NodeTreePointable;
+import org.apache.vxquery.datamodel.accessors.nodes.PINodePointable;
+import org.apache.vxquery.datamodel.accessors.nodes.TextOrCommentNodePointable;
import org.apache.vxquery.datamodel.api.IDate;
import org.apache.vxquery.datamodel.api.ITime;
import org.apache.vxquery.datamodel.api.ITimezone;
@@ -50,7 +56,6 @@ import org.apache.vxquery.runtime.functi
import org.apache.vxquery.types.BuiltinTypeConstants;
import org.apache.vxquery.types.BuiltinTypeRegistry;
import org.apache.vxquery.xmlparser.ITreeNodeIdProvider;
-import org.apache.vxquery.xmlparser.TreeNodeIdProvider;
import org.apache.vxquery.xmlparser.XMLParser;
import org.xml.sax.InputSource;
@@ -79,6 +84,8 @@ public class FunctionHelper {
public ShortPointable shortp = (ShortPointable) ShortPointable.FACTORY.createPointable();
public SequencePointable seqp = (SequencePointable) SequencePointable.FACTORY.createPointable();
public UTF8StringPointable utf8sp = (UTF8StringPointable) UTF8StringPointable.FACTORY.createPointable();
+
+ // XQuery Specific
public XSBinaryPointable binaryp = (XSBinaryPointable) XSBinaryPointable.FACTORY.createPointable();
public XSDatePointable datep = (XSDatePointable) XSDatePointable.FACTORY.createPointable();
public XSDateTimePointable datetimep = (XSDateTimePointable) XSDateTimePointable.FACTORY.createPointable();
@@ -86,6 +93,15 @@ public class FunctionHelper {
public XSDurationPointable durationp = (XSDurationPointable) XSDurationPointable.FACTORY.createPointable();
public XSTimePointable timep = (XSTimePointable) XSTimePointable.FACTORY.createPointable();
public XSQNamePointable qnamep = (XSQNamePointable) XSQNamePointable.FACTORY.createPointable();
+
+ // XQuery Nodes
+ public AttributeNodePointable anp = (AttributeNodePointable) AttributeNodePointable.FACTORY.createPointable();
+ public DocumentNodePointable dnp = (DocumentNodePointable) DocumentNodePointable.FACTORY.createPointable();
+ public ElementNodePointable enp = (ElementNodePointable) ElementNodePointable.FACTORY.createPointable();
+ public NodeTreePointable ntp = (NodeTreePointable) NodeTreePointable.FACTORY.createPointable();
+ public PINodePointable pinp = (PINodePointable) PINodePointable.FACTORY.createPointable();
+ public TextOrCommentNodePointable tocnp = (TextOrCommentNodePointable) TextOrCommentNodePointable.FACTORY
+ .createPointable();
}
public static void arithmeticOperation(AbstractArithmeticOperation aOp, DynamicContext dCtx,
@@ -1178,13 +1194,14 @@ public class FunctionHelper {
}
public static void readInDocFromPointable(UTF8StringPointable stringp, InputSource in, ByteBufferInputStream bbis,
- DataInputStream di, ArrayBackedValueStorage abvs, ITreeNodeIdProvider treeNodeIdProvider) throws SystemException {
+ DataInputStream di, ArrayBackedValueStorage abvs, ITreeNodeIdProvider treeNodeIdProvider)
+ throws SystemException {
String fName = getStringFromPointable(stringp, bbis, di);
readInDocFromString(fName, in, abvs, treeNodeIdProvider);
}
- public static void readInDocFromString(String fName, InputSource in, ArrayBackedValueStorage abvs, ITreeNodeIdProvider treeNodeIdProvider)
- throws SystemException {
+ public static void readInDocFromString(String fName, InputSource in, ArrayBackedValueStorage abvs,
+ ITreeNodeIdProvider treeNodeIdProvider) throws SystemException {
File file = new File(fName);
if (!file.exists()) {
throw new RuntimeException("The file (" + fName + ") does not exist.");
@@ -1201,7 +1218,7 @@ public class FunctionHelper {
TaggedValuePointable tvp1, TaggedValuePointable tvp2, DynamicContext dCtx) throws SystemException {
TaggedValuePointable tvp1new = (TaggedValuePointable) TaggedValuePointable.FACTORY.createPointable();
TaggedValuePointable tvp2new = (TaggedValuePointable) TaggedValuePointable.FACTORY.createPointable();
-
+
ArrayBackedValueStorage abvsArgument1 = new ArrayBackedValueStorage();
DataOutput dOutArgument1 = abvsArgument1.getDataOutput();
ArrayBackedValueStorage abvsArgument2 = new ArrayBackedValueStorage();
@@ -1209,7 +1226,7 @@ public class FunctionHelper {
CastToDoubleOperation castToDouble = new CastToDoubleOperation();
UTF8StringPointable stringp = (UTF8StringPointable) UTF8StringPointable.FACTORY.createPointable();
UTF8StringPointable stringp2 = (UTF8StringPointable) UTF8StringPointable.FACTORY.createPointable();
-
+
try {
abvsArgument1.reset();
if (tvp1.getTag() == ValueTag.XS_UNTYPED_ATOMIC_TAG) {
@@ -1237,7 +1254,7 @@ public class FunctionHelper {
} else {
tvp2new = tvp2;
}
-
+
return compareTaggedValues(aOp, tvp1new, tvp2new, dCtx);
} catch (SystemException se) {
throw se;