Fixed a package name issue and a few sonar suggestions.
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 @@
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 @@
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 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);
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 @@
protected DataOutput out;
+ @Override
public void reset(IMutableValueStorage mvs) throws IOException {
out = mvs.getDataOutput();
out.write(getValueTag());
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 @@
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());
- }
- }
}
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/AbstractJsonBuilder.java
similarity index 84%
rename from vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/jsonitem/JsonAbstractBuilder.java
rename to vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/jsonitem/AbstractJsonBuilder.java
index eb53da9..e5a11ed 100644
--- 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/AbstractJsonBuilder.java
@@ -1,6 +1,5 @@
package org.apache.vxquery.datamodel.builders.jsonitem;
-import java.io.DataOutput;
import java.io.IOException;
import org.apache.hyracks.data.std.api.IMutableValueStorage;
@@ -9,18 +8,18 @@
import org.apache.vxquery.datamodel.builders.base.IBuilder;
import org.apache.vxquery.util.GrowableIntArray;
-public abstract class JsonAbstractBuilder extends AbstractBuilder implements IBuilder {
+public abstract class AbstractJsonBuilder extends AbstractBuilder implements IBuilder {
final GrowableIntArray slots = new GrowableIntArray();
final ArrayBackedValueStorage dataArea = new ArrayBackedValueStorage();
- protected DataOutput out;
+ @Override
public void reset(IMutableValueStorage mvs) throws IOException {
- out = mvs.getDataOutput();
- out.write(getValueTag());
+ super.reset(mvs);
slots.clear();
dataArea.reset();
}
+ @Override
public void finish() throws IOException {
int size = slots.getSize();
out.writeInt(size);
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 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());
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 @@
private final ArrayBackedValueStorage dataArea = new ArrayBackedValueStorage();
private DataOutput out;
+ @Override
public void reset(IMutableValueStorage mvs) {
out = mvs.getDataOutput();
slots.clear();
@@ -48,6 +49,7 @@
slots.append(dataArea.getLength());
}
+ @Override
public void finish() throws IOException {
if (slots.getSize() != 1) {
out.write(ValueTag.SEQUENCE_TAG);
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.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;
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.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;