Java 类org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.ColumnValue.QualifierValue 实例源码

项目:c5    文件:RequestConverter.java   
/**
 * Create a protocol buffer MutateRequest for a client increment
 *
 * @param regionName
 * @param row
 * @param family
 * @param qualifier
 * @param amount
 * @param durability
 * @return a mutate request
 */
public static MutateRequest buildMutateRequest(
    final byte[] regionName, final byte[] row, final byte[] family,
    final byte [] qualifier, final long amount, final Durability durability) {
  MutateRequest.Builder builder = MutateRequest.newBuilder();
  RegionSpecifier region = buildRegionSpecifier(
    RegionSpecifierType.REGION_NAME, regionName);
  builder.setRegion(region);

  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ZeroCopyLiteralByteString.wrap(row));
  mutateBuilder.setMutateType(MutationType.INCREMENT);
  mutateBuilder.setDurability(ProtobufUtil.toDurability(durability));
  ColumnValue.Builder columnBuilder = ColumnValue.newBuilder();
  columnBuilder.setFamily(ZeroCopyLiteralByteString.wrap(family));
  QualifierValue.Builder valueBuilder = QualifierValue.newBuilder();
  valueBuilder.setValue(ZeroCopyLiteralByteString.wrap(Bytes.toBytes(amount)));
  valueBuilder.setQualifier(ZeroCopyLiteralByteString.wrap(qualifier));
  columnBuilder.addQualifierValue(valueBuilder.build());
  mutateBuilder.addColumnValue(columnBuilder.build());
  builder.setMutation(mutateBuilder.build());
  return builder.build();
}
项目:c5    文件:ProtobufUtil.java   
public static MutationProto toMutation(final MutationType type, final Mutation mutation,
    MutationProto.Builder builder)
throws IOException {
  builder = getMutationBuilderAndSetCommonFields(type, mutation, builder);
  ColumnValue.Builder columnBuilder = ColumnValue.newBuilder();
  QualifierValue.Builder valueBuilder = QualifierValue.newBuilder();
  for (Map.Entry<byte[],List<Cell>> family: mutation.getFamilyCellMap().entrySet()) {
    columnBuilder.clear();
    columnBuilder.setFamily(ZeroCopyLiteralByteString.wrap(family.getKey()));
    for (Cell cell: family.getValue()) {
      KeyValue kv = KeyValueUtil.ensureKeyValue(cell);
      valueBuilder.setQualifier(ZeroCopyLiteralByteString.wrap(
          kv.getQualifierArray(), kv.getQualifierOffset(), kv.getQualifierLength()));
      valueBuilder.setValue(ZeroCopyLiteralByteString.wrap(
          kv.getValueArray(), kv.getValueOffset(), kv.getValueLength()));
      valueBuilder.setTimestamp(kv.getTimestamp());
      if (type == MutationType.DELETE) {
        KeyValue.Type keyValueType = KeyValue.Type.codeToType(kv.getType());
        valueBuilder.setDeleteType(toDeleteType(keyValueType));
      }
      columnBuilder.addQualifierValue(valueBuilder.build());
    }
    builder.addColumnValue(columnBuilder.build());
  }
  return builder.build();
}
项目:ditb    文件:TestProtobufUtil.java   
/**
 * Test Append Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testAppend() throws IOException {
  long timeStamp = 111111;
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.APPEND);
  mutateBuilder.setTimestamp(timeStamp);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v1"));
  qualifierBuilder.setTimestamp(timeStamp);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v2"));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setTimestamp(timeStamp);
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Append append = ProtobufUtil.toAppend(proto, null);

  // append always use the latest timestamp,
  // reset the timestamp to the original mutate
  mutateBuilder.setTimestamp(append.getTimeStamp());
  assertEquals(mutateBuilder.build(), ProtobufUtil.toMutation(MutationType.APPEND, append));
}
项目:ditb    文件:TestProtobufUtil.java   
/**
 * Test Increment Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testIncrement() throws IOException {
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.INCREMENT);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setValue(ByteStringer.wrap(Bytes.toBytes(11L)));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setValue(ByteStringer.wrap(Bytes.toBytes(22L)));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Increment increment = ProtobufUtil.toIncrement(proto, null);
  assertEquals(mutateBuilder.build(),
    ProtobufUtil.toMutation(increment, MutationProto.newBuilder(), HConstants.NO_NONCE));
}
项目:ditb    文件:RequestConverter.java   
/**
 * Create a protocol buffer MutateRequest for a client increment
 *
 * @param regionName
 * @param row
 * @param family
 * @param qualifier
 * @param amount
 * @param durability
 * @return a mutate request
 */
public static MutateRequest buildIncrementRequest(
    final byte[] regionName, final byte[] row, final byte[] family, final byte[] qualifier,
    final long amount, final Durability durability, long nonceGroup, long nonce) {
  MutateRequest.Builder builder = MutateRequest.newBuilder();
  RegionSpecifier region = buildRegionSpecifier(
    RegionSpecifierType.REGION_NAME, regionName);
  builder.setRegion(region);

  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteStringer.wrap(row));
  mutateBuilder.setMutateType(MutationType.INCREMENT);
  mutateBuilder.setDurability(ProtobufUtil.toDurability(durability));
  ColumnValue.Builder columnBuilder = ColumnValue.newBuilder();
  columnBuilder.setFamily(ByteStringer.wrap(family));
  QualifierValue.Builder valueBuilder = QualifierValue.newBuilder();
  valueBuilder.setValue(ByteStringer.wrap(Bytes.toBytes(amount)));
  valueBuilder.setQualifier(ByteStringer.wrap(qualifier));
  columnBuilder.addQualifierValue(valueBuilder.build());
  mutateBuilder.addColumnValue(columnBuilder.build());
  if (nonce != HConstants.NO_NONCE) {
    mutateBuilder.setNonce(nonce);
  }
  builder.setMutation(mutateBuilder.build());
  if (nonceGroup != HConstants.NO_NONCE) {
    builder.setNonceGroup(nonceGroup);
  }
  return builder.build();
}
项目:ditb    文件:ProtobufUtil.java   
public static MutationProto toMutation(final MutationType type, final Mutation mutation,
    MutationProto.Builder builder, long nonce)
throws IOException {
  builder = getMutationBuilderAndSetCommonFields(type, mutation, builder);
  if (nonce != HConstants.NO_NONCE) {
    builder.setNonce(nonce);
  }
  ColumnValue.Builder columnBuilder = ColumnValue.newBuilder();
  QualifierValue.Builder valueBuilder = QualifierValue.newBuilder();
  for (Map.Entry<byte[],List<Cell>> family: mutation.getFamilyCellMap().entrySet()) {
    columnBuilder.clear();
    columnBuilder.setFamily(ByteStringer.wrap(family.getKey()));
    for (Cell cell: family.getValue()) {
      valueBuilder.clear();
      valueBuilder.setQualifier(ByteStringer.wrap(
          cell.getQualifierArray(), cell.getQualifierOffset(), cell.getQualifierLength()));
      valueBuilder.setValue(ByteStringer.wrap(
          cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
      valueBuilder.setTimestamp(cell.getTimestamp());
      if (type == MutationType.DELETE || (type == MutationType.PUT && CellUtil.isDelete(cell))) {
        KeyValue.Type keyValueType = KeyValue.Type.codeToType(cell.getTypeByte());
        valueBuilder.setDeleteType(toDeleteType(keyValueType));
      }
      columnBuilder.addQualifierValue(valueBuilder.build());
    }
    builder.addColumnValue(columnBuilder.build());
  }
  return builder.build();
}
项目:pbase    文件:TestProtobufUtil.java   
/**
 * Test Append Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testAppend() throws IOException {
  long timeStamp = 111111;
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.APPEND);
  mutateBuilder.setTimestamp(timeStamp);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v1"));
  qualifierBuilder.setTimestamp(timeStamp);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v2"));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setTimestamp(timeStamp);
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Append append = ProtobufUtil.toAppend(proto, null);

  // append always use the latest timestamp,
  // reset the timestamp to the original mutate
  mutateBuilder.setTimestamp(append.getTimeStamp());
  assertEquals(mutateBuilder.build(), ProtobufUtil.toMutation(MutationType.APPEND, append));
}
项目:pbase    文件:TestProtobufUtil.java   
/**
 * Test Increment Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testIncrement() throws IOException {
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.INCREMENT);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setValue(ByteStringer.wrap(Bytes.toBytes(11L)));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setValue(ByteStringer.wrap(Bytes.toBytes(22L)));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Increment increment = ProtobufUtil.toIncrement(proto, null);
  assertEquals(mutateBuilder.build(),
    ProtobufUtil.toMutation(increment, MutationProto.newBuilder(), HConstants.NO_NONCE));
}
项目:pbase    文件:RequestConverter.java   
/**
 * Create a protocol buffer MutateRequest for a client increment
 *
 * @param regionName
 * @param row
 * @param family
 * @param qualifier
 * @param amount
 * @param durability
 * @return a mutate request
 */
public static MutateRequest buildIncrementRequest(
    final byte[] regionName, final byte[] row, final byte[] family, final byte[] qualifier,
    final long amount, final Durability durability, long nonceGroup, long nonce) {
  MutateRequest.Builder builder = MutateRequest.newBuilder();
  RegionSpecifier region = buildRegionSpecifier(
    RegionSpecifierType.REGION_NAME, regionName);
  builder.setRegion(region);

  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteStringer.wrap(row));
  mutateBuilder.setMutateType(MutationType.INCREMENT);
  mutateBuilder.setDurability(ProtobufUtil.toDurability(durability));
  ColumnValue.Builder columnBuilder = ColumnValue.newBuilder();
  columnBuilder.setFamily(ByteStringer.wrap(family));
  QualifierValue.Builder valueBuilder = QualifierValue.newBuilder();
  valueBuilder.setValue(ByteStringer.wrap(Bytes.toBytes(amount)));
  valueBuilder.setQualifier(ByteStringer.wrap(qualifier));
  columnBuilder.addQualifierValue(valueBuilder.build());
  mutateBuilder.addColumnValue(columnBuilder.build());
  if (nonce != HConstants.NO_NONCE) {
    mutateBuilder.setNonce(nonce);
  }
  builder.setMutation(mutateBuilder.build());
  if (nonceGroup != HConstants.NO_NONCE) {
    builder.setNonceGroup(nonceGroup);
  }
  return builder.build();
}
项目:pbase    文件:ProtobufUtil.java   
public static MutationProto toMutation(final MutationType type, final Mutation mutation,
    MutationProto.Builder builder, long nonce)
throws IOException {
  builder = getMutationBuilderAndSetCommonFields(type, mutation, builder);
  if (nonce != HConstants.NO_NONCE) {
    builder.setNonce(nonce);
  }
  ColumnValue.Builder columnBuilder = ColumnValue.newBuilder();
  QualifierValue.Builder valueBuilder = QualifierValue.newBuilder();
  for (Map.Entry<byte[],List<Cell>> family: mutation.getFamilyCellMap().entrySet()) {
    columnBuilder.clear();
    columnBuilder.setFamily(ByteStringer.wrap(family.getKey()));
    for (Cell cell: family.getValue()) {
      valueBuilder.clear();
      valueBuilder.setQualifier(ByteStringer.wrap(
          cell.getQualifierArray(), cell.getQualifierOffset(), cell.getQualifierLength()));
      valueBuilder.setValue(ByteStringer.wrap(
          cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
      valueBuilder.setTimestamp(cell.getTimestamp());
      if(cell.getTagsLength() > 0) {
        valueBuilder.setTags(ByteStringer.wrap(cell.getTagsArray(), cell.getTagsOffset(),
            cell.getTagsLength()));
      }
      if (type == MutationType.DELETE || (type == MutationType.PUT && CellUtil.isDelete(cell))) {
        KeyValue.Type keyValueType = KeyValue.Type.codeToType(cell.getTypeByte());
        valueBuilder.setDeleteType(toDeleteType(keyValueType));
      }
      columnBuilder.addQualifierValue(valueBuilder.build());
    }
    builder.addColumnValue(columnBuilder.build());
  }
  return builder.build();
}
项目:HIndex    文件:TestProtobufUtil.java   
/**
 * Test Append Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testAppend() throws IOException {
  long timeStamp = 111111;
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.APPEND);
  mutateBuilder.setTimestamp(timeStamp);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v1"));
  qualifierBuilder.setTimestamp(timeStamp);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v2"));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setTimestamp(timeStamp);
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Append append = ProtobufUtil.toAppend(proto, null);

  // append always use the latest timestamp,
  // reset the timestamp to the original mutate
  mutateBuilder.setTimestamp(append.getTimeStamp());
  assertEquals(mutateBuilder.build(), ProtobufUtil.toMutation(MutationType.APPEND, append));
}
项目:HIndex    文件:TestProtobufUtil.java   
/**
 * Test Increment Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testIncrement() throws IOException {
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.INCREMENT);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setValue(HBaseZeroCopyByteString.wrap(Bytes.toBytes(11L)));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setValue(HBaseZeroCopyByteString.wrap(Bytes.toBytes(22L)));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Increment increment = ProtobufUtil.toIncrement(proto, null);
  assertEquals(mutateBuilder.build(),
    ProtobufUtil.toMutation(increment, MutationProto.newBuilder(), HConstants.NO_NONCE));
}
项目:HIndex    文件:RequestConverter.java   
/**
 * Create a protocol buffer MutateRequest for a client increment
 *
 * @param regionName
 * @param row
 * @param family
 * @param qualifier
 * @param amount
 * @param durability
 * @return a mutate request
 */
public static MutateRequest buildIncrementRequest(
    final byte[] regionName, final byte[] row, final byte[] family, final byte[] qualifier,
    final long amount, final Durability durability, long nonceGroup, long nonce) {
  MutateRequest.Builder builder = MutateRequest.newBuilder();
  RegionSpecifier region = buildRegionSpecifier(
    RegionSpecifierType.REGION_NAME, regionName);
  builder.setRegion(region);

  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(HBaseZeroCopyByteString.wrap(row));
  mutateBuilder.setMutateType(MutationType.INCREMENT);
  mutateBuilder.setDurability(ProtobufUtil.toDurability(durability));
  ColumnValue.Builder columnBuilder = ColumnValue.newBuilder();
  columnBuilder.setFamily(HBaseZeroCopyByteString.wrap(family));
  QualifierValue.Builder valueBuilder = QualifierValue.newBuilder();
  valueBuilder.setValue(HBaseZeroCopyByteString.wrap(Bytes.toBytes(amount)));
  valueBuilder.setQualifier(HBaseZeroCopyByteString.wrap(qualifier));
  columnBuilder.addQualifierValue(valueBuilder.build());
  mutateBuilder.addColumnValue(columnBuilder.build());
  if (nonce != HConstants.NO_NONCE) {
    mutateBuilder.setNonce(nonce);
  }
  builder.setMutation(mutateBuilder.build());
  if (nonceGroup != HConstants.NO_NONCE) {
    builder.setNonceGroup(nonceGroup);
  }
  return builder.build();
}
项目:HIndex    文件:ProtobufUtil.java   
public static MutationProto toMutation(final MutationType type, final Mutation mutation,
    MutationProto.Builder builder, long nonce)
throws IOException {
  builder = getMutationBuilderAndSetCommonFields(type, mutation, builder);
  if (nonce != HConstants.NO_NONCE) {
    builder.setNonce(nonce);
  }
  ColumnValue.Builder columnBuilder = ColumnValue.newBuilder();
  QualifierValue.Builder valueBuilder = QualifierValue.newBuilder();
  for (Map.Entry<byte[],List<Cell>> family: mutation.getFamilyCellMap().entrySet()) {
    columnBuilder.clear();
    columnBuilder.setFamily(HBaseZeroCopyByteString.wrap(family.getKey()));
    for (Cell cell: family.getValue()) {
      KeyValue kv = KeyValueUtil.ensureKeyValue(cell);
      valueBuilder.setQualifier(HBaseZeroCopyByteString.wrap(
          kv.getQualifierArray(), kv.getQualifierOffset(), kv.getQualifierLength()));
      valueBuilder.setValue(HBaseZeroCopyByteString.wrap(
          kv.getValueArray(), kv.getValueOffset(), kv.getValueLength()));
      valueBuilder.setTimestamp(kv.getTimestamp());
      if(cell.getTagsLength() > 0) {
        valueBuilder.setTags(ByteString.copyFrom(CellUtil.getTagArray(kv)));
      }
      if (type == MutationType.DELETE) {
        KeyValue.Type keyValueType = KeyValue.Type.codeToType(kv.getType());
        valueBuilder.setDeleteType(toDeleteType(keyValueType));
      }
      columnBuilder.addQualifierValue(valueBuilder.build());
    }
    builder.addColumnValue(columnBuilder.build());
  }
  return builder.build();
}
项目:hbase    文件:TestProtobufUtil.java   
/**
 * Test Append Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testAppend() throws IOException {
  long timeStamp = 111111;
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.APPEND);
  mutateBuilder.setTimestamp(timeStamp);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v1"));
  qualifierBuilder.setTimestamp(timeStamp);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v2"));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Append append = ProtobufUtil.toAppend(proto, null);

  // append always use the latest timestamp,
  // reset the timestamp to the original mutate
  mutateBuilder.setTimestamp(append.getTimeStamp());
  assertEquals(mutateBuilder.build(), ProtobufUtil.toMutation(MutationType.APPEND, append));
}
项目:hbase    文件:TestProtobufUtil.java   
/**
 * Test Increment Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testIncrement() throws IOException {
  long timeStamp = 111111;
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.INCREMENT);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setValue(ByteString.copyFrom(Bytes.toBytes(11L)));
  qualifierBuilder.setTimestamp(timeStamp);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setValue(ByteString.copyFrom(Bytes.toBytes(22L)));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Increment increment = ProtobufUtil.toIncrement(proto, null);
  mutateBuilder.setTimestamp(increment.getTimeStamp());
  assertEquals(mutateBuilder.build(), ProtobufUtil.toMutation(MutationType.INCREMENT, increment));
}
项目:PyroDB    文件:TestProtobufUtil.java   
/**
 * Test Append Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testAppend() throws IOException {
  long timeStamp = 111111;
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.APPEND);
  mutateBuilder.setTimestamp(timeStamp);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v1"));
  qualifierBuilder.setTimestamp(timeStamp);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v2"));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setTimestamp(timeStamp);
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Append append = ProtobufUtil.toAppend(proto, null);

  // append always use the latest timestamp,
  // reset the timestamp to the original mutate
  mutateBuilder.setTimestamp(append.getTimeStamp());
  assertEquals(mutateBuilder.build(), ProtobufUtil.toMutation(MutationType.APPEND, append));
}
项目:PyroDB    文件:TestProtobufUtil.java   
/**
 * Test Increment Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testIncrement() throws IOException {
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.INCREMENT);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setValue(HBaseZeroCopyByteString.wrap(Bytes.toBytes(11L)));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setValue(HBaseZeroCopyByteString.wrap(Bytes.toBytes(22L)));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Increment increment = ProtobufUtil.toIncrement(proto, null);
  assertEquals(mutateBuilder.build(),
    ProtobufUtil.toMutation(increment, MutationProto.newBuilder(), HConstants.NO_NONCE));
}
项目:PyroDB    文件:RequestConverter.java   
/**
 * Create a protocol buffer MutateRequest for a client increment
 *
 * @param regionName
 * @param row
 * @param family
 * @param qualifier
 * @param amount
 * @param durability
 * @return a mutate request
 */
public static MutateRequest buildIncrementRequest(
    final byte[] regionName, final byte[] row, final byte[] family, final byte[] qualifier,
    final long amount, final Durability durability, long nonceGroup, long nonce) {
  MutateRequest.Builder builder = MutateRequest.newBuilder();
  RegionSpecifier region = buildRegionSpecifier(
    RegionSpecifierType.REGION_NAME, regionName);
  builder.setRegion(region);

  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(HBaseZeroCopyByteString.wrap(row));
  mutateBuilder.setMutateType(MutationType.INCREMENT);
  mutateBuilder.setDurability(ProtobufUtil.toDurability(durability));
  ColumnValue.Builder columnBuilder = ColumnValue.newBuilder();
  columnBuilder.setFamily(HBaseZeroCopyByteString.wrap(family));
  QualifierValue.Builder valueBuilder = QualifierValue.newBuilder();
  valueBuilder.setValue(HBaseZeroCopyByteString.wrap(Bytes.toBytes(amount)));
  valueBuilder.setQualifier(HBaseZeroCopyByteString.wrap(qualifier));
  columnBuilder.addQualifierValue(valueBuilder.build());
  mutateBuilder.addColumnValue(columnBuilder.build());
  if (nonce != HConstants.NO_NONCE) {
    mutateBuilder.setNonce(nonce);
  }
  builder.setMutation(mutateBuilder.build());
  if (nonceGroup != HConstants.NO_NONCE) {
    builder.setNonceGroup(nonceGroup);
  }
  return builder.build();
}
项目:PyroDB    文件:ProtobufUtil.java   
public static MutationProto toMutation(final MutationType type, final Mutation mutation,
    MutationProto.Builder builder, long nonce)
throws IOException {
  builder = getMutationBuilderAndSetCommonFields(type, mutation, builder);
  if (nonce != HConstants.NO_NONCE) {
    builder.setNonce(nonce);
  }
  ColumnValue.Builder columnBuilder = ColumnValue.newBuilder();
  QualifierValue.Builder valueBuilder = QualifierValue.newBuilder();
  for (Map.Entry<byte[],List<Cell>> family: mutation.getFamilyCellMap().entrySet()) {
    columnBuilder.clear();
    columnBuilder.setFamily(HBaseZeroCopyByteString.wrap(family.getKey()));
    for (Cell cell: family.getValue()) {
      KeyValue kv = KeyValueUtil.ensureKeyValue(cell);
      valueBuilder.setQualifier(HBaseZeroCopyByteString.wrap(
          kv.getQualifierArray(), kv.getQualifierOffset(), kv.getQualifierLength()));
      valueBuilder.setValue(HBaseZeroCopyByteString.wrap(
          kv.getValueArray(), kv.getValueOffset(), kv.getValueLength()));
      valueBuilder.setTimestamp(kv.getTimestamp());
      if(cell.getTagsLength() > 0) {
        valueBuilder.setTags(ByteString.copyFrom(CellUtil.getTagArray(kv)));
      }
      if (type == MutationType.DELETE) {
        KeyValue.Type keyValueType = KeyValue.Type.codeToType(kv.getType());
        valueBuilder.setDeleteType(toDeleteType(keyValueType));
      }
      columnBuilder.addQualifierValue(valueBuilder.build());
    }
    builder.addColumnValue(columnBuilder.build());
  }
  return builder.build();
}
项目:c5    文件:TestProtobufUtil.java   
/**
 * Test Append Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testAppend() throws IOException {
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.APPEND);
  mutateBuilder.setTimestamp(111111);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v1"));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v2"));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Append append = ProtobufUtil.toAppend(proto, null);

  // append always use the latest timestamp,
  // add the timestamp to the original mutate
  long timestamp = append.getTimeStamp();
  mutateBuilder.setTimestamp(timestamp);
  for (ColumnValue.Builder column: mutateBuilder.getColumnValueBuilderList()) {
    for (QualifierValue.Builder qualifier:
        column.getQualifierValueBuilderList()) {
      qualifier.setTimestamp(timestamp);
    }
  }
  assertEquals(mutateBuilder.build(), ProtobufUtil.toMutation(MutationType.APPEND, append));
}
项目:c5    文件:TestProtobufUtil.java   
/**
 * Test Increment Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testIncrement() throws IOException {
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.INCREMENT);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setValue(ZeroCopyLiteralByteString.wrap(Bytes.toBytes(11L)));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setValue(ZeroCopyLiteralByteString.wrap(Bytes.toBytes(22L)));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Increment increment = ProtobufUtil.toIncrement(proto, null);
  assertEquals(mutateBuilder.build(),
    ProtobufUtil.toMutation(increment, MutationProto.newBuilder()));
}
项目:ditb    文件:TestProtobufUtil.java   
/**
 * Test Delete Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testDelete() throws IOException {
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.DELETE);
  mutateBuilder.setTimestamp(111111);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setDeleteType(DeleteType.DELETE_ONE_VERSION);
  qualifierBuilder.setTimestamp(111222);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setDeleteType(DeleteType.DELETE_MULTIPLE_VERSIONS);
  qualifierBuilder.setTimestamp(111333);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Delete delete = ProtobufUtil.toDelete(proto);

  // delete always have empty value,
  // add empty value to the original mutate
  for (ColumnValue.Builder column:
      mutateBuilder.getColumnValueBuilderList()) {
    for (QualifierValue.Builder qualifier:
        column.getQualifierValueBuilderList()) {
      qualifier.setValue(ByteString.EMPTY);
    }
  }
  assertEquals(mutateBuilder.build(),
    ProtobufUtil.toMutation(MutationType.DELETE, delete));
}
项目:ditb    文件:TestProtobufUtil.java   
/**
 * Test Put Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testPut() throws IOException {
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.PUT);
  mutateBuilder.setTimestamp(111111);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v1"));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v2"));
  qualifierBuilder.setTimestamp(222222);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Put put = ProtobufUtil.toPut(proto);

  // put value always use the default timestamp if no
  // value level timestamp specified,
  // add the timestamp to the original mutate
  long timestamp = put.getTimeStamp();
  for (ColumnValue.Builder column:
      mutateBuilder.getColumnValueBuilderList()) {
    for (QualifierValue.Builder qualifier:
        column.getQualifierValueBuilderList()) {
      if (!qualifier.hasTimestamp()) {
        qualifier.setTimestamp(timestamp);
      }
    }
  }
  assertEquals(mutateBuilder.build(),
    ProtobufUtil.toMutation(MutationType.PUT, put));
}
项目:ditb    文件:ProtobufUtil.java   
/**
 * Convert a client Increment to a protobuf Mutate.
 *
 * @param increment
 * @return the converted mutate
 */
public static MutationProto toMutation(
  final Increment increment, final MutationProto.Builder builder, long nonce) {
  builder.setRow(ByteStringer.wrap(increment.getRow()));
  builder.setMutateType(MutationType.INCREMENT);
  builder.setDurability(toDurability(increment.getDurability()));
  if (nonce != HConstants.NO_NONCE) {
    builder.setNonce(nonce);
  }
  TimeRange timeRange = increment.getTimeRange();
  if (!timeRange.isAllTime()) {
    HBaseProtos.TimeRange.Builder timeRangeBuilder =
      HBaseProtos.TimeRange.newBuilder();
    timeRangeBuilder.setFrom(timeRange.getMin());
    timeRangeBuilder.setTo(timeRange.getMax());
    builder.setTimeRange(timeRangeBuilder.build());
  }
  ColumnValue.Builder columnBuilder = ColumnValue.newBuilder();
  QualifierValue.Builder valueBuilder = QualifierValue.newBuilder();
  for (Map.Entry<byte[], List<Cell>> family: increment.getFamilyCellMap().entrySet()) {
    columnBuilder.setFamily(ByteStringer.wrap(family.getKey()));
    columnBuilder.clearQualifierValue();
    List<Cell> values = family.getValue();
    if (values != null && values.size() > 0) {
      for (Cell cell: values) {
        valueBuilder.clear();
        valueBuilder.setQualifier(ByteStringer.wrap(
            cell.getQualifierArray(), cell.getQualifierOffset(), cell.getQualifierLength()));
        valueBuilder.setValue(ByteStringer.wrap(
            cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
        if (cell.getTagsLength() > 0) {
          valueBuilder.setTags(ByteStringer.wrap(cell.getTagsArray(),
              cell.getTagsOffset(), cell.getTagsLength()));
        }
        columnBuilder.addQualifierValue(valueBuilder.build());
      }
    }
    builder.addColumnValue(columnBuilder.build());
  }
  Map<String, byte[]> attributes = increment.getAttributesMap();
  if (!attributes.isEmpty()) {
    NameBytesPair.Builder attributeBuilder = NameBytesPair.newBuilder();
    for (Map.Entry<String, byte[]> attribute : attributes.entrySet()) {
      attributeBuilder.setName(attribute.getKey());
      attributeBuilder.setValue(ByteStringer.wrap(attribute.getValue()));
      builder.addAttribute(attributeBuilder.build());
    }
  }
  return builder.build();
}
项目:pbase    文件:TestProtobufUtil.java   
/**
 * Test Delete Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testDelete() throws IOException {
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.DELETE);
  mutateBuilder.setTimestamp(111111);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setDeleteType(DeleteType.DELETE_ONE_VERSION);
  qualifierBuilder.setTimestamp(111222);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setDeleteType(DeleteType.DELETE_MULTIPLE_VERSIONS);
  qualifierBuilder.setTimestamp(111333);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Delete delete = ProtobufUtil.toDelete(proto);

  // delete always have empty value,
  // add empty value to the original mutate
  for (ColumnValue.Builder column:
      mutateBuilder.getColumnValueBuilderList()) {
    for (QualifierValue.Builder qualifier:
        column.getQualifierValueBuilderList()) {
      qualifier.setValue(ByteString.EMPTY);
    }
  }
  assertEquals(mutateBuilder.build(),
    ProtobufUtil.toMutation(MutationType.DELETE, delete));
}
项目:pbase    文件:TestProtobufUtil.java   
/**
 * Test Put Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testPut() throws IOException {
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.PUT);
  mutateBuilder.setTimestamp(111111);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v1"));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v2"));
  qualifierBuilder.setTimestamp(222222);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Put put = ProtobufUtil.toPut(proto);

  // put value always use the default timestamp if no
  // value level timestamp specified,
  // add the timestamp to the original mutate
  long timestamp = put.getTimeStamp();
  for (ColumnValue.Builder column:
      mutateBuilder.getColumnValueBuilderList()) {
    for (QualifierValue.Builder qualifier:
        column.getQualifierValueBuilderList()) {
      if (!qualifier.hasTimestamp()) {
        qualifier.setTimestamp(timestamp);
      }
    }
  }
  assertEquals(mutateBuilder.build(),
    ProtobufUtil.toMutation(MutationType.PUT, put));
}
项目:pbase    文件:ProtobufUtil.java   
/**
 * Convert a client Increment to a protobuf Mutate.
 *
 * @param increment
 * @return the converted mutate
 */
public static MutationProto toMutation(
  final Increment increment, final MutationProto.Builder builder, long nonce) {
  builder.setRow(ByteStringer.wrap(increment.getRow()));
  builder.setMutateType(MutationType.INCREMENT);
  builder.setDurability(toDurability(increment.getDurability()));
  if (nonce != HConstants.NO_NONCE) {
    builder.setNonce(nonce);
  }
  TimeRange timeRange = increment.getTimeRange();
  if (!timeRange.isAllTime()) {
    HBaseProtos.TimeRange.Builder timeRangeBuilder =
      HBaseProtos.TimeRange.newBuilder();
    timeRangeBuilder.setFrom(timeRange.getMin());
    timeRangeBuilder.setTo(timeRange.getMax());
    builder.setTimeRange(timeRangeBuilder.build());
  }
  ColumnValue.Builder columnBuilder = ColumnValue.newBuilder();
  QualifierValue.Builder valueBuilder = QualifierValue.newBuilder();
  for (Map.Entry<byte[], List<Cell>> family: increment.getFamilyCellMap().entrySet()) {
    columnBuilder.setFamily(ByteStringer.wrap(family.getKey()));
    columnBuilder.clearQualifierValue();
    List<Cell> values = family.getValue();
    if (values != null && values.size() > 0) {
      for (Cell cell: values) {
        valueBuilder.clear();
        valueBuilder.setQualifier(ByteStringer.wrap(
            cell.getQualifierArray(), cell.getQualifierOffset(), cell.getQualifierLength()));
        valueBuilder.setValue(ByteStringer.wrap(
            cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
        if (cell.getTagsLength() > 0) {
          valueBuilder.setTags(ByteStringer.wrap(cell.getTagsArray(),
              cell.getTagsOffset(), cell.getTagsLength()));
        }
        columnBuilder.addQualifierValue(valueBuilder.build());
      }
    }
    builder.addColumnValue(columnBuilder.build());
  }
  Map<String, byte[]> attributes = increment.getAttributesMap();
  if (!attributes.isEmpty()) {
    NameBytesPair.Builder attributeBuilder = NameBytesPair.newBuilder();
    for (Map.Entry<String, byte[]> attribute : attributes.entrySet()) {
      attributeBuilder.setName(attribute.getKey());
      attributeBuilder.setValue(ByteStringer.wrap(attribute.getValue()));
      builder.addAttribute(attributeBuilder.build());
    }
  }
  return builder.build();
}
项目:HIndex    文件:TestProtobufUtil.java   
/**
 * Test Delete Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testDelete() throws IOException {
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.DELETE);
  mutateBuilder.setTimestamp(111111);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setDeleteType(DeleteType.DELETE_ONE_VERSION);
  qualifierBuilder.setTimestamp(111222);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setDeleteType(DeleteType.DELETE_MULTIPLE_VERSIONS);
  qualifierBuilder.setTimestamp(111333);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Delete delete = ProtobufUtil.toDelete(proto);

  // delete always have empty value,
  // add empty value to the original mutate
  for (ColumnValue.Builder column:
      mutateBuilder.getColumnValueBuilderList()) {
    for (QualifierValue.Builder qualifier:
        column.getQualifierValueBuilderList()) {
      qualifier.setValue(ByteString.EMPTY);
    }
  }
  assertEquals(mutateBuilder.build(),
    ProtobufUtil.toMutation(MutationType.DELETE, delete));
}
项目:HIndex    文件:TestProtobufUtil.java   
/**
 * Test Put Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testPut() throws IOException {
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.PUT);
  mutateBuilder.setTimestamp(111111);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v1"));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v2"));
  qualifierBuilder.setTimestamp(222222);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Put put = ProtobufUtil.toPut(proto);

  // put value always use the default timestamp if no
  // value level timestamp specified,
  // add the timestamp to the original mutate
  long timestamp = put.getTimeStamp();
  for (ColumnValue.Builder column:
      mutateBuilder.getColumnValueBuilderList()) {
    for (QualifierValue.Builder qualifier:
        column.getQualifierValueBuilderList()) {
      if (!qualifier.hasTimestamp()) {
        qualifier.setTimestamp(timestamp);
      }
    }
  }
  assertEquals(mutateBuilder.build(),
    ProtobufUtil.toMutation(MutationType.PUT, put));
}
项目:HIndex    文件:ProtobufUtil.java   
/**
 * Convert a client Increment to a protobuf Mutate.
 *
 * @param increment
 * @return the converted mutate
 */
public static MutationProto toMutation(
  final Increment increment, final MutationProto.Builder builder, long nonce) {
  builder.setRow(HBaseZeroCopyByteString.wrap(increment.getRow()));
  builder.setMutateType(MutationType.INCREMENT);
  builder.setDurability(toDurability(increment.getDurability()));
  if (nonce != HConstants.NO_NONCE) {
    builder.setNonce(nonce);
  }
  TimeRange timeRange = increment.getTimeRange();
  if (!timeRange.isAllTime()) {
    HBaseProtos.TimeRange.Builder timeRangeBuilder =
      HBaseProtos.TimeRange.newBuilder();
    timeRangeBuilder.setFrom(timeRange.getMin());
    timeRangeBuilder.setTo(timeRange.getMax());
    builder.setTimeRange(timeRangeBuilder.build());
  }
  ColumnValue.Builder columnBuilder = ColumnValue.newBuilder();
  QualifierValue.Builder valueBuilder = QualifierValue.newBuilder();
  for (Map.Entry<byte[], List<Cell>> family: increment.getFamilyCellMap().entrySet()) {
    columnBuilder.setFamily(HBaseZeroCopyByteString.wrap(family.getKey()));
    columnBuilder.clearQualifierValue();
    List<Cell> values = family.getValue();
    if (values != null && values.size() > 0) {
      for (Cell cell: values) {
        KeyValue kv = KeyValueUtil.ensureKeyValue(cell);
        valueBuilder.setQualifier(HBaseZeroCopyByteString.wrap(
            kv.getQualifierArray(), kv.getQualifierOffset(), kv.getQualifierLength()));
        valueBuilder.setValue(HBaseZeroCopyByteString.wrap(
            kv.getValueArray(), kv.getValueOffset(), kv.getValueLength()));
        if (kv.getTagsLength() > 0) {
          valueBuilder.setTags(HBaseZeroCopyByteString.wrap(kv.getTagsArray(),
              kv.getTagsOffset(), kv.getTagsLength()));
        }
        columnBuilder.addQualifierValue(valueBuilder.build());
      }
    }
    builder.addColumnValue(columnBuilder.build());
  }
  Map<String, byte[]> attributes = increment.getAttributesMap();
  if (!attributes.isEmpty()) {
    NameBytesPair.Builder attributeBuilder = NameBytesPair.newBuilder();
    for (Map.Entry<String, byte[]> attribute : attributes.entrySet()) {
      attributeBuilder.setName(attribute.getKey());
      attributeBuilder.setValue(HBaseZeroCopyByteString.wrap(attribute.getValue()));
      builder.addAttribute(attributeBuilder.build());
    }
  }
  return builder.build();
}
项目:hbase    文件:TestProtobufUtil.java   
/**
 * Test Delete Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testDelete() throws IOException {
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.DELETE);
  mutateBuilder.setTimestamp(111111);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setDeleteType(DeleteType.DELETE_ONE_VERSION);
  qualifierBuilder.setTimestamp(111222);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setDeleteType(DeleteType.DELETE_MULTIPLE_VERSIONS);
  qualifierBuilder.setTimestamp(111333);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Delete delete = ProtobufUtil.toDelete(proto);

  // delete always have empty value,
  // add empty value to the original mutate
  for (ColumnValue.Builder column:
      mutateBuilder.getColumnValueBuilderList()) {
    for (QualifierValue.Builder qualifier:
        column.getQualifierValueBuilderList()) {
      qualifier.setValue(ByteString.EMPTY);
    }
  }
  assertEquals(mutateBuilder.build(),
    ProtobufUtil.toMutation(MutationType.DELETE, delete));
}
项目:hbase    文件:TestProtobufUtil.java   
/**
 * Test Put Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testPut() throws IOException {
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.PUT);
  mutateBuilder.setTimestamp(111111);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v1"));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v2"));
  qualifierBuilder.setTimestamp(222222);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Put put = ProtobufUtil.toPut(proto);

  // put value always use the default timestamp if no
  // value level timestamp specified,
  // add the timestamp to the original mutate
  long timestamp = put.getTimeStamp();
  for (ColumnValue.Builder column:
      mutateBuilder.getColumnValueBuilderList()) {
    for (QualifierValue.Builder qualifier:
        column.getQualifierValueBuilderList()) {
      if (!qualifier.hasTimestamp()) {
        qualifier.setTimestamp(timestamp);
      }
    }
  }
  assertEquals(mutateBuilder.build(),
    ProtobufUtil.toMutation(MutationType.PUT, put));
}
项目:hbase    文件:ProtobufUtil.java   
private static <T extends Mutation> T toDelta(Function<Bytes, T> supplier, ConsumerWithException<T, Cell> consumer,
    final MutationProto proto, final CellScanner cellScanner) throws IOException {
  byte[] row = proto.hasRow() ? proto.getRow().toByteArray() : null;
  T mutation = row == null ? null : supplier.apply(new Bytes(row));
  int cellCount = proto.hasAssociatedCellCount() ? proto.getAssociatedCellCount() : 0;
  if (cellCount > 0) {
    // The proto has metadata only and the data is separate to be found in the cellScanner.
    if (cellScanner == null) {
      throw new DoNotRetryIOException("Cell count of " + cellCount + " but no cellScanner: " +
              toShortString(proto));
    }
    for (int i = 0; i < cellCount; i++) {
      if (!cellScanner.advance()) {
        throw new DoNotRetryIOException("Cell count of " + cellCount + " but at index " + i +
                " no cell returned: " + toShortString(proto));
      }
      Cell cell = cellScanner.current();
      if (mutation == null) {
        mutation = supplier.apply(new Bytes(cell.getRowArray(), cell.getRowOffset(), cell.getRowLength()));
      }
      consumer.accept(mutation, cell);
    }
  } else {
    if (mutation == null) {
      throw new IllegalArgumentException("row cannot be null");
    }
    for (ColumnValue column : proto.getColumnValueList()) {
      byte[] family = column.getFamily().toByteArray();
      for (QualifierValue qv : column.getQualifierValueList()) {
        byte[] qualifier = qv.getQualifier().toByteArray();
        if (!qv.hasValue()) {
          throw new DoNotRetryIOException(
                  "Missing required field: qualifier value");
        }
        byte[] value = qv.getValue().toByteArray();
        byte[] tags = null;
        if (qv.hasTags()) {
          tags = qv.getTags().toByteArray();
        }
        consumer.accept(mutation, CellUtil.createCell(mutation.getRow(), family, qualifier, qv.getTimestamp(),
                KeyValue.Type.Put, value, tags));
      }
    }
  }
  mutation.setDurability(toDurability(proto.getDurability()));
  for (NameBytesPair attribute : proto.getAttributeList()) {
    mutation.setAttribute(attribute.getName(), attribute.getValue().toByteArray());
  }
  return mutation;
}
项目:PyroDB    文件:TestProtobufUtil.java   
/**
 * Test Delete Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testDelete() throws IOException {
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.DELETE);
  mutateBuilder.setTimestamp(111111);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setDeleteType(DeleteType.DELETE_ONE_VERSION);
  qualifierBuilder.setTimestamp(111222);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setDeleteType(DeleteType.DELETE_MULTIPLE_VERSIONS);
  qualifierBuilder.setTimestamp(111333);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Delete delete = ProtobufUtil.toDelete(proto);

  // delete always have empty value,
  // add empty value to the original mutate
  for (ColumnValue.Builder column:
      mutateBuilder.getColumnValueBuilderList()) {
    for (QualifierValue.Builder qualifier:
        column.getQualifierValueBuilderList()) {
      qualifier.setValue(ByteString.EMPTY);
    }
  }
  assertEquals(mutateBuilder.build(),
    ProtobufUtil.toMutation(MutationType.DELETE, delete));
}
项目:PyroDB    文件:TestProtobufUtil.java   
/**
 * Test Put Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testPut() throws IOException {
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.PUT);
  mutateBuilder.setTimestamp(111111);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v1"));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v2"));
  qualifierBuilder.setTimestamp(222222);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Put put = ProtobufUtil.toPut(proto);

  // put value always use the default timestamp if no
  // value level timestamp specified,
  // add the timestamp to the original mutate
  long timestamp = put.getTimeStamp();
  for (ColumnValue.Builder column:
      mutateBuilder.getColumnValueBuilderList()) {
    for (QualifierValue.Builder qualifier:
        column.getQualifierValueBuilderList()) {
      if (!qualifier.hasTimestamp()) {
        qualifier.setTimestamp(timestamp);
      }
    }
  }
  assertEquals(mutateBuilder.build(),
    ProtobufUtil.toMutation(MutationType.PUT, put));
}
项目:PyroDB    文件:ProtobufUtil.java   
/**
 * Convert a client Increment to a protobuf Mutate.
 *
 * @param increment
 * @return the converted mutate
 */
public static MutationProto toMutation(
  final Increment increment, final MutationProto.Builder builder, long nonce) {
  builder.setRow(HBaseZeroCopyByteString.wrap(increment.getRow()));
  builder.setMutateType(MutationType.INCREMENT);
  builder.setDurability(toDurability(increment.getDurability()));
  if (nonce != HConstants.NO_NONCE) {
    builder.setNonce(nonce);
  }
  TimeRange timeRange = increment.getTimeRange();
  if (!timeRange.isAllTime()) {
    HBaseProtos.TimeRange.Builder timeRangeBuilder =
      HBaseProtos.TimeRange.newBuilder();
    timeRangeBuilder.setFrom(timeRange.getMin());
    timeRangeBuilder.setTo(timeRange.getMax());
    builder.setTimeRange(timeRangeBuilder.build());
  }
  ColumnValue.Builder columnBuilder = ColumnValue.newBuilder();
  QualifierValue.Builder valueBuilder = QualifierValue.newBuilder();
  for (Map.Entry<byte[], List<Cell>> family: increment.getFamilyCellMap().entrySet()) {
    columnBuilder.setFamily(HBaseZeroCopyByteString.wrap(family.getKey()));
    columnBuilder.clearQualifierValue();
    List<Cell> values = family.getValue();
    if (values != null && values.size() > 0) {
      for (Cell cell: values) {
        KeyValue kv = KeyValueUtil.ensureKeyValue(cell);
        valueBuilder.setQualifier(HBaseZeroCopyByteString.wrap(
            kv.getQualifierArray(), kv.getQualifierOffset(), kv.getQualifierLength()));
        valueBuilder.setValue(HBaseZeroCopyByteString.wrap(
            kv.getValueArray(), kv.getValueOffset(), kv.getValueLength()));
        if (kv.getTagsLength() > 0) {
          valueBuilder.setTags(HBaseZeroCopyByteString.wrap(kv.getTagsArray(),
              kv.getTagsOffset(), kv.getTagsLength()));
        }
        columnBuilder.addQualifierValue(valueBuilder.build());
      }
    }
    builder.addColumnValue(columnBuilder.build());
  }
  Map<String, byte[]> attributes = increment.getAttributesMap();
  if (!attributes.isEmpty()) {
    NameBytesPair.Builder attributeBuilder = NameBytesPair.newBuilder();
    for (Map.Entry<String, byte[]> attribute : attributes.entrySet()) {
      attributeBuilder.setName(attribute.getKey());
      attributeBuilder.setValue(HBaseZeroCopyByteString.wrap(attribute.getValue()));
      builder.addAttribute(attributeBuilder.build());
    }
  }
  return builder.build();
}
项目:c5    文件:TestProtobufUtil.java   
/**
 * Test Delete Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testDelete() throws IOException {
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.DELETE);
  mutateBuilder.setTimestamp(111111);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setDeleteType(DeleteType.DELETE_ONE_VERSION);
  qualifierBuilder.setTimestamp(111222);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setDeleteType(DeleteType.DELETE_MULTIPLE_VERSIONS);
  qualifierBuilder.setTimestamp(111333);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Delete delete = ProtobufUtil.toDelete(proto);

  // delete always have empty value,
  // add empty value to the original mutate
  for (ColumnValue.Builder column:
      mutateBuilder.getColumnValueBuilderList()) {
    for (QualifierValue.Builder qualifier:
        column.getQualifierValueBuilderList()) {
      qualifier.setValue(ByteString.EMPTY);
    }
  }
  assertEquals(mutateBuilder.build(),
    ProtobufUtil.toMutation(MutationType.DELETE, delete));
}
项目:c5    文件:TestProtobufUtil.java   
/**
 * Test Put Mutate conversions.
 *
 * @throws IOException
 */
@Test
public void testPut() throws IOException {
  MutationProto.Builder mutateBuilder = MutationProto.newBuilder();
  mutateBuilder.setRow(ByteString.copyFromUtf8("row"));
  mutateBuilder.setMutateType(MutationType.PUT);
  mutateBuilder.setTimestamp(111111);
  ColumnValue.Builder valueBuilder = ColumnValue.newBuilder();
  valueBuilder.setFamily(ByteString.copyFromUtf8("f1"));
  QualifierValue.Builder qualifierBuilder = QualifierValue.newBuilder();
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c1"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v1"));
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  qualifierBuilder.setQualifier(ByteString.copyFromUtf8("c2"));
  qualifierBuilder.setValue(ByteString.copyFromUtf8("v2"));
  qualifierBuilder.setTimestamp(222222);
  valueBuilder.addQualifierValue(qualifierBuilder.build());
  mutateBuilder.addColumnValue(valueBuilder.build());

  MutationProto proto = mutateBuilder.build();
  // default fields
  assertEquals(MutationProto.Durability.USE_DEFAULT, proto.getDurability());

  // set the default value for equal comparison
  mutateBuilder = MutationProto.newBuilder(proto);
  mutateBuilder.setDurability(MutationProto.Durability.USE_DEFAULT);

  Put put = ProtobufUtil.toPut(proto);

  // put value always use the default timestamp if no
  // value level timestamp specified,
  // add the timestamp to the original mutate
  long timestamp = put.getTimeStamp();
  for (ColumnValue.Builder column:
      mutateBuilder.getColumnValueBuilderList()) {
    for (QualifierValue.Builder qualifier:
        column.getQualifierValueBuilderList()) {
      if (!qualifier.hasTimestamp()) {
        qualifier.setTimestamp(timestamp);
      }
    }
  }
  assertEquals(mutateBuilder.build(),
    ProtobufUtil.toMutation(MutationType.PUT, put));
}
项目:c5    文件:ProtobufUtil.java   
/**
 * Convert a client Increment to a protobuf Mutate.
 *
 * @param increment
 * @return the converted mutate
 */
public static MutationProto toMutation(final Increment increment,
    final MutationProto.Builder builder) {
  builder.setRow(ZeroCopyLiteralByteString.wrap(increment.getRow()));
  builder.setMutateType(MutationType.INCREMENT);
  builder.setDurability(toDurability(increment.getDurability()));
  TimeRange timeRange = increment.getTimeRange();
  if (!timeRange.isAllTime()) {
    HBaseProtos.TimeRange.Builder timeRangeBuilder =
      HBaseProtos.TimeRange.newBuilder();
    timeRangeBuilder.setFrom(timeRange.getMin());
    timeRangeBuilder.setTo(timeRange.getMax());
    builder.setTimeRange(timeRangeBuilder.build());
  }
  ColumnValue.Builder columnBuilder = ColumnValue.newBuilder();
  QualifierValue.Builder valueBuilder = QualifierValue.newBuilder();
  for (Map.Entry<byte[], List<Cell>> family: increment.getFamilyCellMap().entrySet()) {
    columnBuilder.setFamily(ZeroCopyLiteralByteString.wrap(family.getKey()));
    columnBuilder.clearQualifierValue();
    List<Cell> values = family.getValue();
    if (values != null && values.size() > 0) {
      for (Cell cell: values) {
        KeyValue kv = KeyValueUtil.ensureKeyValue(cell);
        valueBuilder.setQualifier(ZeroCopyLiteralByteString.wrap(
            kv.getQualifierArray(), kv.getQualifierOffset(), kv.getQualifierLength()));
        valueBuilder.setValue(ZeroCopyLiteralByteString.wrap(
            kv.getValueArray(), kv.getValueOffset(), kv.getValueLength()));
        columnBuilder.addQualifierValue(valueBuilder.build());
      }
    }
    builder.addColumnValue(columnBuilder.build());
  }
  Map<String, byte[]> attributes = increment.getAttributesMap();
  if (!attributes.isEmpty()) {
    NameBytesPair.Builder attributeBuilder = NameBytesPair.newBuilder();
    for (Map.Entry<String, byte[]> attribute : attributes.entrySet()) {
      attributeBuilder.setName(attribute.getKey());
      attributeBuilder.setValue(ZeroCopyLiteralByteString.wrap(attribute.getValue()));
      builder.addAttribute(attributeBuilder.build());
    }
  }
  return builder.build();
}