use of com.google.bigtable.v2.ReadModifyWriteRowRequest in project java-bigtable-hbase by googleapis.
the class TestAppendAdapter method testMultipleColumnFamiliesWithSameQualifiers.
@Test
public void testMultipleColumnFamiliesWithSameQualifiers() {
byte[] rowKey = dataHelper.randomData("rk1-");
byte[] family1 = Bytes.toBytes("family1");
byte[] qualifier1 = Bytes.toBytes("qualifier1");
byte[] value1 = Bytes.toBytes("value1");
byte[] family2 = Bytes.toBytes("family2");
byte[] value2 = Bytes.toBytes("value2");
Append append = new Append(rowKey);
append.add(family1, qualifier1, value1);
append.add(family2, qualifier1, value2);
ReadModifyWriteRow readModifyWriteRow = ReadModifyWriteRow.create(TABLE_ID, ByteString.copyFrom(rowKey));
appendAdapter.adapt(append, readModifyWriteRow);
ReadModifyWriteRowRequest request = readModifyWriteRow.toProto(requestContext);
List<ReadModifyWriteRule> rules = request.getRulesList();
Assert.assertEquals(2, rules.size());
Assert.assertEquals("family1", rules.get(0).getFamilyName());
Assert.assertEquals("qualifier1", rules.get(0).getColumnQualifier().toStringUtf8());
Assert.assertEquals("value1", rules.get(0).getAppendValue().toStringUtf8());
Assert.assertEquals("family2", rules.get(1).getFamilyName());
Assert.assertEquals("qualifier1", rules.get(1).getColumnQualifier().toStringUtf8());
// Value3 as it was added after value2:
Assert.assertEquals("value2", rules.get(1).getAppendValue().toStringUtf8());
}
use of com.google.bigtable.v2.ReadModifyWriteRowRequest in project java-bigtable-hbase by googleapis.
the class TestAppendAdapter method testMultipleAppendsWithDuplicates.
@Test
public void testMultipleAppendsWithDuplicates() {
byte[] rowKey = dataHelper.randomData("rk1-");
byte[] family1 = Bytes.toBytes("family1");
byte[] qualifier1 = Bytes.toBytes("qualifier1");
byte[] value1 = Bytes.toBytes("value1");
byte[] family2 = Bytes.toBytes("family2");
byte[] qualifier2 = Bytes.toBytes("qualifier2");
byte[] value2 = Bytes.toBytes("value2");
byte[] value3 = Bytes.toBytes("value3");
Append append = new Append(rowKey);
append.add(family1, qualifier1, value1);
append.add(family2, qualifier2, value2);
append.add(family2, qualifier2, value3);
ReadModifyWriteRow readModifyWriteRow = ReadModifyWriteRow.create(TABLE_ID, ByteString.copyFrom(rowKey));
appendAdapter.adapt(append, readModifyWriteRow);
ReadModifyWriteRowRequest request = readModifyWriteRow.toProto(requestContext);
List<ReadModifyWriteRule> rules = request.getRulesList();
Assert.assertEquals(2, rules.size());
Assert.assertEquals("family1", rules.get(0).getFamilyName());
Assert.assertEquals("qualifier1", rules.get(0).getColumnQualifier().toStringUtf8());
Assert.assertEquals("value1", rules.get(0).getAppendValue().toStringUtf8());
Assert.assertEquals("family2", rules.get(1).getFamilyName());
Assert.assertEquals("qualifier2", rules.get(1).getColumnQualifier().toStringUtf8());
// Value3 as it was added after value2:
Assert.assertEquals("value3", rules.get(1).getAppendValue().toStringUtf8());
}
use of com.google.bigtable.v2.ReadModifyWriteRowRequest in project java-bigtable-hbase by googleapis.
the class TestIncrementAdapter method testMultipleIncrement.
@Test
public void testMultipleIncrement() {
byte[] rowKey = dataHelper.randomData("rk1-");
byte[] family1 = Bytes.toBytes("family1");
byte[] qualifier1 = Bytes.toBytes("qualifier1");
long amount1 = 1234;
byte[] family2 = Bytes.toBytes("family2");
byte[] qualifier2 = Bytes.toBytes("qualifier2");
long amount2 = 4321;
Increment incr = new Increment(rowKey);
incr.addColumn(family1, qualifier1, amount1);
incr.addColumn(family2, qualifier2, amount2);
ReadModifyWriteRow readModifyWriteRow = ReadModifyWriteRow.create(TABLE_ID, ByteString.copyFrom(rowKey));
incrementAdapter.adapt(incr, readModifyWriteRow);
ReadModifyWriteRowRequest requestBuilder = readModifyWriteRow.toProto(requestContext);
Assert.assertEquals(2, requestBuilder.getRulesCount());
ReadModifyWriteRule rule = requestBuilder.getRules(0);
Assert.assertEquals("family1", rule.getFamilyName());
Assert.assertEquals("qualifier1", rule.getColumnQualifier().toStringUtf8());
Assert.assertEquals(amount1, rule.getIncrementAmount());
rule = requestBuilder.getRules(1);
Assert.assertEquals("family2", rule.getFamilyName());
Assert.assertEquals("qualifier2", rule.getColumnQualifier().toStringUtf8());
Assert.assertEquals(amount2, rule.getIncrementAmount());
}
use of com.google.bigtable.v2.ReadModifyWriteRowRequest in project java-bigtable-hbase by googleapis.
the class TestIncrementAdapter method testSingleIncrement.
@Test
public void testSingleIncrement() {
byte[] rowKey = dataHelper.randomData("rk1-");
byte[] family = Bytes.toBytes("family");
byte[] qualifier = Bytes.toBytes("qualifier");
long amount = 1234;
Increment incr = new Increment(rowKey);
incr.addColumn(family, qualifier, amount);
ReadModifyWriteRow readModifyWriteRow = ReadModifyWriteRow.create(TABLE_ID, ByteString.copyFrom(rowKey));
incrementAdapter.adapt(incr, readModifyWriteRow);
ReadModifyWriteRowRequest requestBuilder = readModifyWriteRow.toProto(requestContext);
Assert.assertEquals(1, requestBuilder.getRulesCount());
ReadModifyWriteRule rule = requestBuilder.getRules(0);
Assert.assertEquals("qualifier", rule.getColumnQualifier().toStringUtf8());
Assert.assertEquals("family", rule.getFamilyName());
Assert.assertEquals(amount, rule.getIncrementAmount());
}
use of com.google.bigtable.v2.ReadModifyWriteRowRequest in project java-bigtable by googleapis.
the class ReadModifyWriteRowTest method testIncrement.
@Test
public void testIncrement() {
ReadModifyWriteRow mutation = ReadModifyWriteRow.create(TABLE_ID, "fake-key").increment("fake-family", ByteString.copyFromUtf8("fake-qualifier"), 1).increment("fake-family", "fake-qualifier-str", 2);
ReadModifyWriteRowRequest actualProto = mutation.toProto(REQUEST_CONTEXT);
assertThat(actualProto).isEqualTo(ReadModifyWriteRowRequest.newBuilder().setTableName(NameUtil.formatTableName(PROJECT_ID, INSTANCE_ID, TABLE_ID)).setAppProfileId(APP_PROFILE_ID).setRowKey(ByteString.copyFromUtf8("fake-key")).addRules(ReadModifyWriteRule.newBuilder().setFamilyName("fake-family").setColumnQualifier(ByteString.copyFromUtf8("fake-qualifier")).setIncrementAmount(1)).addRules(ReadModifyWriteRule.newBuilder().setFamilyName("fake-family").setColumnQualifier(ByteString.copyFromUtf8("fake-qualifier-str")).setIncrementAmount(2)).build());
}
Aggregations