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 2015/06/28 21:18:25 UTC
[03/14] vxquery git commit: code updated with changes
code updated with changes
Project: http://git-wip-us.apache.org/repos/asf/vxquery/repo
Commit: http://git-wip-us.apache.org/repos/asf/vxquery/commit/25cf3a99
Tree: http://git-wip-us.apache.org/repos/asf/vxquery/tree/25cf3a99
Diff: http://git-wip-us.apache.org/repos/asf/vxquery/diff/25cf3a99
Branch: refs/heads/master
Commit: 25cf3a9945f5cc103a4c86637a9be0bf776ba226
Parents: fa890b2
Author: Shivani Mall <sm...@ucr.edu>
Authored: Mon Jun 22 12:35:22 2015 -0700
Committer: Shivani Mall <sm...@ucr.edu>
Committed: Mon Jun 22 12:35:22 2015 -0700
----------------------------------------------------------------------
.../AbstractNodePositionalCheckEvaluator.java | 59 ++++++++++++++++++++
.../accessors/nodes/DocumentNodePointable.java | 1 -
2 files changed, 59 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/vxquery/blob/25cf3a99/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/AbstractNodePositionalCheckEvaluator.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/AbstractNodePositionalCheckEvaluator.java b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/AbstractNodePositionalCheckEvaluator.java
new file mode 100644
index 0000000..2f0f671
--- /dev/null
+++ b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/AbstractNodePositionalCheckEvaluator.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.vxquery.compiler.rewriter.rules;
+
+import org.apache.vxquery.datamodel.accessors.TaggedValuePointable;
+import org.apache.vxquery.datamodel.accessors.TypedPointables;
+import org.apache.vxquery.datamodel.values.ValueTag;
+import org.apache.vxquery.datamodel.values.XDMConstants;
+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.util.FunctionHelper;
+
+import edu.uci.ics.hyracks.algebricks.runtime.base.IScalarEvaluator;
+import edu.uci.ics.hyracks.data.std.api.IPointable;
+
+public abstract class AbstractNodePositionalCheckEvaluator extends AbstractTaggedValueArgumentScalarEvaluator {
+
+ public AbstractNodePositionalCheckEvaluator(IScalarEvaluator[] args) {
+ super(args);
+ }
+
+ private final TypedPointables tp = new TypedPointables();
+
+ @Override
+ protected void evaluate(TaggedValuePointable[] args, IPointable result) throws SystemException {
+
+ if (args[0].getTag() != ValueTag.NODE_TREE_TAG) {
+ throw new SystemException(ErrorCode.FORG0006);
+ }
+
+ if (args[1].getTag() != ValueTag.NODE_TREE_TAG) {
+ throw new SystemException(ErrorCode.FORG0006);
+ }
+
+ if (nodeCompare(FunctionHelper.getLocalNodeId(args[0], tp), FunctionHelper.getLocalNodeId(args[1], tp))) {
+ XDMConstants.setTrue(result);
+ } else {
+ XDMConstants.setFalse(result);
+ }
+ }
+
+ abstract protected boolean nodeCompare(int firstId, int secondId);
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/vxquery/blob/25cf3a99/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/DocumentNodePointable.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/DocumentNodePointable.java b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/DocumentNodePointable.java
index c3a2749..d2dc5d0 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/DocumentNodePointable.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/DocumentNodePointable.java
@@ -64,5 +64,4 @@ public class DocumentNodePointable extends AbstractNodePointable {
private int getContentSize(NodeTreePointable nodeTree) {
return length - (getContentOffset(nodeTree) - start);
}
-
}
\ No newline at end of file