JSON object builder, pointable and unit tests.

Project: http://git-wip-us.apache.org/repos/asf/vxquery/repo
Commit: http://git-wip-us.apache.org/repos/asf/vxquery/commit/2e3b8337
Tree: http://git-wip-us.apache.org/repos/asf/vxquery/tree/2e3b8337
Diff: http://git-wip-us.apache.org/repos/asf/vxquery/diff/2e3b8337

Branch: refs/heads/master
Commit: 2e3b833713b62d98e7072b1cdf1aa23e2439f9d5
Parents: d9e8dc2 3fd8053
Author: Preston Carman <[email protected]>
Authored: Tue May 24 18:02:52 2016 -0700
Committer: Preston Carman <[email protected]>
Committed: Tue May 24 18:02:52 2016 -0700

----------------------------------------------------------------------
 .../datamodel/accessors/SequencePointable.java  |   6 +-
 .../accessors/jsonItem/ObjectPointable.java     | 124 +++++++++
 .../builders/jsonItem/ObjectBuilder.java        |  66 +++++
 .../builders/sequence/SequenceBuilder.java      |   6 +
 .../vxquery/datamodel/values/ValueTag.java      |   3 +
 .../vxquery/datamodel/values/XDMConstants.java  |  20 +-
 .../vxquery/types/BuiltinTypeConstants.java     |   4 +-
 .../datamodel/AbstractPointableTest.java        |  22 +-
 .../vxquery/datamodel/ObjectByteTest.java       | 264 +++++++++++++++++++
 9 files changed, 501 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/vxquery/blob/2e3b8337/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/sequence/SequenceBuilder.java
----------------------------------------------------------------------
diff --cc 
vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/sequence/SequenceBuilder.java
index 5cd31b1,a5ca065..e347818
--- 
a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/sequence/SequenceBuilder.java
+++ 
b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/sequence/SequenceBuilder.java
@@@ -42,7 -42,14 +42,13 @@@ public class SequenceBuilder implement
          slots.append(dataArea.getLength());
      }
  
+     public void addItem(int tagValue, IValueReference p) throws IOException {
+         dataArea.getDataOutput().write(tagValue);
+         dataArea.getDataOutput().write(p.getByteArray(), p.getStartOffset(), 
p.getLength());
+         slots.append(dataArea.getLength());
+     }
+ 
      public void finish() throws IOException {
 -        DataOutput out = mvs.getDataOutput();
          if (slots.getSize() != 1) {
              out.write(ValueTag.SEQUENCE_TAG);
              int size = slots.getSize();

http://git-wip-us.apache.org/repos/asf/vxquery/blob/2e3b8337/vxquery-core/src/main/java/org/apache/vxquery/datamodel/values/ValueTag.java
----------------------------------------------------------------------
diff --cc 
vxquery-core/src/main/java/org/apache/vxquery/datamodel/values/ValueTag.java
index d2c8a9b,5600283..2e4d5c7
--- 
a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/values/ValueTag.java
+++ 
b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/values/ValueTag.java
@@@ -82,7 -84,7 +84,8 @@@ public class ValueTag 
      public static final int COMMENT_NODE_TAG = 105;
      public static final int PI_NODE_TAG = 106;
      public static final int NODE_TREE_TAG = 107;
 +    public static final int ARRAY_TAG = 108;
+     public static final int OBJECT_TAG = 109;
  
      public static boolean isAtomic(int tag) {
          return tag < 100;

http://git-wip-us.apache.org/repos/asf/vxquery/blob/2e3b8337/vxquery-core/src/test/java/org/apache/vxquery/datamodel/AbstractPointableTest.java
----------------------------------------------------------------------

Reply via email to