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