Author: medined Date: Tue Nov 13 01:13:34 2012 New Revision: 1408529 URL: http://svn.apache.org/viewvc?rev=1408529&view=rev Log: ACCUMULO-851: Add Mutation Constructor Accepting Byte Array.
Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/data/Mutation.java accumulo/trunk/core/src/test/java/org/apache/accumulo/core/data/MutationTest.java Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/data/Mutation.java URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/data/Mutation.java?rev=1408529&r1=1408528&r2=1408529&view=diff ============================================================================== --- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/data/Mutation.java (original) +++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/data/Mutation.java Tue Nov 13 01:13:34 2012 @@ -199,6 +199,16 @@ public class Mutation implements Writabl } } + public Mutation(byte[] byteBuffer) { + this(byteBuffer, 0, byteBuffer.length); + } + + public Mutation(byte[] byteBuffer, int start, int length) { + this.row = new byte[length]; + System.arraycopy(byteBuffer, start, this.row, 0, length); + buffer = new ByteBuffer(); + } + public Mutation(Text row) { this.row = new byte[row.getLength()]; System.arraycopy(row.getBytes(), 0, this.row, 0, row.getLength()); Modified: accumulo/trunk/core/src/test/java/org/apache/accumulo/core/data/MutationTest.java URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/test/java/org/apache/accumulo/core/data/MutationTest.java?rev=1408529&r1=1408528&r2=1408529&view=diff ============================================================================== --- accumulo/trunk/core/src/test/java/org/apache/accumulo/core/data/MutationTest.java (original) +++ accumulo/trunk/core/src/test/java/org/apache/accumulo/core/data/MutationTest.java Tue Nov 13 01:13:34 2012 @@ -31,6 +31,28 @@ import org.apache.hadoop.io.Text; public class MutationTest extends TestCase { + private static String toHexString(byte[] ba) { + StringBuilder str = new StringBuilder(); + for (int i = 0; i < ba.length; i++) { + str.append(String.format("%x", ba[i])); + } + return str.toString(); + } + + /* Test constructing a Mutation using a byte buffer. The byte array + * returned as the row is converted to a hexadecimal string for easy + * comparision. + */ + public void testByteConstructor() { + Mutation m = new Mutation("0123456789".getBytes()); + assertEquals("30313233343536373839", toHexString(m.getRow())); + } + + public void testLimitedByteConstructor() { + Mutation m = new Mutation("0123456789".getBytes(), 2, 5); + assertEquals("3233343536", toHexString(m.getRow())); + } + public void test1() { Mutation m = new Mutation(new Text("r1")); m.put(new Text("cf1"), new Text("cq1"), new Value("v1".getBytes()));