@Test public void testAppend() { ReadModifyWriteRow mutation = ReadModifyWriteRow.create(TABLE_ID, "fake-key") .append( "fake-family", ByteString.copyFromUtf8("fake-qualifier"), ByteString.copyFromUtf8("fake-value")) .append("fake-family", "fake-qualifier-str", "fake-value-str"); ReadModifyWriteRowRequest actualProto = mutation.toProto(REQUEST_CONTEXT); ReadModifyWriteRowRequest expected = 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")) .setAppendValue(ByteString.copyFromUtf8("fake-value"))) .addRules( ReadModifyWriteRule.newBuilder() .setFamilyName("fake-family") .setColumnQualifier(ByteString.copyFromUtf8("fake-qualifier-str")) .setAppendValue(ByteString.copyFromUtf8("fake-value-str"))) .build(); assertThat(actualProto).isEqualTo(expected); }
@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()); }
/** * * * <pre> * Rules specifying how the specified row's contents are to be transformed * into writes. Entries are applied in order, meaning that earlier rules will * affect the results of later ones. * </pre> * * <code>repeated .google.bigtable.v2.ReadModifyWriteRule rules = 3;</code> */ public Builder addRules( int index, com.google.bigtable.v2.ReadModifyWriteRule.Builder builderForValue) { if (rulesBuilder_ == null) { ensureRulesIsMutable(); rules_.add(index, builderForValue.build()); onChanged(); } else { rulesBuilder_.addMessage(index, builderForValue.build()); } return this; } /**
public Builder mergeFrom(com.google.bigtable.v2.ReadModifyWriteRule other) { if (other == com.google.bigtable.v2.ReadModifyWriteRule.getDefaultInstance()) return this; if (!other.getFamilyName().isEmpty()) { familyName_ = other.familyName_; onChanged(); } if (other.getColumnQualifier() != com.google.protobuf.ByteString.EMPTY) { setColumnQualifier(other.getColumnQualifier()); } switch (other.getRuleCase()) { case APPEND_VALUE: { setAppendValue(other.getAppendValue()); break; } case INCREMENT_AMOUNT: { setIncrementAmount(other.getIncrementAmount()); break; } case RULE_NOT_SET: { break; } } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; }
/** * * * <pre> * Rules specifying how the specified row's contents are to be transformed * into writes. Entries are applied in order, meaning that earlier rules will * affect the results of later ones. * </pre> * * <code>repeated .google.bigtable.v2.ReadModifyWriteRule rules = 3;</code> */ public Builder addRules(com.google.bigtable.v2.ReadModifyWriteRule.Builder builderForValue) { if (rulesBuilder_ == null) { ensureRulesIsMutable(); rules_.add(builderForValue.build()); onChanged(); } else { rulesBuilder_.addMessage(builderForValue.build()); } return this; } /**
public Builder mergeFrom(com.google.bigtable.v2.ReadModifyWriteRule other) { if (other == com.google.bigtable.v2.ReadModifyWriteRule.getDefaultInstance()) return this; if (!other.getFamilyName().isEmpty()) { familyName_ = other.familyName_; onChanged(); } if (other.getColumnQualifier() != com.google.protobuf.ByteString.EMPTY) { setColumnQualifier(other.getColumnQualifier()); } switch (other.getRuleCase()) { case APPEND_VALUE: { setAppendValue(other.getAppendValue()); break; } case INCREMENT_AMOUNT: { setIncrementAmount(other.getIncrementAmount()); break; } case RULE_NOT_SET: { break; } } onChanged(); return this; }
/** * * * <pre> * Rules specifying how the specified row's contents are to be transformed * into writes. Entries are applied in order, meaning that earlier rules will * affect the results of later ones. * </pre> * * <code>repeated .google.bigtable.v2.ReadModifyWriteRule rules = 3;</code> */ public Builder addRules( int index, com.google.bigtable.v2.ReadModifyWriteRule.Builder builderForValue) { if (rulesBuilder_ == null) { ensureRulesIsMutable(); rules_.add(index, builderForValue.build()); onChanged(); } else { rulesBuilder_.addMessage(index, builderForValue.build()); } return this; } /**
/** * * * <pre> * Rules specifying how the specified row's contents are to be transformed * into writes. Entries are applied in order, meaning that earlier rules will * affect the results of later ones. * </pre> * * <code>repeated .google.bigtable.v2.ReadModifyWriteRule rules = 3;</code> */ public Builder setRules( int index, com.google.bigtable.v2.ReadModifyWriteRule.Builder builderForValue) { if (rulesBuilder_ == null) { ensureRulesIsMutable(); rules_.set(index, builderForValue.build()); onChanged(); } else { rulesBuilder_.setMessage(index, builderForValue.build()); } return this; } /**
/** * <pre> * Rules specifying how the specified row's contents are to be transformed * into writes. Entries are applied in order, meaning that earlier rules will * affect the results of later ones. * </pre> * * <code>repeated .google.bigtable.v2.ReadModifyWriteRule rules = 3;</code> */ public Builder addRules( com.google.bigtable.v2.ReadModifyWriteRule.Builder builderForValue) { if (rulesBuilder_ == null) { ensureRulesIsMutable(); rules_.add(builderForValue.build()); onChanged(); } else { rulesBuilder_.addMessage(builderForValue.build()); } return this; } /**
/** * <pre> * Rules specifying how the specified row's contents are to be transformed * into writes. Entries are applied in order, meaning that earlier rules will * affect the results of later ones. * </pre> * * <code>repeated .google.bigtable.v2.ReadModifyWriteRule rules = 3;</code> */ public Builder addRules( int index, com.google.bigtable.v2.ReadModifyWriteRule.Builder builderForValue) { if (rulesBuilder_ == null) { ensureRulesIsMutable(); rules_.add(index, builderForValue.build()); onChanged(); } else { rulesBuilder_.addMessage(index, builderForValue.build()); } return this; } /**
/** * <pre> * Rules specifying how the specified row's contents are to be transformed * into writes. Entries are applied in order, meaning that earlier rules will * affect the results of later ones. * </pre> * * <code>repeated .google.bigtable.v2.ReadModifyWriteRule rules = 3;</code> */ public Builder setRules( int index, com.google.bigtable.v2.ReadModifyWriteRule.Builder builderForValue) { if (rulesBuilder_ == null) { ensureRulesIsMutable(); rules_.set(index, builderForValue.build()); onChanged(); } else { rulesBuilder_.setMessage(index, builderForValue.build()); } return this; } /**
public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { com.google.bigtable.v2.ReadModifyWriteRule parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (com.google.bigtable.v2.ReadModifyWriteRule) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int ruleCase_ = 0;
/** * Appends the value to the existing value of the cell. If the targeted cell is unset, it will be * treated as containing the empty string. */ public ReadModifyWriteRow append( @Nonnull String familyName, @Nonnull ByteString qualifier, @Nonnull ByteString value) { Validations.validateFamily(familyName); Preconditions.checkNotNull(qualifier, "Qualifier can't be null"); Preconditions.checkNotNull(value, "Value can't be null"); Preconditions.checkArgument(!value.isEmpty(), "Value can't be empty"); ReadModifyWriteRule rule = ReadModifyWriteRule.newBuilder() .setFamilyName(familyName) .setColumnQualifier(qualifier) .setAppendValue(value) .build(); builder.addRules(rule); return this; }
@java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { com.google.bigtable.v2.ReadModifyWriteRule parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (com.google.bigtable.v2.ReadModifyWriteRule) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; }
/** * Adds `amount` be added to the existing value. If the targeted cell is unset, it will be treated * as containing a zero. Otherwise, the targeted cell must contain an 8-byte value (interpreted as * a 64-bit big-endian signed integer), or the entire request will fail. */ public ReadModifyWriteRow increment( @Nonnull String familyName, @Nonnull ByteString qualifier, long amount) { Validations.validateFamily(familyName); Preconditions.checkNotNull(qualifier, "Qualifier can't be null"); ReadModifyWriteRule rule = ReadModifyWriteRule.newBuilder() .setFamilyName(familyName) .setColumnQualifier(qualifier) .setIncrementAmount(amount) .build(); builder.addRules(rule); return this; }
@java.lang.Override public com.google.bigtable.v2.ReadModifyWriteRule buildPartial() { com.google.bigtable.v2.ReadModifyWriteRule result = new com.google.bigtable.v2.ReadModifyWriteRule(this); result.familyName_ = familyName_; result.columnQualifier_ = columnQualifier_; if (ruleCase_ == 3) { result.rule_ = rule_; } if (ruleCase_ == 4) { result.rule_ = rule_; } result.ruleCase_ = ruleCase_; onBuilt(); return result; }
public com.google.bigtable.v2.ReadModifyWriteRule buildPartial() { com.google.bigtable.v2.ReadModifyWriteRule result = new com.google.bigtable.v2.ReadModifyWriteRule(this); result.familyName_ = familyName_; result.columnQualifier_ = columnQualifier_; if (ruleCase_ == 3) { result.rule_ = rule_; } if (ruleCase_ == 4) { result.rule_ = rule_; } result.ruleCase_ = ruleCase_; onBuilt(); return result; }
public static Builder newBuilder(com.google.bigtable.v2.ReadModifyWriteRule prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); }
private Builder() { maybeForceBuilderInitialization(); }
private Builder() { maybeForceBuilderInitialization(); }