You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gora.apache.org by le...@apache.org on 2016/05/26 17:29:13 UTC
[1/4] gora git commit: Merge branch 'GORA_225' of
https://github.com/djkevincr/gora this closes #61
Repository: gora
Updated Branches:
refs/heads/master 22f400d53 -> da1030681
Merge branch 'GORA_225' of https://github.com/djkevincr/gora this closes #61
Project: http://git-wip-us.apache.org/repos/asf/gora/repo
Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/ae1b59c3
Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/ae1b59c3
Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/ae1b59c3
Branch: refs/heads/master
Commit: ae1b59c3c7304bc6f9a02f6efdcbc9997888297b
Parents: c0c8c61 640852e
Author: Lewis John McGibbney <le...@gmail.com>
Authored: Tue May 24 06:35:47 2016 -0700
Committer: Lewis John McGibbney <le...@gmail.com>
Committed: Tue May 24 06:35:47 2016 -0700
----------------------------------------------------------------------
.../org/apache/gora/memory/store/MemStore.java | 32 +++++++++++++---
.../apache/gora/memory/store/MemStoreTest.java | 39 +++++++++++++++-----
2 files changed, 56 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
[4/4] gora git commit: Merge branch 'master' into GORA-478
Posted by le...@apache.org.
Merge branch 'master' into GORA-478
Project: http://git-wip-us.apache.org/repos/asf/gora/repo
Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/da103068
Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/da103068
Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/da103068
Branch: refs/heads/master
Commit: da103068127c2484ed3777852132b7bcd9172e90
Parents: fc00bb5 ef39527
Author: Lewis John McGibbney <le...@gmail.com>
Authored: Thu May 26 00:04:41 2016 -0700
Committer: Lewis John McGibbney <le...@gmail.com>
Committed: Thu May 26 00:04:41 2016 -0700
----------------------------------------------------------------------
----------------------------------------------------------------------
[2/4] gora git commit: Merge branch 'master' of
https://github.com/lewismc/gora
Posted by le...@apache.org.
Merge branch 'master' of https://github.com/lewismc/gora
Project: http://git-wip-us.apache.org/repos/asf/gora/repo
Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/ef39527c
Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/ef39527c
Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/ef39527c
Branch: refs/heads/master
Commit: ef39527c11beba90669052fe8afea41c3ddb0bf8
Parents: 22f400d ae1b59c
Author: Lewis John McGibbney <le...@gmail.com>
Authored: Wed May 25 23:54:25 2016 -0700
Committer: Lewis John McGibbney <le...@gmail.com>
Committed: Wed May 25 23:54:25 2016 -0700
----------------------------------------------------------------------
----------------------------------------------------------------------
[3/4] gora git commit: GORA-478 Address Sonar issues within
gora-accumulo Encoder classes
Posted by le...@apache.org.
GORA-478 Address Sonar issues within gora-accumulo Encoder classes
Project: http://git-wip-us.apache.org/repos/asf/gora/repo
Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/fc00bb5b
Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/fc00bb5b
Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/fc00bb5b
Branch: refs/heads/master
Commit: fc00bb5b9b5223a43d0246d4fd478d90603e5f08
Parents: c0c8c61
Author: Lewis John McGibbney <le...@gmail.com>
Authored: Thu May 26 00:02:41 2016 -0700
Committer: Lewis John McGibbney <le...@gmail.com>
Committed: Thu May 26 00:02:41 2016 -0700
----------------------------------------------------------------------
.../gora/accumulo/encoders/BinaryEncoder.java | 248 ++++++-------------
.../apache/gora/accumulo/encoders/Encoder.java | 38 +--
.../gora/accumulo/encoders/HexEncoder.java | 6 +-
.../accumulo/encoders/SignedBinaryEncoder.java | 66 ++---
.../apache/gora/accumulo/encoders/Utils.java | 6 +-
.../gora/accumulo/store/AccumuloStore.java | 30 +--
.../gora/accumulo/store/PartitionTest.java | 6 +-
.../accumulo/util/SignedBinaryEncoderTest.java | 15 +-
.../org/apache/gora/memory/store/MemStore.java | 32 ++-
.../apache/gora/memory/store/MemStoreTest.java | 39 ++-
10 files changed, 222 insertions(+), 264 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/gora/blob/fc00bb5b/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/BinaryEncoder.java
----------------------------------------------------------------------
diff --git a/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/BinaryEncoder.java b/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/BinaryEncoder.java
index 7ce93d9..00aa5cf 100644
--- a/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/BinaryEncoder.java
+++ b/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/BinaryEncoder.java
@@ -1,4 +1,4 @@
-/**
+/*
* 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.
@@ -27,261 +27,163 @@ import org.apache.gora.accumulo.util.FixedByteArrayOutputStream;
*
*/
public class BinaryEncoder implements Encoder {
- public byte[] encodeShort(short s) {
+
+ @Override
+ public byte[] encodeShort(short s) throws IOException {
return encodeShort(s, new byte[2]);
}
-
- public byte[] encodeShort(short s, byte ret[]) {
- DataOutputStream dos = null;
- try {
- dos = new DataOutputStream(new FixedByteArrayOutputStream(ret));
+
+ @Override
+ public byte[] encodeShort(short s, byte[] ret) throws IOException {
+ try (DataOutputStream dos = new DataOutputStream(new FixedByteArrayOutputStream(ret))){
dos.writeShort(s);
dos.close();
return ret;
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- } finally {
- try {
- dos.close();
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- }
}
}
-
- public short decodeShort(byte[] a) {
- DataInputStream dis = null;
- try {
- dis = new DataInputStream(new ByteArrayInputStream(a));
+
+ @Override
+ public short decodeShort(byte[] a) throws IOException {
+ try (DataInputStream dis = new DataInputStream(new ByteArrayInputStream(a))){
short s = dis.readShort();
dis.close();
return s;
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- } finally {
- try {
- dis.close();
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- }
}
}
-
- public byte[] encodeInt(int i) {
+
+ @Override
+ public byte[] encodeInt(int i) throws IOException {
return encodeInt(i, new byte[4]);
}
-
- public byte[] encodeInt(int i, byte ret[]) {
- DataOutputStream dos = null;
- try {
- dos = new DataOutputStream(new FixedByteArrayOutputStream(ret));
+
+ @Override
+ public byte[] encodeInt(int i, byte[] ret) throws IOException {
+ try (DataOutputStream dos = new DataOutputStream(new FixedByteArrayOutputStream(ret))){
dos.writeInt(i);
dos.close();
return ret;
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- } finally {
- try {
- dos.close();
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- }
}
}
-
- public int decodeInt(byte[] a) {
- DataInputStream dis = null;
- try {
- dis = new DataInputStream(new ByteArrayInputStream(a));
+
+ @Override
+ public int decodeInt(byte[] a) throws IOException {
+ try (DataInputStream dis = new DataInputStream(new ByteArrayInputStream(a))){
int i = dis.readInt();
dis.close();
return i;
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- } finally {
- try {
- dis.close();
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- }
}
}
-
- public byte[] encodeLong(long l) {
+
+ @Override
+ public byte[] encodeLong(long l) throws IOException {
return encodeLong(l, new byte[8]);
}
-
- public byte[] encodeLong(long l, byte ret[]) {
- DataOutputStream dos = null;
- try {
- dos = new DataOutputStream(new FixedByteArrayOutputStream(ret));
+
+ @Override
+ public byte[] encodeLong(long l, byte[] ret) throws IOException {
+ try (DataOutputStream dos = new DataOutputStream(new FixedByteArrayOutputStream(ret))){
dos.writeLong(l);
dos.close();
return ret;
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- } finally {
- try {
- dos.close();
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- }
}
}
-
- public long decodeLong(byte[] a) {
- DataInputStream dis = null;
- try {
- dis = new DataInputStream(new ByteArrayInputStream(a));
+
+ @Override
+ public long decodeLong(byte[] a) throws IOException {
+ try (DataInputStream dis = new DataInputStream(new ByteArrayInputStream(a))){
long l = dis.readLong();
dis.close();
return l;
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- } finally {
- try {
- dis.close();
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- }
}
}
-
- public byte[] encodeDouble(double d) {
+
+ @Override
+ public byte[] encodeDouble(double d) throws IOException {
return encodeDouble(d, new byte[8]);
}
-
- public byte[] encodeDouble(double d, byte[] ret) {
- DataOutputStream dos = null;
- try {
+
+ @Override
+ public byte[] encodeDouble(double d, byte[] ret) throws IOException {
+ try (DataOutputStream dos = new DataOutputStream(new FixedByteArrayOutputStream(ret))){
long l = Double.doubleToRawLongBits(d);
- dos = new DataOutputStream(new FixedByteArrayOutputStream(ret));
dos.writeLong(l);
dos.close();
return ret;
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- } finally {
- try {
- dos.close();
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- }
}
}
-
- public double decodeDouble(byte[] a) {
- DataInputStream dis = null;
- try {
- dis = new DataInputStream(new ByteArrayInputStream(a));
+
+ @Override
+ public double decodeDouble(byte[] a) throws IOException {
+ try (DataInputStream dis = new DataInputStream(new ByteArrayInputStream(a))){
long l = dis.readLong();
dis.close();
return Double.longBitsToDouble(l);
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- } finally {
- try {
- dis.close();
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- }
}
}
-
- public byte[] encodeFloat(float d) {
+
+ @Override
+ public byte[] encodeFloat(float d) throws IOException {
return encodeFloat(d, new byte[4]);
}
-
- public byte[] encodeFloat(float f, byte[] ret) {
- DataOutputStream dos = null;
- try {
+
+ @Override
+ public byte[] encodeFloat(float f, byte[] ret) throws IOException {
+ try (DataOutputStream dos = new DataOutputStream(new FixedByteArrayOutputStream(ret))){
int i = Float.floatToRawIntBits(f);
- dos = new DataOutputStream(new FixedByteArrayOutputStream(ret));
dos.writeInt(i);
return ret;
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- } finally {
- try {
- dos.close();
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- }
}
}
-
- public float decodeFloat(byte[] a) {
- DataInputStream dis = null;
- try {
- dis = new DataInputStream(new ByteArrayInputStream(a));
+
+ @Override
+ public float decodeFloat(byte[] a) throws IOException {
+ try (DataInputStream dis = new DataInputStream(new ByteArrayInputStream(a))){
int i = dis.readInt();
return Float.intBitsToFloat(i);
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- } finally {
- try {
- dis.close();
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- }
}
}
-
+
+ @Override
public byte[] encodeByte(byte b, byte[] ret) {
ret[0] = 0;
return ret;
}
-
+
+ @Override
public byte[] encodeByte(byte b) {
return encodeByte(b, new byte[1]);
}
-
+
+ @Override
public byte decodeByte(byte[] a) {
return a[0];
}
-
- public boolean decodeBoolean(byte[] a) {
- DataInputStream dis = null;
- try {
- dis = new DataInputStream(new ByteArrayInputStream(a));
+
+ @Override
+ public boolean decodeBoolean(byte[] a) throws IOException {
+ try (DataInputStream dis = new DataInputStream(new ByteArrayInputStream(a))){
return dis.readBoolean();
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- } finally {
- try {
- dis.close();
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- }
}
}
-
- public byte[] encodeBoolean(boolean b) {
+
+ @Override
+ public byte[] encodeBoolean(boolean b) throws IOException {
return encodeBoolean(b, new byte[1]);
}
-
- public byte[] encodeBoolean(boolean b, byte[] ret) {
- DataOutputStream dos = null;
- try {
- dos = new DataOutputStream(new FixedByteArrayOutputStream(ret));
+
+ @Override
+ public byte[] encodeBoolean(boolean b, byte[] ret) throws IOException {
+ try (DataOutputStream dos = new DataOutputStream(new FixedByteArrayOutputStream(ret))){
dos.writeBoolean(b);
return ret;
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- } finally {
- try {
- dos.close();
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- }
}
}
-
+
@Override
public byte[] lastPossibleKey(int size, byte[] er) {
return Utils.lastPossibleKey(size, er);
}
-
+
@Override
public byte[] followingKey(int size, byte[] per) {
return Utils.followingKey(size, per);
http://git-wip-us.apache.org/repos/asf/gora/blob/fc00bb5b/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/Encoder.java
----------------------------------------------------------------------
diff --git a/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/Encoder.java b/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/Encoder.java
index 7f79e8a..550639d 100644
--- a/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/Encoder.java
+++ b/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/Encoder.java
@@ -16,6 +16,8 @@
*/
package org.apache.gora.accumulo.encoders;
+import java.io.IOException;
+
/**
*
*/
@@ -27,41 +29,41 @@ public interface Encoder {
public byte decodeByte(byte[] a);
- public byte[] encodeShort(short s);
+ public byte[] encodeShort(short s) throws IOException;
- public byte[] encodeShort(short s, byte ret[]);
+ public byte[] encodeShort(short s, byte[] ret) throws IOException;
- public short decodeShort(byte[] a);
+ public short decodeShort(byte[] a) throws IOException;
- public byte[] encodeInt(int i);
+ public byte[] encodeInt(int i) throws IOException;
- public byte[] encodeInt(int i, byte ret[]);
+ public byte[] encodeInt(int i, byte[] ret) throws IOException;
- public int decodeInt(byte[] a);
+ public int decodeInt(byte[] a) throws IOException;
- public byte[] encodeLong(long l);
+ public byte[] encodeLong(long l) throws IOException;
- public byte[] encodeLong(long l, byte ret[]);
+ public byte[] encodeLong(long l, byte[] ret) throws IOException;
- public long decodeLong(byte[] a);
+ public long decodeLong(byte[] a) throws IOException;
- public byte[] encodeDouble(double d);
+ public byte[] encodeDouble(double d) throws IOException;
- public byte[] encodeDouble(double d, byte[] ret);
+ public byte[] encodeDouble(double d, byte[] ret) throws IOException;
- public double decodeDouble(byte[] a);
+ public double decodeDouble(byte[] a) throws IOException;
- public byte[] encodeFloat(float d);
+ public byte[] encodeFloat(float d) throws IOException;
- public byte[] encodeFloat(float f, byte[] ret);
+ public byte[] encodeFloat(float f, byte[] ret) throws IOException;
- public float decodeFloat(byte[] a);
+ public float decodeFloat(byte[] a) throws IOException;
- public boolean decodeBoolean(byte[] val);
+ public boolean decodeBoolean(byte[] val) throws IOException;
- public byte[] encodeBoolean(boolean b);
+ public byte[] encodeBoolean(boolean b) throws IOException;
- public byte[] encodeBoolean(boolean b, byte[] ret);
+ public byte[] encodeBoolean(boolean b, byte[] ret) throws IOException;
byte[] followingKey(int size, byte[] per);
http://git-wip-us.apache.org/repos/asf/gora/blob/fc00bb5b/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/HexEncoder.java
----------------------------------------------------------------------
diff --git a/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/HexEncoder.java b/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/HexEncoder.java
index 6db5295..092b532 100644
--- a/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/HexEncoder.java
+++ b/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/HexEncoder.java
@@ -22,7 +22,7 @@ package org.apache.gora.accumulo.encoders;
public class HexEncoder implements Encoder {
- private byte chars[] = new byte[] {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
+ private byte[] chars = new byte[] {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
private void encode(byte[] a, long l) {
for (int i = a.length - 1; i >= 0; i--) {
@@ -33,9 +33,9 @@ public class HexEncoder implements Encoder {
private int fromChar(byte b) {
if (b >= '0' && b <= '9') {
- return (b - '0');
+ return b - '0';
} else if (b >= 'a' && b <= 'f') {
- return (b - 'a' + 10);
+ return b - 'a' + 10;
}
throw new IllegalArgumentException("Bad char " + b);
http://git-wip-us.apache.org/repos/asf/gora/blob/fc00bb5b/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/SignedBinaryEncoder.java
----------------------------------------------------------------------
diff --git a/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/SignedBinaryEncoder.java b/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/SignedBinaryEncoder.java
index 87ebcd6..e7a4042 100644
--- a/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/SignedBinaryEncoder.java
+++ b/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/SignedBinaryEncoder.java
@@ -16,6 +16,7 @@
*/
package org.apache.gora.accumulo.encoders;
+import java.io.IOException;
/**
* This class transforms this bits within a primitive type so that
@@ -24,71 +25,80 @@ package org.apache.gora.accumulo.encoders;
* before positive numbers, when compared lexographically.
*/
public class SignedBinaryEncoder extends BinaryEncoder {
-
- public byte[] encodeShort(short s, byte ret[]){
+
+ @Override
+ public byte[] encodeShort(short s, byte[] ret) throws IOException{
s = (short)((s & 0xffff) ^ 0x8000);
return super.encodeShort(s, ret);
}
-
- public short decodeShort(byte[] a){
+
+ @Override
+ public short decodeShort(byte[] a) throws IOException{
short s = super.decodeShort(a);
s = (short)((s & 0xffff) ^ 0x8000);
return s;
}
-
- public byte[] encodeInt(int i, byte ret[]){
+
+ @Override
+ public byte[] encodeInt(int i, byte[] ret) throws IOException{
i = i ^ 0x80000000;
return super.encodeInt(i, ret);
}
-
- public int decodeInt(byte[] a){
+
+ @Override
+ public int decodeInt(byte[] a) throws IOException{
int i = super.decodeInt(a);
i = i ^ 0x80000000;
return i;
}
-
- public byte[] encodeLong(long l, byte ret[]){
- l = l ^ 0x8000000000000000l;
+
+ @Override
+ public byte[] encodeLong(long l, byte[] ret) throws IOException{
+ l = l ^ 0x8000000000000000L;
return super.encodeLong(l, ret);
}
-
- public long decodeLong(byte[] a) {
+
+ @Override
+ public long decodeLong(byte[] a) throws IOException {
long l = super.decodeLong(a);
- l = l ^ 0x8000000000000000l;
+ l = l ^ 0x8000000000000000L;
return l;
}
-
-
- public byte[] encodeDouble(double d, byte[] ret) {
+
+ @Override
+ public byte[] encodeDouble(double d, byte[] ret) throws IOException {
long l = Double.doubleToRawLongBits(d);
if(l < 0)
l = ~l;
else
- l = l ^ 0x8000000000000000l;
+ l = l ^ 0x8000000000000000L;
return super.encodeLong(l,ret);
}
-
- public double decodeDouble(byte[] a){
+
+ @Override
+ public double decodeDouble(byte[] a) throws IOException{
long l = super.decodeLong(a);
if(l < 0)
- l = l ^ 0x8000000000000000l;
+ l = l ^ 0x8000000000000000L;
else
l = ~l;
return Double.longBitsToDouble(l);
}
-
- public byte[] encodeFloat(float f, byte[] ret) {
+
+ @Override
+ public byte[] encodeFloat(float f, byte[] ret) throws IOException {
int i = Float.floatToRawIntBits(f);
if(i < 0)
i = ~i;
else
i = i ^ 0x80000000;
-
+
return super.encodeInt(i, ret);
-
+
}
-
- public float decodeFloat(byte[] a){
+
+ @Override
+ public float decodeFloat(byte[] a) throws IOException{
int i = super.decodeInt(a);
if(i < 0)
i = i ^ 0x80000000;
@@ -96,5 +106,5 @@ public class SignedBinaryEncoder extends BinaryEncoder {
i = ~i;
return Float.intBitsToFloat(i);
}
-
+
}
http://git-wip-us.apache.org/repos/asf/gora/blob/fc00bb5b/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/Utils.java
----------------------------------------------------------------------
diff --git a/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/Utils.java b/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/Utils.java
index 5fa7de0..99c8f21 100644
--- a/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/Utils.java
+++ b/gora-accumulo/src/main/java/org/apache/gora/accumulo/encoders/Utils.java
@@ -43,7 +43,7 @@ public class Utils {
bi = bi.subtract(BigInteger.ONE);
- byte ret[] = new byte[size];
+ byte[] ret = new byte[size];
Arrays.fill(ret, (byte) 0xff);
System.arraycopy(getBytes(bi, er.length), 0, ret, 0, er.length);
@@ -56,13 +56,13 @@ public class Utils {
if (ret[0] == 0) {
// remove leading 0 that makes num positive
- byte copy[] = new byte[ret.length - 1];
+ byte[] copy = new byte[ret.length - 1];
System.arraycopy(ret, 1, copy, 0, copy.length);
ret = copy;
}
// leading digits are dropped
- byte copy[] = new byte[minLen];
+ byte[] copy = new byte[minLen];
if (bi.compareTo(BigInteger.ZERO) < 0) {
Arrays.fill(copy, (byte) 0xff);
}
http://git-wip-us.apache.org/repos/asf/gora/blob/fc00bb5b/gora-accumulo/src/main/java/org/apache/gora/accumulo/store/AccumuloStore.java
----------------------------------------------------------------------
diff --git a/gora-accumulo/src/main/java/org/apache/gora/accumulo/store/AccumuloStore.java b/gora-accumulo/src/main/java/org/apache/gora/accumulo/store/AccumuloStore.java
index e6b6e65..2a8af02 100644
--- a/gora-accumulo/src/main/java/org/apache/gora/accumulo/store/AccumuloStore.java
+++ b/gora-accumulo/src/main/java/org/apache/gora/accumulo/store/AccumuloStore.java
@@ -116,6 +116,8 @@ public class AccumuloStore<K,T extends PersistentBase> extends DataStoreBase<K,T
protected static final String PASSWORD_PROPERTY = "accumulo.password";
protected static final String DEFAULT_MAPPING_FILE = "gora-accumulo-mapping.xml";
+ private final static String UNKOWN = "Unknown type ";
+
private Connector conn;
private BatchWriter batchWriter;
private AccumuloMapping mapping;
@@ -124,7 +126,7 @@ public class AccumuloStore<K,T extends PersistentBase> extends DataStoreBase<K,T
public static final Logger LOG = LoggerFactory.getLogger(AccumuloStore.class);
- public Object fromBytes(Schema schema, byte data[]) throws GoraException {
+ public Object fromBytes(Schema schema, byte[] data) throws IOException {
Schema fromSchema = null;
if (schema.getType() == Type.UNION) {
try {
@@ -149,7 +151,7 @@ public class AccumuloStore<K,T extends PersistentBase> extends DataStoreBase<K,T
return fromBytes(encoder, fromSchema, data);
}
- public static Object fromBytes(Encoder encoder, Schema schema, byte data[]) {
+ public static Object fromBytes(Encoder encoder, Schema schema, byte data[]) throws IOException {
switch (schema.getType()) {
case BOOLEAN:
return encoder.decodeBoolean(data);
@@ -182,7 +184,7 @@ public class AccumuloStore<K,T extends PersistentBase> extends DataStoreBase<K,T
default:
break;
}
- throw new IllegalArgumentException("Unknown type " + schema.getType());
+ throw new IllegalArgumentException(UNKOWN + schema.getType());
}
@@ -222,7 +224,7 @@ public class AccumuloStore<K,T extends PersistentBase> extends DataStoreBase<K,T
return (K) new Utf8(val);
}
- throw new IllegalArgumentException("Unknown type " + clazz.getName());
+ throw new IllegalArgumentException(UNKOWN + clazz.getName());
} catch (IOException ioe) {
LOG.error(ioe.getMessage());
throw new RuntimeException(ioe);
@@ -231,7 +233,7 @@ public class AccumuloStore<K,T extends PersistentBase> extends DataStoreBase<K,T
private static byte[] copyIfNeeded(byte b[], int offset, int len) {
if (len != b.length || offset != 0) {
- byte copy[] = new byte[len];
+ byte[] copy = new byte[len];
System.arraycopy(b, offset, copy, 0, copy.length);
b = copy;
}
@@ -322,7 +324,7 @@ public class AccumuloStore<K,T extends PersistentBase> extends DataStoreBase<K,T
throw new RuntimeException(ioe);
}
- throw new IllegalArgumentException("Uknown type " + o.getClass().getName());
+ throw new IllegalArgumentException(UNKOWN + o.getClass().getName());
}
private BatchWriter getBatchWriter() throws IOException {
@@ -330,7 +332,7 @@ public class AccumuloStore<K,T extends PersistentBase> extends DataStoreBase<K,T
try {
BatchWriterConfig batchWriterConfig = new BatchWriterConfig();
batchWriterConfig.setMaxMemory(10000000);
- batchWriterConfig.setMaxLatency(60000l, TimeUnit.MILLISECONDS);
+ batchWriterConfig.setMaxLatency(60000L, TimeUnit.MILLISECONDS);
batchWriterConfig.setMaxWriteThreads(4);
batchWriter = conn.createBatchWriter(mapping.tableName, batchWriterConfig);
} catch (TableNotFoundException e) {
@@ -351,7 +353,7 @@ public class AccumuloStore<K,T extends PersistentBase> extends DataStoreBase<K,T
mapping = readMapping(mappingFile);
- if (mapping.encoder == null || mapping.encoder.equals("")) {
+ if (mapping.encoder == null || "".equals(mapping.encoder)) {
encoder = new BinaryEncoder();
} else {
try {
@@ -409,7 +411,7 @@ public class AccumuloStore<K,T extends PersistentBase> extends DataStoreBase<K,T
String name = fieldElement.getAttribute("name");
String family = fieldElement.getAttribute("family");
String qualifier = fieldElement.getAttribute("qualifier");
- if (qualifier.equals(""))
+ if ("".equals(qualifier))
qualifier = null;
Pair<Text,Text> col = new Pair<>(new Text(family), qualifier == null ? null : new Text(qualifier));
@@ -603,7 +605,7 @@ public class AccumuloStore<K,T extends PersistentBase> extends DataStoreBase<K,T
return fieldName;
}
- private void setFetchColumns(Scanner scanner, String fields[]) {
+ private void setFetchColumns(Scanner scanner, String[] fields) {
fields = getFieldsToQuery(fields);
for (String field : fields) {
Pair<Text,Text> col = mapping.fieldMap.get(field);
@@ -614,7 +616,7 @@ public class AccumuloStore<K,T extends PersistentBase> extends DataStoreBase<K,T
scanner.fetchColumn(col.getFirst(), col.getSecond());
}
} else {
- LOG.error("Mapping not found for field: " + field);
+ LOG.error("Mapping not found for field: {}", field);
}
}
}
@@ -733,7 +735,7 @@ public class AccumuloStore<K,T extends PersistentBase> extends DataStoreBase<K,T
Object mapKey = ((Entry<?, ?>) entry).getKey();
Object mapVal = ((Entry<?, ?>) entry).getValue();
if ((o instanceof DirtyMapWrapper && ((DirtyMapWrapper<?, ?>)o).isDirty())
- || !(o instanceof DirtyMapWrapper)) { //mapVal instanceof Dirtyable && ((Dirtyable)mapVal).isDirty()) {
+ || !(o instanceof DirtyMapWrapper)) {
m.put(col.getFirst(), new Text(toBytes(mapKey)), new Value(toBytes(valueType, mapVal)));
count++;
}
@@ -971,7 +973,7 @@ public class AccumuloStore<K,T extends PersistentBase> extends DataStoreBase<K,T
return fromBytes(encoder, clazz, er);
}
- throw new IllegalArgumentException("Unknown type " + clazz.getName());
+ throw new IllegalArgumentException(UNKOWN + clazz.getName());
}
@@ -1004,7 +1006,7 @@ public class AccumuloStore<K,T extends PersistentBase> extends DataStoreBase<K,T
return fromBytes(encoder, clazz, Arrays.copyOf(per, per.length + 1));
}
- throw new IllegalArgumentException("Unknown type " + clazz.getName());
+ throw new IllegalArgumentException(UNKOWN + clazz.getName());
}
@Override
http://git-wip-us.apache.org/repos/asf/gora/blob/fc00bb5b/gora-accumulo/src/test/java/org/apache/gora/accumulo/store/PartitionTest.java
----------------------------------------------------------------------
diff --git a/gora-accumulo/src/test/java/org/apache/gora/accumulo/store/PartitionTest.java b/gora-accumulo/src/test/java/org/apache/gora/accumulo/store/PartitionTest.java
index b1ffd67..d201e51 100644
--- a/gora-accumulo/src/test/java/org/apache/gora/accumulo/store/PartitionTest.java
+++ b/gora-accumulo/src/test/java/org/apache/gora/accumulo/store/PartitionTest.java
@@ -34,7 +34,7 @@ public class PartitionTest {
private static Encoder encoder = new SignedBinaryEncoder();
- static long encl(long l) {
+ static long encl(long l) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
try {
@@ -47,7 +47,7 @@ public class PartitionTest {
}
@Test
- public void test1() {
+ public void test1() throws IOException {
assertEquals(encl(0x006f000000000000l), (long) AccumuloStore.followingKey(encoder, Long.class, new byte[] {0x00, 0x6f}));
assertEquals(encl(1l), (long) AccumuloStore.followingKey(encoder, Long.class, new byte[] {0, 0, 0, 0, 0, 0, 0, 0}));
assertEquals(encl(0x106f000000000001l), (long) AccumuloStore.followingKey(encoder, Long.class, new byte[] {0x10, 0x6f, 0, 0, 0, 0, 0, 0}));
@@ -75,7 +75,7 @@ public class PartitionTest {
}
@Test
- public void test2() {
+ public void test2() throws IOException {
assertEquals(encl(0x00ffffffffffffffl), (long) AccumuloStore.lastPossibleKey(encoder, Long.class, new byte[] {0x01}));
assertEquals(encl(0x006effffffffffffl), (long) AccumuloStore.lastPossibleKey(encoder, Long.class, new byte[] {0x00, 0x6f}));
assertEquals(encl(0xff6effffffffffffl), (long) AccumuloStore.lastPossibleKey(encoder, Long.class, new byte[] {(byte) 0xff, 0x6f}));
http://git-wip-us.apache.org/repos/asf/gora/blob/fc00bb5b/gora-accumulo/src/test/java/org/apache/gora/accumulo/util/SignedBinaryEncoderTest.java
----------------------------------------------------------------------
diff --git a/gora-accumulo/src/test/java/org/apache/gora/accumulo/util/SignedBinaryEncoderTest.java b/gora-accumulo/src/test/java/org/apache/gora/accumulo/util/SignedBinaryEncoderTest.java
index 0ae2c47..d6d3611 100644
--- a/gora-accumulo/src/test/java/org/apache/gora/accumulo/util/SignedBinaryEncoderTest.java
+++ b/gora-accumulo/src/test/java/org/apache/gora/accumulo/util/SignedBinaryEncoderTest.java
@@ -16,6 +16,7 @@
*/
package org.apache.gora.accumulo.util;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
@@ -30,7 +31,7 @@ import static org.junit.Assert.assertTrue;
*/
public class SignedBinaryEncoderTest {
@Test
- public void testShort() {
+ public void testShort() throws IOException {
short s = Short.MIN_VALUE;
Text prev = null;
@@ -49,7 +50,7 @@ public class SignedBinaryEncoderTest {
}
}
- private void testInt(int start, int finish) {
+ private void testInt(int start, int finish) throws IOException {
int i = start;
Text prev = null;
@@ -69,13 +70,13 @@ public class SignedBinaryEncoderTest {
}
@Test
- public void testInt() {
+ public void testInt() throws IOException {
testInt(Integer.MIN_VALUE, Integer.MIN_VALUE + (1 << 16));
testInt(-(1 << 15), (1 << 15));
testInt(Integer.MAX_VALUE - (1 << 16), Integer.MAX_VALUE);
}
- private void testLong(long start, long finish) {
+ private void testLong(long start, long finish) throws IOException {
long l = start;
Text prev = null;
@@ -95,14 +96,14 @@ public class SignedBinaryEncoderTest {
}
@Test
- public void testLong() {
+ public void testLong() throws IOException {
testLong(Long.MIN_VALUE, Long.MIN_VALUE + (1 << 16));
testLong(-(1 << 15), (1 << 15));
testLong(Long.MAX_VALUE - (1 << 16), Long.MAX_VALUE);
}
@Test
- public void testDouble() {
+ public void testDouble() throws IOException {
ArrayList<Double> testData = new ArrayList<>();
testData.add(Double.NEGATIVE_INFINITY);
@@ -133,7 +134,7 @@ public class SignedBinaryEncoderTest {
}
@Test
- public void testFloat() {
+ public void testFloat() throws IOException {
ArrayList<Float> testData = new ArrayList<>();
testData.add(Float.NEGATIVE_INFINITY);
http://git-wip-us.apache.org/repos/asf/gora/blob/fc00bb5b/gora-core/src/main/java/org/apache/gora/memory/store/MemStore.java
----------------------------------------------------------------------
diff --git a/gora-core/src/main/java/org/apache/gora/memory/store/MemStore.java b/gora-core/src/main/java/org/apache/gora/memory/store/MemStore.java
index 81dc3b9..b67c7c1 100644
--- a/gora-core/src/main/java/org/apache/gora/memory/store/MemStore.java
+++ b/gora-core/src/main/java/org/apache/gora/memory/store/MemStore.java
@@ -106,13 +106,31 @@ public class MemStore<K, T extends PersistentBase> extends DataStoreBase<K, T> {
@Override
public long deleteByQuery(Query<K, T> query) {
- try{
+ try {
long deletedRows = 0;
- Result<K,T> result = query.execute();
+ Result<K, T> result = query.execute();
+
+ String[] fields = getFieldsToQuery(query.getFields());
+ boolean isAllFields = Arrays.equals(fields, getFields());
- while(result.next()) {
- if(delete(result.getKey()))
- deletedRows++;
+ while (result.next()) {
+ if (isAllFields) {
+ if (delete(result.getKey())) {
+ deletedRows++;
+ }
+ } else {
+ ArrayList<String> excludedFields = new ArrayList<>();
+ for (String field : getFields()) {
+ if (!Arrays.asList(fields).contains(field)) {
+ excludedFields.add(field);
+ }
+ }
+ T newClonedObj = getPersistent(result.get(),excludedFields.toArray(new String[excludedFields.size()]));
+ if (delete(result.getKey())) {
+ put(result.getKey(),newClonedObj);
+ deletedRows++;
+ }
+ }
}
return deletedRows;
} catch (Exception e) {
@@ -179,7 +197,9 @@ public class MemStore<K, T extends PersistentBase> extends DataStoreBase<K, T> {
return obj;
}
T newObj = AvroUtils.deepClonePersistent(obj);
- for (Field otherField : otherFields) {
+ newObj.clear();
+ for (String field : fields) {
+ Field otherField = obj.getSchema().getField(field);
int index = otherField.pos();
newObj.put(index, obj.get(index));
}
http://git-wip-us.apache.org/repos/asf/gora/blob/fc00bb5b/gora-core/src/test/java/org/apache/gora/memory/store/MemStoreTest.java
----------------------------------------------------------------------
diff --git a/gora-core/src/test/java/org/apache/gora/memory/store/MemStoreTest.java b/gora-core/src/test/java/org/apache/gora/memory/store/MemStoreTest.java
index 87eea71..8e94662 100644
--- a/gora-core/src/test/java/org/apache/gora/memory/store/MemStoreTest.java
+++ b/gora-core/src/test/java/org/apache/gora/memory/store/MemStoreTest.java
@@ -22,6 +22,8 @@ import java.io.IOException;
import org.apache.gora.examples.WebPageDataCreator;
import org.apache.gora.examples.generated.Employee;
import org.apache.gora.examples.generated.WebPage;
+import org.apache.gora.persistency.BeanFactory;
+import org.apache.gora.persistency.impl.BeanFactoryImpl;
import org.apache.gora.query.Query;
import org.apache.gora.store.DataStore;
import org.apache.gora.store.DataStoreFactory;
@@ -36,6 +38,7 @@ import org.slf4j.LoggerFactory;
import static org.apache.gora.examples.WebPageDataCreator.SORTED_URLS;
import static org.apache.gora.examples.WebPageDataCreator.URLS;
+import static org.apache.gora.examples.WebPageDataCreator.URL_INDEXES;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
@@ -50,7 +53,7 @@ import static org.junit.Assume.assumeTrue;
public class MemStoreTest extends DataStoreTestBase {
private static final Logger LOG = LoggerFactory.getLogger(MemStoreTest.class);
-
+
private static final int NUM_KEYS = 4;
private Configuration conf;
@@ -106,15 +109,33 @@ public class MemStoreTest extends DataStoreTestBase {
@Test
public void testDeleteByQueryFields() {}
- @Ignore("GORA-447")
@Test
- public void testGetWithFields() {}
+ public void testGetWithFields() throws Exception {
+
+ DataStore<String, WebPage> store = new MemStore<>();
+ BeanFactory<String, WebPage> beanFactory = new BeanFactoryImpl<>(String.class, WebPage.class);
+ store.setBeanFactory(beanFactory);
+ WebPageDataCreator.createWebPageData(store);
+ String[] interestFields = new String[2];
+ interestFields[0] = "url";
+ interestFields[1] = "content";
+ WebPage page = store.get(URLS[1], interestFields);
+ assertNotNull(page);
+ assertNotNull(page.getUrl());
+ assertEquals(page.getUrl().toString(), URLS[1]);
+ assertNotNull(page.getContent());
+ assertEquals("Map of Outlinks should have a size of '0' as it is omitted at retrieval",
+ 0, page.getOutlinks().size());
+ assertEquals("Map of Parsed Content should have a size of '0' as it is omitted at retrieval",
+ 0, page.getParsedContent().size());
+ }
- @Ignore("GORA-447")
@Test
public void testMemStoreDeleteByQueryFields() throws Exception {
DataStore<String, WebPage> store = new MemStore<>();
+ BeanFactory<String, WebPage> beanFactory = new BeanFactoryImpl<>(String.class, WebPage.class);
+ store.setBeanFactory(beanFactory);
Query<String, WebPage> query;
//test 5 - delete all with some fields
@@ -122,11 +143,11 @@ public class MemStoreTest extends DataStoreTestBase {
query = store.newQuery();
query.setFields("outlinks", "parsedContent", "content");
-
+
Query<String, WebPage> newQuery = store.newQuery();
- newQuery.setStartKey(URLS[0]);
- newQuery.setEndKey(URLS[9]);
- //newQuery.setFields("outlinks", "parsedContent", "content");
+ newQuery.setStartKey(SORTED_URLS[0]);
+ newQuery.setEndKey(SORTED_URLS[9]);
+ newQuery.setFields("outlinks", "parsedContent", "content");
DataStoreTestUtil.assertNumResults(newQuery, URLS.length);
store.deleteByQuery(query);
@@ -178,7 +199,7 @@ public class MemStoreTest extends DataStoreTestBase {
for (int i = 0; i < URLS.length; i++) {
WebPage page = store.get(URLS[i]);
assertNotNull(page);
- if( URLS[i].compareTo(startKey) < 0 || URLS[i].compareTo(endKey) >= 0) {
+ if( URLS[i].compareTo(startKey) < 0 || URLS[i].compareTo(endKey) > 0) {
//not deleted
DataStoreTestUtil.assertWebPage(page, i);
} else {