Java 类org.apache.hadoop.hbase.protobuf.generated.CellProtos 实例源码

项目:ditb    文件:MessageCodec.java   
@Override
public void write(Cell cell) throws IOException {
  checkFlushed();
  CellProtos.Cell.Builder builder = CellProtos.Cell.newBuilder();
  // This copies bytes from Cell to ByteString.  I don't see anyway around the copy.
  // ByteString is final.
  builder.setRow(ByteStringer.wrap(cell.getRowArray(), cell.getRowOffset(),
      cell.getRowLength()));
  builder.setFamily(ByteStringer.wrap(cell.getFamilyArray(), cell.getFamilyOffset(),
      cell.getFamilyLength()));
  builder.setQualifier(ByteStringer.wrap(cell.getQualifierArray(),
      cell.getQualifierOffset(), cell.getQualifierLength()));
  builder.setTimestamp(cell.getTimestamp());
  builder.setCellType(CellProtos.CellType.valueOf(cell.getTypeByte()));
  builder.setValue(ByteStringer.wrap(cell.getValueArray(), cell.getValueOffset(),
      cell.getValueLength()));
  CellProtos.Cell pbcell = builder.build();
  pbcell.writeDelimitedTo(this.out);
}
项目:ditb    文件:ProtobufUtil.java   
/**
 * Convert a protocol buffer Result to a client Result
 *
 * @param proto the protocol buffer Result to convert
 * @return the converted client Result
 */
public static Result toResult(final ClientProtos.Result proto) {
  if (proto.hasExists()) {
    if (proto.getStale()) {
      return proto.getExists() ? EMPTY_RESULT_EXISTS_TRUE_STALE :EMPTY_RESULT_EXISTS_FALSE_STALE;
    }
    return proto.getExists() ? EMPTY_RESULT_EXISTS_TRUE : EMPTY_RESULT_EXISTS_FALSE;
  }

  List<CellProtos.Cell> values = proto.getCellList();
  if (values.isEmpty()){
    return proto.getStale() ? EMPTY_RESULT_STALE : EMPTY_RESULT;
  }

  List<Cell> cells = new ArrayList<Cell>(values.size());
  for (CellProtos.Cell c : values) {
    cells.add(toCell(c));
  }
  return Result.create(cells, null, proto.getStale(), proto.getPartial());
}
项目:ditb    文件:ProtobufUtil.java   
public static CellProtos.Cell toCell(final Cell kv) {
  // Doing this is going to kill us if we do it for all data passed.
  // St.Ack 20121205
  CellProtos.Cell.Builder kvbuilder = CellProtos.Cell.newBuilder();
  kvbuilder.setRow(ByteStringer.wrap(kv.getRowArray(), kv.getRowOffset(),
      kv.getRowLength()));
  kvbuilder.setFamily(ByteStringer.wrap(kv.getFamilyArray(),
      kv.getFamilyOffset(), kv.getFamilyLength()));
  kvbuilder.setQualifier(ByteStringer.wrap(kv.getQualifierArray(),
      kv.getQualifierOffset(), kv.getQualifierLength()));
  kvbuilder.setCellType(CellProtos.CellType.valueOf(kv.getTypeByte()));
  kvbuilder.setTimestamp(kv.getTimestamp());
  kvbuilder.setValue(ByteStringer.wrap(kv.getValueArray(), kv.getValueOffset(),
      kv.getValueLength()));
  return kvbuilder.build();
}
项目:hbase-connect-kafka    文件:ToHRowFunction.java   
@Override
public HRow apply(byte[] rowkey, List<Cell> cells) {

    Preconditions.checkNotNull(rowkey);
    Preconditions.checkNotNull(cells);
    final List<HRow.HColumn> columns = toRowColumns(cells);
    HRow.RowOp rowOp = null;
    final Cell cell = cells.get(0);
    final CellProtos.CellType type = CellProtos.CellType.valueOf(cell.getTypeByte());
    switch (type) {
        case DELETE:
        case DELETE_COLUMN:
        case DELETE_FAMILY:
            rowOp = HRow.RowOp.DELETE;
            break;
        case PUT:
            rowOp = HRow.RowOp.PUT;
            break;
    }
    final HRow row = new HRow(rowkey, rowOp, columns);
    return row;
}
项目:pbase    文件:MessageCodec.java   
@Override
public void write(Cell cell) throws IOException {
  checkFlushed();
  CellProtos.Cell.Builder builder = CellProtos.Cell.newBuilder();
  // This copies bytes from Cell to ByteString.  I don't see anyway around the copy.
  // ByteString is final.
  builder.setRow(ByteStringer.wrap(cell.getRowArray(), cell.getRowOffset(),
      cell.getRowLength()));
  builder.setFamily(ByteStringer.wrap(cell.getFamilyArray(), cell.getFamilyOffset(),
      cell.getFamilyLength()));
  builder.setQualifier(ByteStringer.wrap(cell.getQualifierArray(),
      cell.getQualifierOffset(), cell.getQualifierLength()));
  builder.setTimestamp(cell.getTimestamp());
  builder.setCellType(CellProtos.CellType.valueOf(cell.getTypeByte()));
  builder.setValue(ByteStringer.wrap(cell.getValueArray(), cell.getValueOffset(),
      cell.getValueLength()));
  CellProtos.Cell pbcell = builder.build();
  pbcell.writeDelimitedTo(this.out);
}
项目:pbase    文件:ProtobufUtil.java   
/**
 * Convert a protocol buffer Result to a client Result
 *
 * @param proto the protocol buffer Result to convert
 * @return the converted client Result
 */
public static Result toResult(final ClientProtos.Result proto) {
  if (proto.hasExists()) {
    if (proto.getStale()) {
      return proto.getExists() ? EMPTY_RESULT_EXISTS_TRUE_STALE :EMPTY_RESULT_EXISTS_FALSE_STALE;
    }
    return proto.getExists() ? EMPTY_RESULT_EXISTS_TRUE : EMPTY_RESULT_EXISTS_FALSE;
  }

  List<CellProtos.Cell> values = proto.getCellList();
  if (values.isEmpty()){
    return proto.getStale() ? EMPTY_RESULT_STALE : EMPTY_RESULT;
  }

  List<Cell> cells = new ArrayList<Cell>(values.size());
  for (CellProtos.Cell c : values) {
    cells.add(toCell(c));
  }
  return Result.create(cells, null, proto.getStale());
}
项目:pbase    文件:ProtobufUtil.java   
public static CellProtos.Cell toCell(final Cell kv) {
  // Doing this is going to kill us if we do it for all data passed.
  // St.Ack 20121205
  CellProtos.Cell.Builder kvbuilder = CellProtos.Cell.newBuilder();
  kvbuilder.setRow(ByteStringer.wrap(kv.getRowArray(), kv.getRowOffset(),
      kv.getRowLength()));
  kvbuilder.setFamily(ByteStringer.wrap(kv.getFamilyArray(),
      kv.getFamilyOffset(), kv.getFamilyLength()));
  kvbuilder.setQualifier(ByteStringer.wrap(kv.getQualifierArray(),
      kv.getQualifierOffset(), kv.getQualifierLength()));
  kvbuilder.setCellType(CellProtos.CellType.valueOf(kv.getTypeByte()));
  kvbuilder.setTimestamp(kv.getTimestamp());
  kvbuilder.setValue(ByteStringer.wrap(kv.getValueArray(), kv.getValueOffset(),
      kv.getValueLength()));
  return kvbuilder.build();
}
项目:HIndex    文件:MessageCodec.java   
@Override
public void write(Cell cell) throws IOException {
  checkFlushed();
  CellProtos.Cell.Builder builder = CellProtos.Cell.newBuilder();
  // This copies bytes from Cell to ByteString.  I don't see anyway around the copy.
  // ByteString is final.
  builder.setRow(HBaseZeroCopyByteString.wrap(cell.getRowArray(), cell.getRowOffset(),
      cell.getRowLength()));
  builder.setFamily(HBaseZeroCopyByteString.wrap(cell.getFamilyArray(), cell.getFamilyOffset(),
      cell.getFamilyLength()));
  builder.setQualifier(HBaseZeroCopyByteString.wrap(cell.getQualifierArray(),
      cell.getQualifierOffset(), cell.getQualifierLength()));
  builder.setTimestamp(cell.getTimestamp());
  builder.setCellType(CellProtos.CellType.valueOf(cell.getTypeByte()));
  builder.setValue(HBaseZeroCopyByteString.wrap(cell.getValueArray(), cell.getValueOffset(),
      cell.getValueLength()));
  CellProtos.Cell pbcell = builder.build();
  pbcell.writeDelimitedTo(this.out);
}
项目:HIndex    文件:ProtobufUtil.java   
/**
 * Convert a protocol buffer Result to a client Result
 *
 * @param proto the protocol buffer Result to convert
 * @return the converted client Result
 */
public static Result toResult(final ClientProtos.Result proto) {
  if (proto.hasExists()) {
    return proto.getExists() ? EMPTY_RESULT_EXISTS_TRUE : EMPTY_RESULT_EXISTS_FALSE;
  }

  List<CellProtos.Cell> values = proto.getCellList();
  if (values.isEmpty()){
    return EMPTY_RESULT;
  }

  List<Cell> cells = new ArrayList<Cell>(values.size());
  for (CellProtos.Cell c : values) {
    cells.add(toCell(c));
  }
  return Result.create(cells, null);
}
项目:HIndex    文件:ProtobufUtil.java   
public static CellProtos.Cell toCell(final Cell kv) {
  // Doing this is going to kill us if we do it for all data passed.
  // St.Ack 20121205
  CellProtos.Cell.Builder kvbuilder = CellProtos.Cell.newBuilder();
  kvbuilder.setRow(HBaseZeroCopyByteString.wrap(kv.getRowArray(), kv.getRowOffset(),
      kv.getRowLength()));
  kvbuilder.setFamily(HBaseZeroCopyByteString.wrap(kv.getFamilyArray(),
      kv.getFamilyOffset(), kv.getFamilyLength()));
  kvbuilder.setQualifier(HBaseZeroCopyByteString.wrap(kv.getQualifierArray(),
      kv.getQualifierOffset(), kv.getQualifierLength()));
  kvbuilder.setCellType(CellProtos.CellType.valueOf(kv.getTypeByte()));
  kvbuilder.setTimestamp(kv.getTimestamp());
  kvbuilder.setValue(HBaseZeroCopyByteString.wrap(kv.getValueArray(), kv.getValueOffset(),
      kv.getValueLength()));
  return kvbuilder.build();
}
项目:hbase    文件:TestProtobufUtil.java   
@Test
public void testToCell() throws Exception {
  KeyValue kv1 =
      new KeyValue(Bytes.toBytes("aaa"), Bytes.toBytes("f1"), Bytes.toBytes("q1"), new byte[30]);
  KeyValue kv2 =
      new KeyValue(Bytes.toBytes("bbb"), Bytes.toBytes("f1"), Bytes.toBytes("q1"), new byte[30]);
  KeyValue kv3 =
      new KeyValue(Bytes.toBytes("ccc"), Bytes.toBytes("f1"), Bytes.toBytes("q1"), new byte[30]);
  byte[] arr = new byte[kv1.getLength() + kv2.getLength() + kv3.getLength()];
  System.arraycopy(kv1.getBuffer(), kv1.getOffset(), arr, 0, kv1.getLength());
  System.arraycopy(kv2.getBuffer(), kv2.getOffset(), arr, kv1.getLength(), kv2.getLength());
  System.arraycopy(kv3.getBuffer(), kv3.getOffset(), arr, kv1.getLength() + kv2.getLength(),
    kv3.getLength());
  ByteBuffer dbb = ByteBuffer.allocateDirect(arr.length);
  dbb.put(arr);
  ByteBufferKeyValue offheapKV = new ByteBufferKeyValue(dbb, kv1.getLength(), kv2.getLength());
  CellProtos.Cell cell = ProtobufUtil.toCell(offheapKV);
  Cell newOffheapKV =
      ProtobufUtil.toCell(ExtendedCellBuilderFactory.create(CellBuilderType.SHALLOW_COPY), cell);
  assertTrue(CellComparatorImpl.COMPARATOR.compare(offheapKV, newOffheapKV) == 0);
}
项目:hbase    文件:ProtobufUtil.java   
/**
 * Convert a protocol buffer Result to a client Result
 *
 * @param proto the protocol buffer Result to convert
 * @return the converted client Result
 */
public static Result toResult(final ClientProtos.Result proto) {
  if (proto.hasExists()) {
    if (proto.getStale()) {
      return proto.getExists() ? EMPTY_RESULT_EXISTS_TRUE_STALE :EMPTY_RESULT_EXISTS_FALSE_STALE;
    }
    return proto.getExists() ? EMPTY_RESULT_EXISTS_TRUE : EMPTY_RESULT_EXISTS_FALSE;
  }

  List<CellProtos.Cell> values = proto.getCellList();
  if (values.isEmpty()){
    return proto.getStale() ? EMPTY_RESULT_STALE : EMPTY_RESULT;
  }

  List<Cell> cells = new ArrayList<>(values.size());
  ExtendedCellBuilder builder = ExtendedCellBuilderFactory.create(CellBuilderType.SHALLOW_COPY);
  for (CellProtos.Cell c : values) {
    cells.add(toCell(builder, c));
  }
  return Result.create(cells, null, proto.getStale(), proto.getPartial());
}
项目:hbase    文件:ProtobufUtil.java   
public static CellProtos.Cell toCell(final Cell kv) {
  // Doing this is going to kill us if we do it for all data passed.
  // St.Ack 20121205
  CellProtos.Cell.Builder kvbuilder = CellProtos.Cell.newBuilder();
  kvbuilder.setRow(ByteStringer.wrap(kv.getRowArray(), kv.getRowOffset(),
      kv.getRowLength()));
  kvbuilder.setFamily(ByteStringer.wrap(kv.getFamilyArray(),
      kv.getFamilyOffset(), kv.getFamilyLength()));
  kvbuilder.setQualifier(ByteStringer.wrap(kv.getQualifierArray(),
      kv.getQualifierOffset(), kv.getQualifierLength()));
  kvbuilder.setCellType(CellProtos.CellType.valueOf(kv.getTypeByte()));
  kvbuilder.setTimestamp(kv.getTimestamp());
  kvbuilder.setValue(ByteStringer.wrap(kv.getValueArray(), kv.getValueOffset(),
      kv.getValueLength()));
  return kvbuilder.build();
}
项目:PyroDB    文件:MessageCodec.java   
@Override
public void write(Cell cell) throws IOException {
  checkFlushed();
  CellProtos.Cell.Builder builder = CellProtos.Cell.newBuilder();
  // This copies bytes from Cell to ByteString.  I don't see anyway around the copy.
  // ByteString is final.
  builder.setRow(HBaseZeroCopyByteString.wrap(cell.getRowArray(), cell.getRowOffset(),
      cell.getRowLength()));
  builder.setFamily(HBaseZeroCopyByteString.wrap(cell.getFamilyArray(), cell.getFamilyOffset(),
      cell.getFamilyLength()));
  builder.setQualifier(HBaseZeroCopyByteString.wrap(cell.getQualifierArray(),
      cell.getQualifierOffset(), cell.getQualifierLength()));
  builder.setTimestamp(cell.getTimestamp());
  builder.setCellType(CellProtos.CellType.valueOf(cell.getTypeByte()));
  builder.setValue(HBaseZeroCopyByteString.wrap(cell.getValueArray(), cell.getValueOffset(),
      cell.getValueLength()));
  CellProtos.Cell pbcell = builder.build();
  pbcell.writeDelimitedTo(this.out);
}
项目:PyroDB    文件:ProtobufUtil.java   
/**
 * Convert a protocol buffer Result to a client Result
 *
 * @param proto the protocol buffer Result to convert
 * @return the converted client Result
 */
public static Result toResult(final ClientProtos.Result proto) {
  if (proto.hasExists()) {
    return proto.getExists() ? EMPTY_RESULT_EXISTS_TRUE : EMPTY_RESULT_EXISTS_FALSE;
  }

  List<CellProtos.Cell> values = proto.getCellList();
  if (values.isEmpty()){
    return EMPTY_RESULT;
  }

  List<Cell> cells = new ArrayList<Cell>(values.size());
  for (CellProtos.Cell c : values) {
    cells.add(toCell(c));
  }
  return Result.create(cells, null);
}
项目:PyroDB    文件:ProtobufUtil.java   
public static CellProtos.Cell toCell(final Cell kv) {
  // Doing this is going to kill us if we do it for all data passed.
  // St.Ack 20121205
  CellProtos.Cell.Builder kvbuilder = CellProtos.Cell.newBuilder();
  kvbuilder.setRow(HBaseZeroCopyByteString.wrap(kv.getRowArray(), kv.getRowOffset(),
      kv.getRowLength()));
  kvbuilder.setFamily(HBaseZeroCopyByteString.wrap(kv.getFamilyArray(),
      kv.getFamilyOffset(), kv.getFamilyLength()));
  kvbuilder.setQualifier(HBaseZeroCopyByteString.wrap(kv.getQualifierArray(),
      kv.getQualifierOffset(), kv.getQualifierLength()));
  kvbuilder.setCellType(CellProtos.CellType.valueOf(kv.getTypeByte()));
  kvbuilder.setTimestamp(kv.getTimestamp());
  kvbuilder.setValue(HBaseZeroCopyByteString.wrap(kv.getValueArray(), kv.getValueOffset(),
      kv.getValueLength()));
  return kvbuilder.build();
}
项目:c5    文件:MessageCodec.java   
@Override
public void write(Cell cell) throws IOException {
  checkFlushed();
  CellProtos.Cell.Builder builder = CellProtos.Cell.newBuilder();
  // This copies bytes from Cell to ByteString.  I don't see anyway around the copy.
  // ByteString is final.
  builder.setRow(ByteString.copyFrom(cell.getRowArray(), cell.getRowOffset(),
      cell.getRowLength()));
  builder.setFamily(ByteString.copyFrom(cell.getFamilyArray(), cell.getFamilyOffset(),
      cell.getFamilyLength()));
  builder.setQualifier(ByteString.copyFrom(cell.getQualifierArray(), cell.getQualifierOffset(),
      cell.getQualifierLength()));
  builder.setTimestamp(cell.getTimestamp());
  builder.setCellType(CellProtos.CellType.valueOf(cell.getTypeByte()));
  builder.setValue(ByteString.copyFrom(cell.getValueArray(), cell.getValueOffset(),
      cell.getValueLength()));
  CellProtos.Cell pbcell = builder.build();
  pbcell.writeDelimitedTo(this.out);
}
项目:c5    文件:ProtobufUtil.java   
/**
 * Convert a protocol buffer Result to a client Result
 *
 * @param proto the protocol buffer Result to convert
 * @return the converted client Result
 */
public static Result toResult(final ClientProtos.Result proto) {
  if (proto.hasExists()) {
    return proto.getExists() ? EMPTY_RESULT_EXISTS_TRUE : EMPTY_RESULT_EXISTS_FALSE;
  }

  List<CellProtos.Cell> values = proto.getCellList();
  if (values.isEmpty()){
    return EMPTY_RESULT;
  }

  List<Cell> cells = new ArrayList<Cell>(values.size());
  for (CellProtos.Cell c : values) {
    cells.add(toCell(c));
  }
  return Result.create(cells, null);
}
项目:c5    文件:ProtobufUtil.java   
public static CellProtos.Cell toCell(final Cell kv) {
  // Doing this is going to kill us if we do it for all data passed.
  // St.Ack 20121205
  CellProtos.Cell.Builder kvbuilder = CellProtos.Cell.newBuilder();
  kvbuilder.setRow(ZeroCopyLiteralByteString.wrap(kv.getRowArray(), kv.getRowOffset(),
    kv.getRowLength()));
  kvbuilder.setFamily(ZeroCopyLiteralByteString.wrap(kv.getFamilyArray(),
    kv.getFamilyOffset(), kv.getFamilyLength()));
  kvbuilder.setQualifier(ZeroCopyLiteralByteString.wrap(kv.getQualifierArray(),
    kv.getQualifierOffset(), kv.getQualifierLength()));
  kvbuilder.setCellType(CellProtos.CellType.valueOf(kv.getTypeByte()));
  kvbuilder.setTimestamp(kv.getTimestamp());
  kvbuilder.setValue(ZeroCopyLiteralByteString.wrap(kv.getValueArray(), kv.getValueOffset(),
    kv.getValueLength()));
  return kvbuilder.build();
}
项目:ditb    文件:MessageCodec.java   
protected Cell parseCell() throws IOException {
  CellProtos.Cell pbcell = CellProtos.Cell.parseDelimitedFrom(this.in);
  return CellUtil.createCell(pbcell.getRow().toByteArray(),
    pbcell.getFamily().toByteArray(), pbcell.getQualifier().toByteArray(),
    pbcell.getTimestamp(), (byte)pbcell.getCellType().getNumber(),
    pbcell.getValue().toByteArray());
}
项目:ditb    文件:ProtobufUtil.java   
/**
 * Convert a protocol buffer Result to a client Result
 *
 * @param proto the protocol buffer Result to convert
 * @param scanner Optional cell scanner.
 * @return the converted client Result
 * @throws IOException
 */
public static Result toResult(final ClientProtos.Result proto, final CellScanner scanner)
throws IOException {
  List<CellProtos.Cell> values = proto.getCellList();

  if (proto.hasExists()) {
    if ((values != null && !values.isEmpty()) ||
        (proto.hasAssociatedCellCount() && proto.getAssociatedCellCount() > 0)) {
      throw new IllegalArgumentException("bad proto: exists with cells is no allowed " + proto);
    }
    if (proto.getStale()) {
      return proto.getExists() ? EMPTY_RESULT_EXISTS_TRUE_STALE :EMPTY_RESULT_EXISTS_FALSE_STALE;
    }
    return proto.getExists() ? EMPTY_RESULT_EXISTS_TRUE : EMPTY_RESULT_EXISTS_FALSE;
  }

  // TODO: Unit test that has some Cells in scanner and some in the proto.
  List<Cell> cells = null;
  if (proto.hasAssociatedCellCount()) {
    int count = proto.getAssociatedCellCount();
    cells = new ArrayList<Cell>(count + values.size());
    for (int i = 0; i < count; i++) {
      if (!scanner.advance()) throw new IOException("Failed get " + i + " of " + count);
      cells.add(scanner.current());
    }
  }

  if (!values.isEmpty()){
    if (cells == null) cells = new ArrayList<Cell>(values.size());
    for (CellProtos.Cell c: values) {
      cells.add(toCell(c));
    }
  }

  return (cells == null || cells.isEmpty())
      ? (proto.getStale() ? EMPTY_RESULT_STALE : EMPTY_RESULT)
      : Result.create(cells, null, proto.getStale());
}
项目:ditb    文件:ProtobufUtil.java   
public static Cell toCell(final CellProtos.Cell cell) {
  // Doing this is going to kill us if we do it for all data passed.
  // St.Ack 20121205
  return CellUtil.createCell(cell.getRow().toByteArray(),
    cell.getFamily().toByteArray(),
    cell.getQualifier().toByteArray(),
    cell.getTimestamp(),
    (byte)cell.getCellType().getNumber(),
    cell.getValue().toByteArray());
}
项目:ditb    文件:TestClientNoCluster.java   
static CellProtos.Cell.Builder getBaseCellBuilder(final ByteString row) {
  CellProtos.Cell.Builder cellBuilder = CellProtos.Cell.newBuilder();
  cellBuilder.setRow(row);
  cellBuilder.setFamily(CATALOG_FAMILY_BYTESTRING);
  cellBuilder.setTimestamp(System.currentTimeMillis());
  return cellBuilder;
}
项目:ditb    文件:TestClientNoCluster.java   
static CellProtos.Cell getStartCode(final ByteString row) {
  CellProtos.Cell.Builder cellBuilder = getBaseCellBuilder(row);
  cellBuilder.setQualifier(ByteStringer.wrap(HConstants.STARTCODE_QUALIFIER));
  // TODO:
  cellBuilder.setValue(ByteStringer.wrap(Bytes.toBytes(META_SERVERNAME.getStartcode())));
  return cellBuilder.build();
}
项目:ditb    文件:PBCell.java   
@Override
public int skip(PositionedByteRange src) {
  CellProtos.Cell.Builder builder = CellProtos.Cell.newBuilder();
  CodedInputStream is = inputStreamFromByteRange(src);
  is.setSizeLimit(src.getLength());
  try {
    builder.mergeFrom(is);
    int consumed = is.getTotalBytesRead();
    src.setPosition(src.getPosition() + consumed);
    return consumed;
  } catch (IOException e) {
    throw new RuntimeException("Error while skipping type.", e);
  }
}
项目:ditb    文件:PBCell.java   
@Override
public CellProtos.Cell decode(PositionedByteRange src) {
  CellProtos.Cell.Builder builder = CellProtos.Cell.newBuilder();
  CodedInputStream is = inputStreamFromByteRange(src);
  is.setSizeLimit(src.getLength());
  try {
    CellProtos.Cell ret = builder.mergeFrom(is).build();
    src.setPosition(src.getPosition() + is.getTotalBytesRead());
    return ret;
  } catch (IOException e) {
    throw new RuntimeException("Error while decoding type.", e);
  }
}
项目:ditb    文件:PBCell.java   
@Override
public int encode(PositionedByteRange dst, CellProtos.Cell val) {
  CodedOutputStream os = outputStreamFromByteRange(dst);
  try {
    int before = os.spaceLeft(), after, written;
    val.writeTo(os);
    after = os.spaceLeft();
    written = before - after;
    dst.setPosition(dst.getPosition() + written);
    return written;
  } catch (IOException e) {
    throw new RuntimeException("Error while encoding type.", e);
  }
}
项目:ditb    文件:TestPBCell.java   
/**
 * Basic test to verify utility methods in {@link PBType} and delegation to protobuf works.
 */
@Test
public void testRoundTrip() {
  final Cell cell = new KeyValue(Bytes.toBytes("row"), Bytes.toBytes("fam"),
    Bytes.toBytes("qual"), Bytes.toBytes("val"));
  CellProtos.Cell c = ProtobufUtil.toCell(cell), decoded;
  PositionedByteRange pbr = new SimplePositionedByteRange(c.getSerializedSize());
  pbr.setPosition(0);
  int encodedLength = CODEC.encode(pbr, c);
  pbr.setPosition(0);
  decoded = CODEC.decode(pbr);
  assertEquals(encodedLength, pbr.getPosition());
  assertTrue(CellComparator.equals(cell, ProtobufUtil.toCell(decoded)));
}
项目:pbase    文件:MessageCodec.java   
protected Cell parseCell() throws IOException {
  CellProtos.Cell pbcell = CellProtos.Cell.parseDelimitedFrom(this.in);
  return CellUtil.createCell(pbcell.getRow().toByteArray(),
    pbcell.getFamily().toByteArray(), pbcell.getQualifier().toByteArray(),
    pbcell.getTimestamp(), (byte)pbcell.getCellType().getNumber(),
    pbcell.getValue().toByteArray());
}
项目:pbase    文件:ProtobufUtil.java   
/**
 * Convert a protocol buffer Result to a client Result
 *
 * @param proto the protocol buffer Result to convert
 * @param scanner Optional cell scanner.
 * @return the converted client Result
 * @throws IOException
 */
public static Result toResult(final ClientProtos.Result proto, final CellScanner scanner)
throws IOException {
  List<CellProtos.Cell> values = proto.getCellList();

  if (proto.hasExists()) {
    if ((values != null && !values.isEmpty()) ||
        (proto.hasAssociatedCellCount() && proto.getAssociatedCellCount() > 0)) {
      throw new IllegalArgumentException("bad proto: exists with cells is no allowed " + proto);
    }
    if (proto.getStale()) {
      return proto.getExists() ? EMPTY_RESULT_EXISTS_TRUE_STALE :EMPTY_RESULT_EXISTS_FALSE_STALE;
    }
    return proto.getExists() ? EMPTY_RESULT_EXISTS_TRUE : EMPTY_RESULT_EXISTS_FALSE;
  }

  // TODO: Unit test that has some Cells in scanner and some in the proto.
  List<Cell> cells = null;
  if (proto.hasAssociatedCellCount()) {
    int count = proto.getAssociatedCellCount();
    cells = new ArrayList<Cell>(count + values.size());
    for (int i = 0; i < count; i++) {
      if (!scanner.advance()) throw new IOException("Failed get " + i + " of " + count);
      cells.add(scanner.current());
    }
  }

  if (!values.isEmpty()){
    if (cells == null) cells = new ArrayList<Cell>(values.size());
    for (CellProtos.Cell c: values) {
      cells.add(toCell(c));
    }
  }

  return (cells == null || cells.isEmpty())
      ? (proto.getStale() ? EMPTY_RESULT_STALE : EMPTY_RESULT)
      : Result.create(cells, null, proto.getStale());
}
项目:pbase    文件:ProtobufUtil.java   
public static Cell toCell(final CellProtos.Cell cell) {
  // Doing this is going to kill us if we do it for all data passed.
  // St.Ack 20121205
  return CellUtil.createCell(cell.getRow().toByteArray(),
    cell.getFamily().toByteArray(),
    cell.getQualifier().toByteArray(),
    cell.getTimestamp(),
    (byte)cell.getCellType().getNumber(),
    cell.getValue().toByteArray());
}
项目:pbase    文件:TestClientNoCluster.java   
static CellProtos.Cell.Builder getBaseCellBuilder(final ByteString row) {
  CellProtos.Cell.Builder cellBuilder = CellProtos.Cell.newBuilder();
  cellBuilder.setRow(row);
  cellBuilder.setFamily(CATALOG_FAMILY_BYTESTRING);
  cellBuilder.setTimestamp(System.currentTimeMillis());
  return cellBuilder;
}
项目:pbase    文件:TestClientNoCluster.java   
static CellProtos.Cell getStartCode(final ByteString row) {
  CellProtos.Cell.Builder cellBuilder = getBaseCellBuilder(row);
  cellBuilder.setQualifier(ByteStringer.wrap(HConstants.STARTCODE_QUALIFIER));
  // TODO:
  cellBuilder.setValue(ByteStringer.wrap(Bytes.toBytes(META_SERVERNAME.getStartcode())));
  return cellBuilder.build();
}
项目:pbase    文件:PBCell.java   
@Override
public int skip(PositionedByteRange src) {
  CellProtos.Cell.Builder builder = CellProtos.Cell.newBuilder();
  CodedInputStream is = inputStreamFromByteRange(src);
  try {
    builder.mergeFrom(is);
    int consumed = is.getTotalBytesRead();
    src.setPosition(src.getPosition() + consumed);
    return consumed;
  } catch (IOException e) {
    throw new RuntimeException("Error while skipping type.", e);
  }
}
项目:pbase    文件:PBCell.java   
@Override
public CellProtos.Cell decode(PositionedByteRange src) {
  CellProtos.Cell.Builder builder = CellProtos.Cell.newBuilder();
  CodedInputStream is = inputStreamFromByteRange(src);
  try {
    CellProtos.Cell ret = builder.mergeFrom(is).build();
    src.setPosition(src.getPosition() + is.getTotalBytesRead());
    return ret;
  } catch (IOException e) {
    throw new RuntimeException("Error while decoding type.", e);
  }
}
项目:pbase    文件:PBCell.java   
@Override
public int encode(PositionedByteRange dst, CellProtos.Cell val) {
  CodedOutputStream os = outputStreamFromByteRange(dst);
  try {
    int before = os.spaceLeft(), after, written;
    val.writeTo(os);
    after = os.spaceLeft();
    written = before - after;
    dst.setPosition(dst.getPosition() + written);
    return written;
  } catch (IOException e) {
    throw new RuntimeException("Error while encoding type.", e);
  }
}
项目:pbase    文件:TestPBCell.java   
/**
 * Basic test to verify utility methods in {@link PBType} and delegation to protobuf works.
 */
@Test
public void testRoundTrip() {
  final Cell cell = new KeyValue(Bytes.toBytes("row"), Bytes.toBytes("fam"),
    Bytes.toBytes("qual"), Bytes.toBytes("val"));
  CellProtos.Cell c = ProtobufUtil.toCell(cell), decoded;
  PositionedByteRange pbr = new SimplePositionedByteRange(c.getSerializedSize());
  pbr.setPosition(0);
  int encodedLength = CODEC.encode(pbr, c);
  pbr.setPosition(0);
  decoded = CODEC.decode(pbr);
  assertEquals(encodedLength, pbr.getPosition());
  assertTrue(CellComparator.equals(cell, ProtobufUtil.toCell(decoded)));
}
项目:HIndex    文件:MessageCodec.java   
protected Cell parseCell() throws IOException {
  CellProtos.Cell pbcell = CellProtos.Cell.parseDelimitedFrom(this.in);
  return CellUtil.createCell(pbcell.getRow().toByteArray(),
    pbcell.getFamily().toByteArray(), pbcell.getQualifier().toByteArray(),
    pbcell.getTimestamp(), (byte)pbcell.getCellType().getNumber(),
    pbcell.getValue().toByteArray());
}
项目:HIndex    文件:ProtobufUtil.java   
/**
 * Convert a protocol buffer Result to a client Result
 *
 * @param proto the protocol buffer Result to convert
 * @param scanner Optional cell scanner.
 * @return the converted client Result
 * @throws IOException
 */
public static Result toResult(final ClientProtos.Result proto, final CellScanner scanner)
throws IOException {
  List<CellProtos.Cell> values = proto.getCellList();

  if (proto.hasExists()) {
    if ((values != null && !values.isEmpty()) ||
        (proto.hasAssociatedCellCount() && proto.getAssociatedCellCount() > 0)) {
      throw new IllegalArgumentException("bad proto: exists with cells is no allowed " + proto);
    }
    return proto.getExists() ? EMPTY_RESULT_EXISTS_TRUE : EMPTY_RESULT_EXISTS_FALSE;
  }

  // TODO: Unit test that has some Cells in scanner and some in the proto.
  List<Cell> cells = null;
  if (proto.hasAssociatedCellCount()) {
    int count = proto.getAssociatedCellCount();
    cells = new ArrayList<Cell>(count + values.size());
    for (int i = 0; i < count; i++) {
      if (!scanner.advance()) throw new IOException("Failed get " + i + " of " + count);
      cells.add(scanner.current());
    }
  }

  if (!values.isEmpty()){
    if (cells == null) cells = new ArrayList<Cell>(values.size());
    for (CellProtos.Cell c: values) {
      cells.add(toCell(c));
    }
  }

  return (cells == null || cells.isEmpty()) ? EMPTY_RESULT : Result.create(cells, null);
}
项目:HIndex    文件:ProtobufUtil.java   
public static Cell toCell(final CellProtos.Cell cell) {
  // Doing this is going to kill us if we do it for all data passed.
  // St.Ack 20121205
  return CellUtil.createCell(cell.getRow().toByteArray(),
    cell.getFamily().toByteArray(),
    cell.getQualifier().toByteArray(),
    cell.getTimestamp(),
    (byte)cell.getCellType().getNumber(),
    cell.getValue().toByteArray());
}