Repository: vxquery Updated Branches: refs/heads/master 2e3b83371 -> 2b5932660
Fixed a package name issue and a few sonar suggestions. Project: http://git-wip-us.apache.org/repos/asf/vxquery/repo Commit: http://git-wip-us.apache.org/repos/asf/vxquery/commit/2b593266 Tree: http://git-wip-us.apache.org/repos/asf/vxquery/tree/2b593266 Diff: http://git-wip-us.apache.org/repos/asf/vxquery/diff/2b593266 Branch: refs/heads/master Commit: 2b59326602b3f7d7262f3241971b786dde152241 Parents: 2e3b833 Author: Preston Carman <[email protected]> Authored: Tue May 24 18:27:28 2016 -0700 Committer: Preston Carman <[email protected]> Committed: Tue May 24 18:27:28 2016 -0700 ---------------------------------------------------------------------- .../accessors/jsonItem/ObjectPointable.java | 12 ++++--- .../builders/base/AbstractBuilder.java | 1 + .../builders/jsonItem/ObjectBuilder.java | 31 ++--------------- .../builders/jsonitem/AbstractJsonBuilder.java | 34 +++++++++++++++++++ .../builders/jsonitem/ArrayBuilder.java | 5 +-- .../builders/jsonitem/JsonAbstractBuilder.java | 35 -------------------- .../builders/sequence/SequenceBuilder.java | 2 ++ .../datamodel/AbstractPointableTest.java | 2 +- .../vxquery/datamodel/ObjectByteTest.java | 4 +-- 9 files changed, 50 insertions(+), 76 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/vxquery/blob/2b593266/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/jsonItem/ObjectPointable.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/jsonItem/ObjectPointable.java b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/jsonItem/ObjectPointable.java index 953a8fa..9c714ec 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/jsonItem/ObjectPointable.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/jsonItem/ObjectPointable.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.vxquery.datamodel.accessors.jsonItem; +package org.apache.vxquery.datamodel.accessors.jsonitem; import java.io.IOException; @@ -56,7 +56,7 @@ public class ObjectPointable extends AbstractPointable { private static final int SLOT_SIZE = IntegerPointable.TYPE_TRAITS.getFixedLength(); private final ArrayBackedValueStorage abvs = new ArrayBackedValueStorage(); private final SequenceBuilder sb = new SequenceBuilder(); - private final UTF8StringPointable key1 = (UTF8StringPointable) UTF8StringPointable.FACTORY.createPointable(); + private final UTF8StringPointable key = (UTF8StringPointable) UTF8StringPointable.FACTORY.createPointable(); private static int getSlotValue(byte[] bytes, int start, int idx) { return IntegerPointable.getInteger(bytes, getSlotArrayOffset(start) + idx * SLOT_SIZE); @@ -86,8 +86,8 @@ public class ObjectPointable extends AbstractPointable { int s; for (int i = 0; i < entryCount; i++) { s = dataAreaOffset + getRelativeEntryStartOffset(i); - key1.set(bytes, s, getKeyLength(bytes, s)); - sb.addItem(ValueTag.XS_STRING_TAG, key1); + key.set(bytes, s, getKeyLength(bytes, s)); + sb.addItem(ValueTag.XS_STRING_TAG, key); } sb.finish(); result.set(abvs); @@ -96,7 +96,9 @@ public class ObjectPointable extends AbstractPointable { public boolean getValue(UTF8StringPointable key, IPointable result) { int dataAreaOffset = getDataAreaOffset(bytes, start); int entryCount = getEntryCount(); - int start, length, i; + int start; + int length; + int i; for (i = 0; i < entryCount; i++) { start = dataAreaOffset + getRelativeEntryStartOffset(i); length = getKeyLength(bytes, start); http://git-wip-us.apache.org/repos/asf/vxquery/blob/2b593266/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/base/AbstractBuilder.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/base/AbstractBuilder.java b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/base/AbstractBuilder.java index c360eed..0ed8fd6 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/base/AbstractBuilder.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/base/AbstractBuilder.java @@ -25,6 +25,7 @@ public abstract class AbstractBuilder implements IBuilder { protected DataOutput out; + @Override public void reset(IMutableValueStorage mvs) throws IOException { out = mvs.getDataOutput(); out.write(getValueTag()); http://git-wip-us.apache.org/repos/asf/vxquery/blob/2b593266/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/jsonItem/ObjectBuilder.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/jsonItem/ObjectBuilder.java b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/jsonItem/ObjectBuilder.java index f4b7649..000110a 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/jsonItem/ObjectBuilder.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/jsonItem/ObjectBuilder.java @@ -14,30 +14,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.vxquery.datamodel.builders.jsonItem; +package org.apache.vxquery.datamodel.builders.jsonitem; -import java.io.DataOutput; import java.io.IOException; -import org.apache.hyracks.data.std.api.IMutableValueStorage; import org.apache.hyracks.data.std.api.IValueReference; import org.apache.hyracks.data.std.primitive.UTF8StringPointable; -import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; -import org.apache.vxquery.datamodel.builders.base.AbstractBuilder; import org.apache.vxquery.datamodel.builders.base.IBuilder; import org.apache.vxquery.datamodel.values.ValueTag; -import org.apache.vxquery.util.GrowableIntArray; -public class ObjectBuilder extends AbstractBuilder implements IBuilder { - private final GrowableIntArray slots = new GrowableIntArray(); - private final ArrayBackedValueStorage dataArea = new ArrayBackedValueStorage(); - private IMutableValueStorage mvs; - - public void reset(IMutableValueStorage mvs) { - this.mvs = mvs; - slots.clear(); - dataArea.reset(); - } +public class ObjectBuilder extends AbstractJsonBuilder implements IBuilder { @Override public int getValueTag() { @@ -50,17 +36,4 @@ public class ObjectBuilder extends AbstractBuilder implements IBuilder { slots.append(dataArea.getLength()); } - public void finish() throws IOException { - DataOutput out = mvs.getDataOutput(); - out.write(ValueTag.OBJECT_TAG); - int size = slots.getSize(); - out.writeInt(size); - if (size > 0) { - int[] slotArray = slots.getArray(); - for (int i = 0; i < size; ++i) { - out.writeInt(slotArray[i]); - } - out.write(dataArea.getByteArray(), dataArea.getStartOffset(), dataArea.getLength()); - } - } } http://git-wip-us.apache.org/repos/asf/vxquery/blob/2b593266/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/jsonitem/AbstractJsonBuilder.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/jsonitem/AbstractJsonBuilder.java b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/jsonitem/AbstractJsonBuilder.java new file mode 100644 index 0000000..e5a11ed --- /dev/null +++ b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/jsonitem/AbstractJsonBuilder.java @@ -0,0 +1,34 @@ +package org.apache.vxquery.datamodel.builders.jsonitem; + +import java.io.IOException; + +import org.apache.hyracks.data.std.api.IMutableValueStorage; +import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; +import org.apache.vxquery.datamodel.builders.base.AbstractBuilder; +import org.apache.vxquery.datamodel.builders.base.IBuilder; +import org.apache.vxquery.util.GrowableIntArray; + +public abstract class AbstractJsonBuilder extends AbstractBuilder implements IBuilder { + final GrowableIntArray slots = new GrowableIntArray(); + final ArrayBackedValueStorage dataArea = new ArrayBackedValueStorage(); + + @Override + public void reset(IMutableValueStorage mvs) throws IOException { + super.reset(mvs); + slots.clear(); + dataArea.reset(); + } + + @Override + public void finish() throws IOException { + int size = slots.getSize(); + out.writeInt(size); + if (size > 0) { + int[] slotArray = slots.getArray(); + for (int i = 0; i < size; ++i) { + out.writeInt(slotArray[i]); + } + out.write(dataArea.getByteArray(), dataArea.getStartOffset(), dataArea.getLength()); + } + } +} http://git-wip-us.apache.org/repos/asf/vxquery/blob/2b593266/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/jsonitem/ArrayBuilder.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/jsonitem/ArrayBuilder.java b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/jsonitem/ArrayBuilder.java index 3897cce..4ef642f 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/jsonitem/ArrayBuilder.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/jsonitem/ArrayBuilder.java @@ -4,10 +4,7 @@ import java.io.IOException; import org.apache.hyracks.data.std.api.IValueReference; import org.apache.vxquery.datamodel.values.ValueTag; -public class ArrayBuilder extends JsonAbstractBuilder { - - public ArrayBuilder() { - } +public class ArrayBuilder extends AbstractJsonBuilder { public void addItem(IValueReference p) throws IOException { dataArea.getDataOutput().write(p.getByteArray(), p.getStartOffset(), p.getLength()); http://git-wip-us.apache.org/repos/asf/vxquery/blob/2b593266/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/jsonitem/JsonAbstractBuilder.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/jsonitem/JsonAbstractBuilder.java b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/jsonitem/JsonAbstractBuilder.java deleted file mode 100644 index eb53da9..0000000 --- a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/jsonitem/JsonAbstractBuilder.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.apache.vxquery.datamodel.builders.jsonitem; - -import java.io.DataOutput; -import java.io.IOException; - -import org.apache.hyracks.data.std.api.IMutableValueStorage; -import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; -import org.apache.vxquery.datamodel.builders.base.AbstractBuilder; -import org.apache.vxquery.datamodel.builders.base.IBuilder; -import org.apache.vxquery.util.GrowableIntArray; - -public abstract class JsonAbstractBuilder extends AbstractBuilder implements IBuilder { - final GrowableIntArray slots = new GrowableIntArray(); - final ArrayBackedValueStorage dataArea = new ArrayBackedValueStorage(); - protected DataOutput out; - - public void reset(IMutableValueStorage mvs) throws IOException { - out = mvs.getDataOutput(); - out.write(getValueTag()); - slots.clear(); - dataArea.reset(); - } - - public void finish() throws IOException { - int size = slots.getSize(); - out.writeInt(size); - if (size > 0) { - int[] slotArray = slots.getArray(); - for (int i = 0; i < size; ++i) { - out.writeInt(slotArray[i]); - } - out.write(dataArea.getByteArray(), dataArea.getStartOffset(), dataArea.getLength()); - } - } -} http://git-wip-us.apache.org/repos/asf/vxquery/blob/2b593266/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/sequence/SequenceBuilder.java ---------------------------------------------------------------------- diff --git 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 index e347818..a1bd571 100644 --- 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 @@ -31,6 +31,7 @@ public class SequenceBuilder implements IBuilder { private final ArrayBackedValueStorage dataArea = new ArrayBackedValueStorage(); private DataOutput out; + @Override public void reset(IMutableValueStorage mvs) { out = mvs.getDataOutput(); slots.clear(); @@ -48,6 +49,7 @@ public class SequenceBuilder implements IBuilder { slots.append(dataArea.getLength()); } + @Override public void finish() throws IOException { if (slots.getSize() != 1) { out.write(ValueTag.SEQUENCE_TAG); http://git-wip-us.apache.org/repos/asf/vxquery/blob/2b593266/vxquery-core/src/test/java/org/apache/vxquery/datamodel/AbstractPointableTest.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/test/java/org/apache/vxquery/datamodel/AbstractPointableTest.java b/vxquery-core/src/test/java/org/apache/vxquery/datamodel/AbstractPointableTest.java index d3de095..1220fae 100644 --- a/vxquery-core/src/test/java/org/apache/vxquery/datamodel/AbstractPointableTest.java +++ b/vxquery-core/src/test/java/org/apache/vxquery/datamodel/AbstractPointableTest.java @@ -22,7 +22,7 @@ import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; import org.apache.vxquery.datamodel.builders.atomic.StringValueBuilder; import org.apache.vxquery.datamodel.values.ValueTag; -public class AbstractPointableTest { +public abstract class AbstractPointableTest { private final ArrayBackedValueStorage abvsInput = new ArrayBackedValueStorage(); private final StringValueBuilder svb = new StringValueBuilder(); private boolean includeTag = true; http://git-wip-us.apache.org/repos/asf/vxquery/blob/2b593266/vxquery-core/src/test/java/org/apache/vxquery/datamodel/ObjectByteTest.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/test/java/org/apache/vxquery/datamodel/ObjectByteTest.java b/vxquery-core/src/test/java/org/apache/vxquery/datamodel/ObjectByteTest.java index 4bdb503..8f1b1fe 100644 --- a/vxquery-core/src/test/java/org/apache/vxquery/datamodel/ObjectByteTest.java +++ b/vxquery-core/src/test/java/org/apache/vxquery/datamodel/ObjectByteTest.java @@ -22,8 +22,8 @@ import org.apache.hyracks.data.std.primitive.VoidPointable; import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; import org.apache.vxquery.datamodel.accessors.SequencePointable; import org.apache.vxquery.datamodel.accessors.TaggedValuePointable; -import org.apache.vxquery.datamodel.accessors.jsonItem.ObjectPointable; -import org.apache.vxquery.datamodel.builders.jsonItem.ObjectBuilder; +import org.apache.vxquery.datamodel.accessors.jsonitem.ObjectPointable; +import org.apache.vxquery.datamodel.builders.jsonitem.ObjectBuilder; import org.apache.vxquery.datamodel.values.ValueTag; import org.apache.vxquery.runtime.functions.util.FunctionHelper; import org.junit.Test;
