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

项目:ditb    文件:ProtobufUtil.java   
/**
 * Code shared by {@link #toMutation(MutationType, Mutation)} and
 * {@link #toMutationNoData(MutationType, Mutation)}
 * @param type
 * @param mutation
 * @return A partly-filled out protobuf'd Mutation.
 */
private static MutationProto.Builder getMutationBuilderAndSetCommonFields(final MutationType type,
    final Mutation mutation, MutationProto.Builder builder) {
  builder.setRow(ByteStringer.wrap(mutation.getRow()));
  builder.setMutateType(type);
  builder.setDurability(toDurability(mutation.getDurability()));
  builder.setTimestamp(mutation.getTimeStamp());
  Map<String, byte[]> attributes = mutation.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;
}
项目:pbase    文件:ProtobufUtil.java   
/**
 * Code shared by {@link #toMutation(MutationType, Mutation)} and
 * {@link #toMutationNoData(MutationType, Mutation)}
 * @param type
 * @param mutation
 * @return A partly-filled out protobuf'd Mutation.
 */
private static MutationProto.Builder getMutationBuilderAndSetCommonFields(final MutationType type,
    final Mutation mutation, MutationProto.Builder builder) {
  builder.setRow(ByteStringer.wrap(mutation.getRow()));
  builder.setMutateType(type);
  builder.setDurability(toDurability(mutation.getDurability()));
  builder.setTimestamp(mutation.getTimeStamp());
  Map<String, byte[]> attributes = mutation.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;
}
项目:HIndex    文件:ProtobufUtil.java   
/**
 * Code shared by {@link #toMutation(MutationType, Mutation)} and
 * {@link #toMutationNoData(MutationType, Mutation)}
 * @param type
 * @param mutation
 * @return A partly-filled out protobuf'd Mutation.
 */
private static MutationProto.Builder getMutationBuilderAndSetCommonFields(final MutationType type,
    final Mutation mutation, MutationProto.Builder builder) {
  builder.setRow(HBaseZeroCopyByteString.wrap(mutation.getRow()));
  builder.setMutateType(type);
  builder.setDurability(toDurability(mutation.getDurability()));
  builder.setTimestamp(mutation.getTimeStamp());
  Map<String, byte[]> attributes = mutation.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;
}
项目:hbase    文件:ProtobufUtil.java   
/**
 * Code shared by {@link #toMutation(MutationType, Mutation)} and
 * {@link #toMutationNoData(MutationType, Mutation)}
 * @param type
 * @param mutation
 * @return A partly-filled out protobuf'd Mutation.
 */
private static MutationProto.Builder getMutationBuilderAndSetCommonFields(final MutationType type,
    final Mutation mutation, MutationProto.Builder builder) {
  builder.setRow(ByteStringer.wrap(mutation.getRow()));
  builder.setMutateType(type);
  builder.setDurability(toDurability(mutation.getDurability()));
  builder.setTimestamp(mutation.getTimeStamp());
  Map<String, byte[]> attributes = mutation.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;
}
项目:PyroDB    文件:ProtobufUtil.java   
/**
 * Code shared by {@link #toMutation(MutationType, Mutation)} and
 * {@link #toMutationNoData(MutationType, Mutation)}
 * @param type
 * @param mutation
 * @return A partly-filled out protobuf'd Mutation.
 */
private static MutationProto.Builder getMutationBuilderAndSetCommonFields(final MutationType type,
    final Mutation mutation, MutationProto.Builder builder) {
  builder.setRow(HBaseZeroCopyByteString.wrap(mutation.getRow()));
  builder.setMutateType(type);
  builder.setDurability(toDurability(mutation.getDurability()));
  builder.setTimestamp(mutation.getTimeStamp());
  Map<String, byte[]> attributes = mutation.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;
}
项目:c5    文件:ProtobufUtil.java   
/**
 * Code shared by {@link #toMutation(MutationType, Mutation)} and
 * {@link #toMutationNoData(MutationType, Mutation)}
 * @param type
 * @param mutation
 * @return A partly-filled out protobuf'd Mutation.
 */
private static MutationProto.Builder getMutationBuilderAndSetCommonFields(final MutationType type,
    final Mutation mutation, MutationProto.Builder builder) {
  builder.setRow(ZeroCopyLiteralByteString.wrap(mutation.getRow()));
  builder.setMutateType(type);
  builder.setDurability(toDurability(mutation.getDurability()));
  builder.setTimestamp(mutation.getTimeStamp());
  Map<String, byte[]> attributes = mutation.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;
}
项目:DominoHBase    文件:ProtobufUtil.java   
/**
 * Convert a stringified protocol buffer exception Parameter to a Java Exception
 *
 * @param parameter the protocol buffer Parameter to convert
 * @return the converted Exception
 * @throws IOException if failed to deserialize the parameter
 */
@SuppressWarnings("unchecked")
public static Throwable toException(
    final NameBytesPair parameter) throws IOException {
  if (parameter == null || !parameter.hasValue()) return null;
  String desc = parameter.getValue().toStringUtf8();
  String type = parameter.getName();
  try {
    Class<? extends Throwable> c =
      (Class<? extends Throwable>)Class.forName(type);
    Constructor<? extends Throwable> cn =
      c.getDeclaredConstructor(String.class);
    return cn.newInstance(desc);
  } catch (Exception e) {
    throw new IOException(e);
  }
}
项目:ditb    文件:TestProtobufUtil.java   
@Test
public void testException() throws IOException {
  NameBytesPair.Builder builder = NameBytesPair.newBuilder();
  final String omg = "OMG!!!";
  builder.setName("java.io.IOException");
  builder.setValue(ByteStringer.wrap(Bytes.toBytes(omg)));
  Throwable t = ProtobufUtil.toException(builder.build());
  assertEquals(omg, t.getMessage());
  builder.clear();
  builder.setName("org.apache.hadoop.ipc.RemoteException");
  builder.setValue(ByteStringer.wrap(Bytes.toBytes(omg)));
  t = ProtobufUtil.toException(builder.build());
  assertEquals(omg, t.getMessage());
}
项目:ditb    文件:ResponseConverter.java   
/**
 * @param t
 * @return NameValuePair of the exception name to stringified version os exception.
 */
public static NameBytesPair buildException(final Throwable t) {
  NameBytesPair.Builder parameterBuilder = NameBytesPair.newBuilder();
  parameterBuilder.setName(t.getClass().getName());
  parameterBuilder.setValue(
    ByteString.copyFromUtf8(StringUtils.stringifyException(t)));
  return parameterBuilder.build();
}
项目:pbase    文件:TestProtobufUtil.java   
@Test
public void testException() throws IOException {
  NameBytesPair.Builder builder = NameBytesPair.newBuilder();
  final String omg = "OMG!!!";
  builder.setName("java.io.IOException");
  builder.setValue(ByteStringer.wrap(Bytes.toBytes(omg)));
  Throwable t = ProtobufUtil.toException(builder.build());
  assertEquals(omg, t.getMessage());
  builder.clear();
  builder.setName("org.apache.hadoop.ipc.RemoteException");
  builder.setValue(ByteStringer.wrap(Bytes.toBytes(omg)));
  t = ProtobufUtil.toException(builder.build());
  assertEquals(omg, t.getMessage());
}
项目:pbase    文件:ResponseConverter.java   
/**
 * @param t
 * @return NameValuePair of the exception name to stringified version os exception.
 */
public static NameBytesPair buildException(final Throwable t) {
  NameBytesPair.Builder parameterBuilder = NameBytesPair.newBuilder();
  parameterBuilder.setName(t.getClass().getName());
  parameterBuilder.setValue(
    ByteString.copyFromUtf8(StringUtils.stringifyException(t)));
  return parameterBuilder.build();
}
项目:HIndex    文件:TestProtobufUtil.java   
@Test
public void testException() throws IOException {
  NameBytesPair.Builder builder = NameBytesPair.newBuilder();
  final String omg = "OMG!!!";
  builder.setName("java.io.IOException");
  builder.setValue(HBaseZeroCopyByteString.wrap(Bytes.toBytes(omg)));
  Throwable t = ProtobufUtil.toException(builder.build());
  assertEquals(omg, t.getMessage());
  builder.clear();
  builder.setName("org.apache.hadoop.ipc.RemoteException");
  builder.setValue(HBaseZeroCopyByteString.wrap(Bytes.toBytes(omg)));
  t = ProtobufUtil.toException(builder.build());
  assertEquals(omg, t.getMessage());
}
项目:HIndex    文件:ResponseConverter.java   
/**
 * @param t
 * @return NameValuePair of the exception name to stringified version os exception.
 */
public static NameBytesPair buildException(final Throwable t) {
  NameBytesPair.Builder parameterBuilder = NameBytesPair.newBuilder();
  parameterBuilder.setName(t.getClass().getName());
  parameterBuilder.setValue(
    ByteString.copyFromUtf8(StringUtils.stringifyException(t)));
  return parameterBuilder.build();
}
项目:hbase    文件:VisibilityController.java   
/**
 * @param t
 * @return NameValuePair of the exception name to stringified version os exception.
 */
// Copied from ResponseConverter and made private. Only used in here.
private static NameBytesPair buildException(final Throwable t) {
  NameBytesPair.Builder parameterBuilder = NameBytesPair.newBuilder();
  parameterBuilder.setName(t.getClass().getName());
  parameterBuilder.setValue(
    ByteString.copyFromUtf8(StringUtils.stringifyException(t)));
  return parameterBuilder.build();
}
项目:hbase    文件:TestProtobufUtil.java   
@Test
public void testException() throws IOException {
  NameBytesPair.Builder builder = NameBytesPair.newBuilder();
  final String omg = "OMG!!!";
  builder.setName("java.io.IOException");
  builder.setValue(ByteString.copyFrom(Bytes.toBytes(omg)));
  Throwable t = ProtobufUtil.toException(builder.build());
  assertEquals(omg, t.getMessage());
  builder.clear();
  builder.setName("org.apache.hadoop.ipc.RemoteException");
  builder.setValue(ByteString.copyFrom(Bytes.toBytes(omg)));
  t = ProtobufUtil.toException(builder.build());
  assertEquals(omg, t.getMessage());
}
项目:PyroDB    文件:TestProtobufUtil.java   
@Test
public void testException() throws IOException {
  NameBytesPair.Builder builder = NameBytesPair.newBuilder();
  final String omg = "OMG!!!";
  builder.setName("java.io.IOException");
  builder.setValue(HBaseZeroCopyByteString.wrap(Bytes.toBytes(omg)));
  Throwable t = ProtobufUtil.toException(builder.build());
  assertEquals(omg, t.getMessage());
  builder.clear();
  builder.setName("org.apache.hadoop.ipc.RemoteException");
  builder.setValue(HBaseZeroCopyByteString.wrap(Bytes.toBytes(omg)));
  t = ProtobufUtil.toException(builder.build());
  assertEquals(omg, t.getMessage());
}
项目:PyroDB    文件:ResponseConverter.java   
/**
 * @param t
 * @return NameValuePair of the exception name to stringified version os exception.
 */
public static NameBytesPair buildException(final Throwable t) {
  NameBytesPair.Builder parameterBuilder = NameBytesPair.newBuilder();
  parameterBuilder.setName(t.getClass().getName());
  parameterBuilder.setValue(
    ByteString.copyFromUtf8(StringUtils.stringifyException(t)));
  return parameterBuilder.build();
}
项目:c5    文件:TestProtobufUtil.java   
@Test
public void testException() throws IOException {
  NameBytesPair.Builder builder = NameBytesPair.newBuilder();
  final String omg = "OMG!!!";
  builder.setName("java.io.IOException");
  builder.setValue(ZeroCopyLiteralByteString.wrap(Bytes.toBytes(omg)));
  Throwable t = ProtobufUtil.toException(builder.build());
  assertEquals(omg, t.getMessage());
  builder.clear();
  builder.setName("org.apache.hadoop.ipc.RemoteException");
  builder.setValue(ZeroCopyLiteralByteString.wrap(Bytes.toBytes(omg)));
  t = ProtobufUtil.toException(builder.build());
  assertEquals(omg, t.getMessage());
}
项目:c5    文件:ResponseConverter.java   
/**
 * @param t
 * @return NameValuePair of the exception name to stringified version os exception.
 */
public static NameBytesPair buildException(final Throwable t) {
  NameBytesPair.Builder parameterBuilder = NameBytesPair.newBuilder();
  parameterBuilder.setName(t.getClass().getName());
  parameterBuilder.setValue(
    ByteString.copyFromUtf8(StringUtils.stringifyException(t)));
  return parameterBuilder.build();
}
项目:DominoHBase    文件:ResponseConverter.java   
/**
 * Wrap a throwable to an action result.
 *
 * @param t
 * @return an action result
 */
public static ActionResult buildActionResult(final Throwable t) {
  ActionResult.Builder builder = ActionResult.newBuilder();
  NameBytesPair.Builder parameterBuilder = NameBytesPair.newBuilder();
  parameterBuilder.setName(t.getClass().getName());
  parameterBuilder.setValue(
    ByteString.copyFromUtf8(StringUtils.stringifyException(t)));
  builder.setException(parameterBuilder.build());
  return builder.build();
}
项目:DominoHBase    文件:ProtobufUtil.java   
/**
 * Create a protocol buffer Mutate based on a client Mutation
 *
 * @param mutateType
 * @param mutation
 * @return a mutate
 * @throws IOException
 */
public static Mutate toMutate(final MutateType mutateType,
    final Mutation mutation) throws IOException {
  Mutate.Builder mutateBuilder = Mutate.newBuilder();
  mutateBuilder.setRow(ByteString.copyFrom(mutation.getRow()));
  mutateBuilder.setMutateType(mutateType);
  mutateBuilder.setWriteToWAL(mutation.getWriteToWAL());
  if (mutation.getLockId() >= 0) {
    mutateBuilder.setLockId(mutation.getLockId());
  }
  mutateBuilder.setTimestamp(mutation.getTimeStamp());
  Map<String, byte[]> attributes = mutation.getAttributesMap();
  if (!attributes.isEmpty()) {
    NameBytesPair.Builder attributeBuilder = NameBytesPair.newBuilder();
    for (Map.Entry<String, byte[]> attribute: attributes.entrySet()) {
      attributeBuilder.setName(attribute.getKey());
      attributeBuilder.setValue(ByteString.copyFrom(attribute.getValue()));
      mutateBuilder.addAttribute(attributeBuilder.build());
    }
  }
  ColumnValue.Builder columnBuilder = ColumnValue.newBuilder();
  QualifierValue.Builder valueBuilder = QualifierValue.newBuilder();
  for (Map.Entry<byte[],List<KeyValue>>
      family: mutation.getFamilyMap().entrySet()) {
    columnBuilder.setFamily(ByteString.copyFrom(family.getKey()));
    columnBuilder.clearQualifierValue();
    for (KeyValue value: family.getValue()) {
      valueBuilder.setQualifier(ByteString.copyFrom(value.getQualifier()));
      valueBuilder.setValue(ByteString.copyFrom(value.getValue()));
      valueBuilder.setTimestamp(value.getTimestamp());
      if (mutateType == MutateType.DELETE) {
        KeyValue.Type keyValueType = KeyValue.Type.codeToType(value.getType());
        valueBuilder.setDeleteType(toDeleteType(keyValueType));
      }
      columnBuilder.addQualifierValue(valueBuilder.build());
    }
    mutateBuilder.addColumnValue(columnBuilder.build());
  }
  return mutateBuilder.build();
}
项目:ditb    文件:ProtobufUtil.java   
/**
 * Create a protocol buffer Get based on a client Get.
 *
 * @param get the client Get
 * @return a protocol buffer Get
 * @throws IOException
 */
public static ClientProtos.Get toGet(
    final Get get) throws IOException {
  ClientProtos.Get.Builder builder =
    ClientProtos.Get.newBuilder();
  builder.setRow(ByteStringer.wrap(get.getRow()));
  builder.setCacheBlocks(get.getCacheBlocks());
  builder.setMaxVersions(get.getMaxVersions());
  if (get.getFilter() != null) {
    builder.setFilter(ProtobufUtil.toFilter(get.getFilter()));
  }
  for (Entry<byte[], TimeRange> cftr : get.getColumnFamilyTimeRange().entrySet()) {
    HBaseProtos.ColumnFamilyTimeRange.Builder b = HBaseProtos.ColumnFamilyTimeRange.newBuilder();
    b.setColumnFamily(ByteString.copyFrom(cftr.getKey()));
    b.setTimeRange(timeRangeToProto(cftr.getValue()));
    builder.addCfTimeRange(b);
  }
  TimeRange timeRange = get.getTimeRange();
  if (!timeRange.isAllTime()) {
    HBaseProtos.TimeRange.Builder timeRangeBuilder =
      HBaseProtos.TimeRange.newBuilder();
    timeRangeBuilder.setFrom(timeRange.getMin());
    timeRangeBuilder.setTo(timeRange.getMax());
    builder.setTimeRange(timeRangeBuilder.build());
  }
  Map<String, byte[]> attributes = get.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());
    }
  }
  if (get.hasFamilies()) {
    Column.Builder columnBuilder = Column.newBuilder();
    Map<byte[], NavigableSet<byte[]>> families = get.getFamilyMap();
    for (Map.Entry<byte[], NavigableSet<byte[]>> family: families.entrySet()) {
      NavigableSet<byte[]> qualifiers = family.getValue();
      columnBuilder.setFamily(ByteStringer.wrap(family.getKey()));
      columnBuilder.clearQualifier();
      if (qualifiers != null && qualifiers.size() > 0) {
        for (byte[] qualifier: qualifiers) {
          columnBuilder.addQualifier(ByteStringer.wrap(qualifier));
        }
      }
      builder.addColumn(columnBuilder.build());
    }
  }
  if (get.getMaxResultsPerColumnFamily() >= 0) {
    builder.setStoreLimit(get.getMaxResultsPerColumnFamily());
  }
  if (get.getRowOffsetPerColumnFamily() > 0) {
    builder.setStoreOffset(get.getRowOffsetPerColumnFamily());
  }
  if (get.isCheckExistenceOnly()){
    builder.setExistenceOnly(true);
  }
  if (get.isClosestRowBefore()){
    builder.setClosestRowBefore(true);
  }
  if (get.getConsistency() != null && get.getConsistency() != Consistency.STRONG) {
    builder.setConsistency(toConsistency(get.getConsistency()));
  }

  return builder.build();
}
项目: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    文件:ProtobufUtil.java   
/**
 * Convert a protocol buffer Get to a client Get
 *
 * @param proto the protocol buffer Get to convert
 * @return the converted client Get
 * @throws IOException
 */
public static Get toGet(
    final ClientProtos.Get proto) throws IOException {
  if (proto == null) return null;
  byte[] row = proto.getRow().toByteArray();
  Get get = new Get(row);
  if (proto.hasCacheBlocks()) {
    get.setCacheBlocks(proto.getCacheBlocks());
  }
  if (proto.hasMaxVersions()) {
    get.setMaxVersions(proto.getMaxVersions());
  }
  if (proto.hasStoreLimit()) {
    get.setMaxResultsPerColumnFamily(proto.getStoreLimit());
  }
  if (proto.hasStoreOffset()) {
    get.setRowOffsetPerColumnFamily(proto.getStoreOffset());
  }
  if (proto.hasTimeRange()) {
    HBaseProtos.TimeRange timeRange = proto.getTimeRange();
    long minStamp = 0;
    long maxStamp = Long.MAX_VALUE;
    if (timeRange.hasFrom()) {
      minStamp = timeRange.getFrom();
    }
    if (timeRange.hasTo()) {
      maxStamp = timeRange.getTo();
    }
    get.setTimeRange(minStamp, maxStamp);
  }
  if (proto.hasFilter()) {
    FilterProtos.Filter filter = proto.getFilter();
    get.setFilter(ProtobufUtil.toFilter(filter));
  }
  for (NameBytesPair attribute: proto.getAttributeList()) {
    get.setAttribute(attribute.getName(), attribute.getValue().toByteArray());
  }
  if (proto.getColumnCount() > 0) {
    for (Column column: proto.getColumnList()) {
      byte[] family = column.getFamily().toByteArray();
      if (column.getQualifierCount() > 0) {
        for (ByteString qualifier: column.getQualifierList()) {
          get.addColumn(family, qualifier.toByteArray());
        }
      } else {
        get.addFamily(family);
      }
    }
  }
  if (proto.hasExistenceOnly() && proto.getExistenceOnly()){
    get.setCheckExistenceOnly(true);
  }
  if (proto.hasClosestRowBefore() && proto.getClosestRowBefore()){
    get.setClosestRowBefore(true);
  }
  if (proto.hasConsistency()) {
    get.setConsistency(toConsistency(proto.getConsistency()));
  }
  return get;
}
项目:pbase    文件:ProtobufUtil.java   
/**
 * Create a protocol buffer Get based on a client Get.
 *
 * @param get the client Get
 * @return a protocol buffer Get
 * @throws IOException
 */
public static ClientProtos.Get toGet(
    final Get get) throws IOException {
  ClientProtos.Get.Builder builder =
    ClientProtos.Get.newBuilder();
  builder.setRow(ByteStringer.wrap(get.getRow()));
  builder.setCacheBlocks(get.getCacheBlocks());
  builder.setMaxVersions(get.getMaxVersions());
  if (get.getFilter() != null) {
    builder.setFilter(ProtobufUtil.toFilter(get.getFilter()));
  }
  TimeRange timeRange = get.getTimeRange();
  if (!timeRange.isAllTime()) {
    HBaseProtos.TimeRange.Builder timeRangeBuilder =
      HBaseProtos.TimeRange.newBuilder();
    timeRangeBuilder.setFrom(timeRange.getMin());
    timeRangeBuilder.setTo(timeRange.getMax());
    builder.setTimeRange(timeRangeBuilder.build());
  }
  Map<String, byte[]> attributes = get.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());
    }
  }
  if (get.hasFamilies()) {
    Column.Builder columnBuilder = Column.newBuilder();
    Map<byte[], NavigableSet<byte[]>> families = get.getFamilyMap();
    for (Map.Entry<byte[], NavigableSet<byte[]>> family: families.entrySet()) {
      NavigableSet<byte[]> qualifiers = family.getValue();
      columnBuilder.setFamily(ByteStringer.wrap(family.getKey()));
      columnBuilder.clearQualifier();
      if (qualifiers != null && qualifiers.size() > 0) {
        for (byte[] qualifier: qualifiers) {
          columnBuilder.addQualifier(ByteStringer.wrap(qualifier));
        }
      }
      builder.addColumn(columnBuilder.build());
    }
  }
  if (get.getMaxResultsPerColumnFamily() >= 0) {
    builder.setStoreLimit(get.getMaxResultsPerColumnFamily());
  }
  if (get.getRowOffsetPerColumnFamily() > 0) {
    builder.setStoreOffset(get.getRowOffsetPerColumnFamily());
  }
  if (get.isCheckExistenceOnly()){
    builder.setExistenceOnly(true);
  }
  if (get.isClosestRowBefore()){
    builder.setClosestRowBefore(true);
  }
  if (get.getConsistency() != null && get.getConsistency() != Consistency.STRONG) {
    builder.setConsistency(toConsistency(get.getConsistency()));
  }

  return builder.build();
}
项目: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    文件:ProtobufUtil.java   
/**
 * Convert a protocol buffer Get to a client Get
 *
 * @param proto the protocol buffer Get to convert
 * @return the converted client Get
 * @throws IOException
 */
public static Get toGet(
    final ClientProtos.Get proto) throws IOException {
  if (proto == null) return null;
  byte[] row = proto.getRow().toByteArray();
  Get get = new Get(row);
  if (proto.hasCacheBlocks()) {
    get.setCacheBlocks(proto.getCacheBlocks());
  }
  if (proto.hasMaxVersions()) {
    get.setMaxVersions(proto.getMaxVersions());
  }
  if (proto.hasStoreLimit()) {
    get.setMaxResultsPerColumnFamily(proto.getStoreLimit());
  }
  if (proto.hasStoreOffset()) {
    get.setRowOffsetPerColumnFamily(proto.getStoreOffset());
  }
  if (proto.hasTimeRange()) {
    HBaseProtos.TimeRange timeRange = proto.getTimeRange();
    long minStamp = 0;
    long maxStamp = Long.MAX_VALUE;
    if (timeRange.hasFrom()) {
      minStamp = timeRange.getFrom();
    }
    if (timeRange.hasTo()) {
      maxStamp = timeRange.getTo();
    }
    get.setTimeRange(minStamp, maxStamp);
  }
  if (proto.hasFilter()) {
    FilterProtos.Filter filter = proto.getFilter();
    get.setFilter(ProtobufUtil.toFilter(filter));
  }
  for (NameBytesPair attribute: proto.getAttributeList()) {
    get.setAttribute(attribute.getName(), attribute.getValue().toByteArray());
  }
  if (proto.getColumnCount() > 0) {
    for (Column column: proto.getColumnList()) {
      byte[] family = column.getFamily().toByteArray();
      if (column.getQualifierCount() > 0) {
        for (ByteString qualifier: column.getQualifierList()) {
          get.addColumn(family, qualifier.toByteArray());
        }
      } else {
        get.addFamily(family);
      }
    }
  }
  if (proto.hasExistenceOnly() && proto.getExistenceOnly()){
    get.setCheckExistenceOnly(true);
  }
  if (proto.hasClosestRowBefore() && proto.getClosestRowBefore()){
    get.setClosestRowBefore(true);
  }
  return get;
}
项目:HIndex    文件:ProtobufUtil.java   
/**
 * Convert a client Scan to a protocol buffer Scan
 *
 * @param scan the client Scan to convert
 * @return the converted protocol buffer Scan
 * @throws IOException
 */
public static ClientProtos.Scan toScan(
    final Scan scan) throws IOException {
  ClientProtos.Scan.Builder scanBuilder =
    ClientProtos.Scan.newBuilder();
  scanBuilder.setCacheBlocks(scan.getCacheBlocks());
  if (scan.getBatch() > 0) {
    scanBuilder.setBatchSize(scan.getBatch());
  }
  if (scan.getMaxResultSize() > 0) {
    scanBuilder.setMaxResultSize(scan.getMaxResultSize());
  }
  if (scan.isSmall()) {
    scanBuilder.setSmall(scan.isSmall());
  }
  Boolean loadColumnFamiliesOnDemand = scan.getLoadColumnFamiliesOnDemandValue();
  if (loadColumnFamiliesOnDemand != null) {
    scanBuilder.setLoadColumnFamiliesOnDemand(loadColumnFamiliesOnDemand.booleanValue());
  }
  scanBuilder.setMaxVersions(scan.getMaxVersions());
  TimeRange timeRange = scan.getTimeRange();
  if (!timeRange.isAllTime()) {
    HBaseProtos.TimeRange.Builder timeRangeBuilder =
      HBaseProtos.TimeRange.newBuilder();
    timeRangeBuilder.setFrom(timeRange.getMin());
    timeRangeBuilder.setTo(timeRange.getMax());
    scanBuilder.setTimeRange(timeRangeBuilder.build());
  }
  Map<String, byte[]> attributes = scan.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()));
      scanBuilder.addAttribute(attributeBuilder.build());
    }
  }
  byte[] startRow = scan.getStartRow();
  if (startRow != null && startRow.length > 0) {
    scanBuilder.setStartRow(HBaseZeroCopyByteString.wrap(startRow));
  }
  byte[] stopRow = scan.getStopRow();
  if (stopRow != null && stopRow.length > 0) {
    scanBuilder.setStopRow(HBaseZeroCopyByteString.wrap(stopRow));
  }
  if (scan.hasFilter()) {
    scanBuilder.setFilter(ProtobufUtil.toFilter(scan.getFilter()));
  }
  if (scan.hasFamilies()) {
    Column.Builder columnBuilder = Column.newBuilder();
    for (Map.Entry<byte[],NavigableSet<byte []>>
        family: scan.getFamilyMap().entrySet()) {
      columnBuilder.setFamily(HBaseZeroCopyByteString.wrap(family.getKey()));
      NavigableSet<byte []> qualifiers = family.getValue();
      columnBuilder.clearQualifier();
      if (qualifiers != null && qualifiers.size() > 0) {
        for (byte [] qualifier: qualifiers) {
          columnBuilder.addQualifier(HBaseZeroCopyByteString.wrap(qualifier));
        }
      }
      scanBuilder.addColumn(columnBuilder.build());
    }
  }
  if (scan.getMaxResultsPerColumnFamily() >= 0) {
    scanBuilder.setStoreLimit(scan.getMaxResultsPerColumnFamily());
  }
  if (scan.getRowOffsetPerColumnFamily() > 0) {
    scanBuilder.setStoreOffset(scan.getRowOffsetPerColumnFamily());
  }
  if (scan.isReversed()) {
    scanBuilder.setReversed(scan.isReversed());
  }
  return scanBuilder.build();
}
项目:HIndex    文件:ProtobufUtil.java   
/**
 * Convert a protocol buffer Scan to a client Scan
 *
 * @param proto the protocol buffer Scan to convert
 * @return the converted client Scan
 * @throws IOException
 */
public static Scan toScan(
    final ClientProtos.Scan proto) throws IOException {
  byte [] startRow = HConstants.EMPTY_START_ROW;
  byte [] stopRow  = HConstants.EMPTY_END_ROW;
  if (proto.hasStartRow()) {
    startRow = proto.getStartRow().toByteArray();
  }
  if (proto.hasStopRow()) {
    stopRow = proto.getStopRow().toByteArray();
  }
  Scan scan = new Scan(startRow, stopRow);
  if (proto.hasCacheBlocks()) {
    scan.setCacheBlocks(proto.getCacheBlocks());
  }
  if (proto.hasMaxVersions()) {
    scan.setMaxVersions(proto.getMaxVersions());
  }
  if (proto.hasStoreLimit()) {
    scan.setMaxResultsPerColumnFamily(proto.getStoreLimit());
  }
  if (proto.hasStoreOffset()) {
    scan.setRowOffsetPerColumnFamily(proto.getStoreOffset());
  }
  if (proto.hasLoadColumnFamiliesOnDemand()) {
    scan.setLoadColumnFamiliesOnDemand(proto.getLoadColumnFamiliesOnDemand());
  }
  if (proto.hasTimeRange()) {
    HBaseProtos.TimeRange timeRange = proto.getTimeRange();
    long minStamp = 0;
    long maxStamp = Long.MAX_VALUE;
    if (timeRange.hasFrom()) {
      minStamp = timeRange.getFrom();
    }
    if (timeRange.hasTo()) {
      maxStamp = timeRange.getTo();
    }
    scan.setTimeRange(minStamp, maxStamp);
  }
  if (proto.hasFilter()) {
    FilterProtos.Filter filter = proto.getFilter();
    scan.setFilter(ProtobufUtil.toFilter(filter));
  }
  if (proto.hasBatchSize()) {
    scan.setBatch(proto.getBatchSize());
  }
  if (proto.hasMaxResultSize()) {
    scan.setMaxResultSize(proto.getMaxResultSize());
  }
  if (proto.hasSmall()) {
    scan.setSmall(proto.getSmall());
  }
  for (NameBytesPair attribute: proto.getAttributeList()) {
    scan.setAttribute(attribute.getName(), attribute.getValue().toByteArray());
  }
  if (proto.getColumnCount() > 0) {
    for (Column column: proto.getColumnList()) {
      byte[] family = column.getFamily().toByteArray();
      if (column.getQualifierCount() > 0) {
        for (ByteString qualifier: column.getQualifierList()) {
          scan.addColumn(family, qualifier.toByteArray());
        }
      } else {
        scan.addFamily(family);
      }
    }
  }
  if (proto.hasReversed()) {
    scan.setReversed(proto.getReversed());
  }
  return scan;
}
项目:HIndex    文件:ProtobufUtil.java   
/**
 * Create a protocol buffer Get based on a client Get.
 *
 * @param get the client Get
 * @return a protocol buffer Get
 * @throws IOException
 */
public static ClientProtos.Get toGet(
    final Get get) throws IOException {
  ClientProtos.Get.Builder builder =
    ClientProtos.Get.newBuilder();
  builder.setRow(HBaseZeroCopyByteString.wrap(get.getRow()));
  builder.setCacheBlocks(get.getCacheBlocks());
  builder.setMaxVersions(get.getMaxVersions());
  if (get.getFilter() != null) {
    builder.setFilter(ProtobufUtil.toFilter(get.getFilter()));
  }
  TimeRange timeRange = get.getTimeRange();
  if (!timeRange.isAllTime()) {
    HBaseProtos.TimeRange.Builder timeRangeBuilder =
      HBaseProtos.TimeRange.newBuilder();
    timeRangeBuilder.setFrom(timeRange.getMin());
    timeRangeBuilder.setTo(timeRange.getMax());
    builder.setTimeRange(timeRangeBuilder.build());
  }
  Map<String, byte[]> attributes = get.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());
    }
  }
  if (get.hasFamilies()) {
    Column.Builder columnBuilder = Column.newBuilder();
    Map<byte[], NavigableSet<byte[]>> families = get.getFamilyMap();
    for (Map.Entry<byte[], NavigableSet<byte[]>> family: families.entrySet()) {
      NavigableSet<byte[]> qualifiers = family.getValue();
      columnBuilder.setFamily(HBaseZeroCopyByteString.wrap(family.getKey()));
      columnBuilder.clearQualifier();
      if (qualifiers != null && qualifiers.size() > 0) {
        for (byte[] qualifier: qualifiers) {
          columnBuilder.addQualifier(HBaseZeroCopyByteString.wrap(qualifier));
        }
      }
      builder.addColumn(columnBuilder.build());
    }
  }
  if (get.getMaxResultsPerColumnFamily() >= 0) {
    builder.setStoreLimit(get.getMaxResultsPerColumnFamily());
  }
  if (get.getRowOffsetPerColumnFamily() > 0) {
    builder.setStoreOffset(get.getRowOffsetPerColumnFamily());
  }
  if (get.isCheckExistenceOnly()){
    builder.setExistenceOnly(true);
  }
  if (get.isClosestRowBefore()){
    builder.setClosestRowBefore(true);
  }
  return builder.build();
}
项目: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    文件: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;
}
项目:hbase    文件:ProtobufUtil.java   
/**
 * Create a protocol buffer Get based on a client Get.
 *
 * @param get the client Get
 * @return a protocol buffer Get
 * @throws IOException
 */
public static ClientProtos.Get toGet(
    final Get get) throws IOException {
  ClientProtos.Get.Builder builder =
    ClientProtos.Get.newBuilder();
  builder.setRow(ByteStringer.wrap(get.getRow()));
  builder.setCacheBlocks(get.getCacheBlocks());
  builder.setMaxVersions(get.getMaxVersions());
  if (get.getFilter() != null) {
    builder.setFilter(ProtobufUtil.toFilter(get.getFilter()));
  }
  for (Entry<byte[], TimeRange> cftr : get.getColumnFamilyTimeRange().entrySet()) {
    HBaseProtos.ColumnFamilyTimeRange.Builder b = HBaseProtos.ColumnFamilyTimeRange.newBuilder();
    b.setColumnFamily(ByteStringer.wrap(cftr.getKey()));
    b.setTimeRange(timeRangeToProto(cftr.getValue()));
    builder.addCfTimeRange(b);
  }
  TimeRange timeRange = get.getTimeRange();
  if (!timeRange.isAllTime()) {
    HBaseProtos.TimeRange.Builder timeRangeBuilder =
      HBaseProtos.TimeRange.newBuilder();
    timeRangeBuilder.setFrom(timeRange.getMin());
    timeRangeBuilder.setTo(timeRange.getMax());
    builder.setTimeRange(timeRangeBuilder.build());
  }
  Map<String, byte[]> attributes = get.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());
    }
  }
  if (get.hasFamilies()) {
    Column.Builder columnBuilder = Column.newBuilder();
    Map<byte[], NavigableSet<byte[]>> families = get.getFamilyMap();
    for (Map.Entry<byte[], NavigableSet<byte[]>> family: families.entrySet()) {
      NavigableSet<byte[]> qualifiers = family.getValue();
      columnBuilder.setFamily(ByteStringer.wrap(family.getKey()));
      columnBuilder.clearQualifier();
      if (qualifiers != null && qualifiers.size() > 0) {
        for (byte[] qualifier: qualifiers) {
          columnBuilder.addQualifier(ByteStringer.wrap(qualifier));
        }
      }
      builder.addColumn(columnBuilder.build());
    }
  }
  if (get.getMaxResultsPerColumnFamily() >= 0) {
    builder.setStoreLimit(get.getMaxResultsPerColumnFamily());
  }
  if (get.getRowOffsetPerColumnFamily() > 0) {
    builder.setStoreOffset(get.getRowOffsetPerColumnFamily());
  }
  if (get.isCheckExistenceOnly()){
    builder.setExistenceOnly(true);
  }
  if (get.getConsistency() != null && get.getConsistency() != Consistency.STRONG) {
    builder.setConsistency(toConsistency(get.getConsistency()));
  }

  Boolean loadColumnFamiliesOnDemand = get.getLoadColumnFamiliesOnDemandValue();
  if (loadColumnFamiliesOnDemand != null) {
    builder.setLoadColumnFamiliesOnDemand(loadColumnFamiliesOnDemand);
  }

  return builder.build();
}
项目:PyroDB    文件:ProtobufUtil.java   
/**
 * Convert a protocol buffer Get to a client Get
 *
 * @param proto the protocol buffer Get to convert
 * @return the converted client Get
 * @throws IOException
 */
public static Get toGet(
    final ClientProtos.Get proto) throws IOException {
  if (proto == null) return null;
  byte[] row = proto.getRow().toByteArray();
  Get get = new Get(row);
  if (proto.hasCacheBlocks()) {
    get.setCacheBlocks(proto.getCacheBlocks());
  }
  if (proto.hasMaxVersions()) {
    get.setMaxVersions(proto.getMaxVersions());
  }
  if (proto.hasStoreLimit()) {
    get.setMaxResultsPerColumnFamily(proto.getStoreLimit());
  }
  if (proto.hasStoreOffset()) {
    get.setRowOffsetPerColumnFamily(proto.getStoreOffset());
  }
  if (proto.hasTimeRange()) {
    HBaseProtos.TimeRange timeRange = proto.getTimeRange();
    long minStamp = 0;
    long maxStamp = Long.MAX_VALUE;
    if (timeRange.hasFrom()) {
      minStamp = timeRange.getFrom();
    }
    if (timeRange.hasTo()) {
      maxStamp = timeRange.getTo();
    }
    get.setTimeRange(minStamp, maxStamp);
  }
  if (proto.hasFilter()) {
    FilterProtos.Filter filter = proto.getFilter();
    get.setFilter(ProtobufUtil.toFilter(filter));
  }
  for (NameBytesPair attribute: proto.getAttributeList()) {
    get.setAttribute(attribute.getName(), attribute.getValue().toByteArray());
  }
  if (proto.getColumnCount() > 0) {
    for (Column column: proto.getColumnList()) {
      byte[] family = column.getFamily().toByteArray();
      if (column.getQualifierCount() > 0) {
        for (ByteString qualifier: column.getQualifierList()) {
          get.addColumn(family, qualifier.toByteArray());
        }
      } else {
        get.addFamily(family);
      }
    }
  }
  if (proto.hasExistenceOnly() && proto.getExistenceOnly()){
    get.setCheckExistenceOnly(true);
  }
  if (proto.hasClosestRowBefore() && proto.getClosestRowBefore()){
    get.setClosestRowBefore(true);
  }
  return get;
}
项目:PyroDB    文件:ProtobufUtil.java   
/**
 * Convert a client Scan to a protocol buffer Scan
 *
 * @param scan the client Scan to convert
 * @return the converted protocol buffer Scan
 * @throws IOException
 */
public static ClientProtos.Scan toScan(
    final Scan scan) throws IOException {
  ClientProtos.Scan.Builder scanBuilder =
    ClientProtos.Scan.newBuilder();
  scanBuilder.setCacheBlocks(scan.getCacheBlocks());
  if (scan.getBatch() > 0) {
    scanBuilder.setBatchSize(scan.getBatch());
  }
  if (scan.getMaxResultSize() > 0) {
    scanBuilder.setMaxResultSize(scan.getMaxResultSize());
  }
  if (scan.isSmall()) {
    scanBuilder.setSmall(scan.isSmall());
  }
  Boolean loadColumnFamiliesOnDemand = scan.getLoadColumnFamiliesOnDemandValue();
  if (loadColumnFamiliesOnDemand != null) {
    scanBuilder.setLoadColumnFamiliesOnDemand(loadColumnFamiliesOnDemand.booleanValue());
  }
  scanBuilder.setMaxVersions(scan.getMaxVersions());
  TimeRange timeRange = scan.getTimeRange();
  if (!timeRange.isAllTime()) {
    HBaseProtos.TimeRange.Builder timeRangeBuilder =
      HBaseProtos.TimeRange.newBuilder();
    timeRangeBuilder.setFrom(timeRange.getMin());
    timeRangeBuilder.setTo(timeRange.getMax());
    scanBuilder.setTimeRange(timeRangeBuilder.build());
  }
  Map<String, byte[]> attributes = scan.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()));
      scanBuilder.addAttribute(attributeBuilder.build());
    }
  }
  byte[] startRow = scan.getStartRow();
  if (startRow != null && startRow.length > 0) {
    scanBuilder.setStartRow(HBaseZeroCopyByteString.wrap(startRow));
  }
  byte[] stopRow = scan.getStopRow();
  if (stopRow != null && stopRow.length > 0) {
    scanBuilder.setStopRow(HBaseZeroCopyByteString.wrap(stopRow));
  }
  if (scan.hasFilter()) {
    scanBuilder.setFilter(ProtobufUtil.toFilter(scan.getFilter()));
  }
  if (scan.hasFamilies()) {
    Column.Builder columnBuilder = Column.newBuilder();
    for (Map.Entry<byte[],NavigableSet<byte []>>
        family: scan.getFamilyMap().entrySet()) {
      columnBuilder.setFamily(HBaseZeroCopyByteString.wrap(family.getKey()));
      NavigableSet<byte []> qualifiers = family.getValue();
      columnBuilder.clearQualifier();
      if (qualifiers != null && qualifiers.size() > 0) {
        for (byte [] qualifier: qualifiers) {
          columnBuilder.addQualifier(HBaseZeroCopyByteString.wrap(qualifier));
        }
      }
      scanBuilder.addColumn(columnBuilder.build());
    }
  }
  if (scan.getMaxResultsPerColumnFamily() >= 0) {
    scanBuilder.setStoreLimit(scan.getMaxResultsPerColumnFamily());
  }
  if (scan.getRowOffsetPerColumnFamily() > 0) {
    scanBuilder.setStoreOffset(scan.getRowOffsetPerColumnFamily());
  }
  if (scan.isReversed()) {
    scanBuilder.setReversed(scan.isReversed());
  }
  return scanBuilder.build();
}
项目:PyroDB    文件:ProtobufUtil.java   
/**
 * Convert a protocol buffer Scan to a client Scan
 *
 * @param proto the protocol buffer Scan to convert
 * @return the converted client Scan
 * @throws IOException
 */
public static Scan toScan(
    final ClientProtos.Scan proto) throws IOException {
  byte [] startRow = HConstants.EMPTY_START_ROW;
  byte [] stopRow  = HConstants.EMPTY_END_ROW;
  if (proto.hasStartRow()) {
    startRow = proto.getStartRow().toByteArray();
  }
  if (proto.hasStopRow()) {
    stopRow = proto.getStopRow().toByteArray();
  }
  Scan scan = new Scan(startRow, stopRow);
  if (proto.hasCacheBlocks()) {
    scan.setCacheBlocks(proto.getCacheBlocks());
  }
  if (proto.hasMaxVersions()) {
    scan.setMaxVersions(proto.getMaxVersions());
  }
  if (proto.hasStoreLimit()) {
    scan.setMaxResultsPerColumnFamily(proto.getStoreLimit());
  }
  if (proto.hasStoreOffset()) {
    scan.setRowOffsetPerColumnFamily(proto.getStoreOffset());
  }
  if (proto.hasLoadColumnFamiliesOnDemand()) {
    scan.setLoadColumnFamiliesOnDemand(proto.getLoadColumnFamiliesOnDemand());
  }
  if (proto.hasTimeRange()) {
    HBaseProtos.TimeRange timeRange = proto.getTimeRange();
    long minStamp = 0;
    long maxStamp = Long.MAX_VALUE;
    if (timeRange.hasFrom()) {
      minStamp = timeRange.getFrom();
    }
    if (timeRange.hasTo()) {
      maxStamp = timeRange.getTo();
    }
    scan.setTimeRange(minStamp, maxStamp);
  }
  if (proto.hasFilter()) {
    FilterProtos.Filter filter = proto.getFilter();
    scan.setFilter(ProtobufUtil.toFilter(filter));
  }
  if (proto.hasBatchSize()) {
    scan.setBatch(proto.getBatchSize());
  }
  if (proto.hasMaxResultSize()) {
    scan.setMaxResultSize(proto.getMaxResultSize());
  }
  if (proto.hasSmall()) {
    scan.setSmall(proto.getSmall());
  }
  for (NameBytesPair attribute: proto.getAttributeList()) {
    scan.setAttribute(attribute.getName(), attribute.getValue().toByteArray());
  }
  if (proto.getColumnCount() > 0) {
    for (Column column: proto.getColumnList()) {
      byte[] family = column.getFamily().toByteArray();
      if (column.getQualifierCount() > 0) {
        for (ByteString qualifier: column.getQualifierList()) {
          scan.addColumn(family, qualifier.toByteArray());
        }
      } else {
        scan.addFamily(family);
      }
    }
  }
  if (proto.hasReversed()) {
    scan.setReversed(proto.getReversed());
  }
  return scan;
}
项目:PyroDB    文件:ProtobufUtil.java   
/**
 * Create a protocol buffer Get based on a client Get.
 *
 * @param get the client Get
 * @return a protocol buffer Get
 * @throws IOException
 */
public static ClientProtos.Get toGet(
    final Get get) throws IOException {
  ClientProtos.Get.Builder builder =
    ClientProtos.Get.newBuilder();
  builder.setRow(HBaseZeroCopyByteString.wrap(get.getRow()));
  builder.setCacheBlocks(get.getCacheBlocks());
  builder.setMaxVersions(get.getMaxVersions());
  if (get.getFilter() != null) {
    builder.setFilter(ProtobufUtil.toFilter(get.getFilter()));
  }
  TimeRange timeRange = get.getTimeRange();
  if (!timeRange.isAllTime()) {
    HBaseProtos.TimeRange.Builder timeRangeBuilder =
      HBaseProtos.TimeRange.newBuilder();
    timeRangeBuilder.setFrom(timeRange.getMin());
    timeRangeBuilder.setTo(timeRange.getMax());
    builder.setTimeRange(timeRangeBuilder.build());
  }
  Map<String, byte[]> attributes = get.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());
    }
  }
  if (get.hasFamilies()) {
    Column.Builder columnBuilder = Column.newBuilder();
    Map<byte[], NavigableSet<byte[]>> families = get.getFamilyMap();
    for (Map.Entry<byte[], NavigableSet<byte[]>> family: families.entrySet()) {
      NavigableSet<byte[]> qualifiers = family.getValue();
      columnBuilder.setFamily(HBaseZeroCopyByteString.wrap(family.getKey()));
      columnBuilder.clearQualifier();
      if (qualifiers != null && qualifiers.size() > 0) {
        for (byte[] qualifier: qualifiers) {
          columnBuilder.addQualifier(HBaseZeroCopyByteString.wrap(qualifier));
        }
      }
      builder.addColumn(columnBuilder.build());
    }
  }
  if (get.getMaxResultsPerColumnFamily() >= 0) {
    builder.setStoreLimit(get.getMaxResultsPerColumnFamily());
  }
  if (get.getRowOffsetPerColumnFamily() > 0) {
    builder.setStoreOffset(get.getRowOffsetPerColumnFamily());
  }
  if (get.isCheckExistenceOnly()){
    builder.setExistenceOnly(true);
  }
  if (get.isClosestRowBefore()){
    builder.setClosestRowBefore(true);
  }
  return builder.build();
}
项目: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    文件:ProtobufUtil.java   
/**
 * Convert a protocol buffer Get to a client Get
 *
 * @param proto the protocol buffer Get to convert
 * @return the converted client Get
 * @throws IOException
 */
public static Get toGet(
    final ClientProtos.Get proto) throws IOException {
  if (proto == null) return null;
  byte[] row = proto.getRow().toByteArray();
  Get get = new Get(row);
  if (proto.hasCacheBlocks()) {
    get.setCacheBlocks(proto.getCacheBlocks());
  }
  if (proto.hasMaxVersions()) {
    get.setMaxVersions(proto.getMaxVersions());
  }
  if (proto.hasStoreLimit()) {
    get.setMaxResultsPerColumnFamily(proto.getStoreLimit());
  }
  if (proto.hasStoreOffset()) {
    get.setRowOffsetPerColumnFamily(proto.getStoreOffset());
  }
  if (proto.hasTimeRange()) {
    HBaseProtos.TimeRange timeRange = proto.getTimeRange();
    long minStamp = 0;
    long maxStamp = Long.MAX_VALUE;
    if (timeRange.hasFrom()) {
      minStamp = timeRange.getFrom();
    }
    if (timeRange.hasTo()) {
      maxStamp = timeRange.getTo();
    }
    get.setTimeRange(minStamp, maxStamp);
  }
  if (proto.hasFilter()) {
    FilterProtos.Filter filter = proto.getFilter();
    get.setFilter(ProtobufUtil.toFilter(filter));
  }
  for (NameBytesPair attribute: proto.getAttributeList()) {
    get.setAttribute(attribute.getName(), attribute.getValue().toByteArray());
  }
  if (proto.getColumnCount() > 0) {
    for (Column column: proto.getColumnList()) {
      byte[] family = column.getFamily().toByteArray();
      if (column.getQualifierCount() > 0) {
        for (ByteString qualifier: column.getQualifierList()) {
          get.addColumn(family, qualifier.toByteArray());
        }
      } else {
        get.addFamily(family);
      }
    }
  }
  if (proto.hasExistenceOnly() && proto.getExistenceOnly()){
    get.setCheckExistenceOnly(true);
  }
  if (proto.hasClosestRowBefore() && proto.getClosestRowBefore()){
    get.setClosestRowBefore(true);
  }
  return get;
}
项目:c5    文件:ProtobufUtil.java   
/**
 * Convert a client Scan to a protocol buffer Scan
 *
 * @param scan the client Scan to convert
 * @return the converted protocol buffer Scan
 * @throws IOException
 */
public static ClientProtos.Scan toScan(
    final Scan scan) throws IOException {
  ClientProtos.Scan.Builder scanBuilder =
    ClientProtos.Scan.newBuilder();
  scanBuilder.setCacheBlocks(scan.getCacheBlocks());
  if (scan.getBatch() > 0) {
    scanBuilder.setBatchSize(scan.getBatch());
  }
  if (scan.getMaxResultSize() > 0) {
    scanBuilder.setMaxResultSize(scan.getMaxResultSize());
  }
  if (scan.isSmall()) {
    scanBuilder.setSmall(scan.isSmall());
  }
  Boolean loadColumnFamiliesOnDemand = scan.getLoadColumnFamiliesOnDemandValue();
  if (loadColumnFamiliesOnDemand != null) {
    scanBuilder.setLoadColumnFamiliesOnDemand(loadColumnFamiliesOnDemand.booleanValue());
  }
  scanBuilder.setMaxVersions(scan.getMaxVersions());
  TimeRange timeRange = scan.getTimeRange();
  if (!timeRange.isAllTime()) {
    HBaseProtos.TimeRange.Builder timeRangeBuilder =
      HBaseProtos.TimeRange.newBuilder();
    timeRangeBuilder.setFrom(timeRange.getMin());
    timeRangeBuilder.setTo(timeRange.getMax());
    scanBuilder.setTimeRange(timeRangeBuilder.build());
  }
  Map<String, byte[]> attributes = scan.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()));
      scanBuilder.addAttribute(attributeBuilder.build());
    }
  }
  byte[] startRow = scan.getStartRow();
  if (startRow != null && startRow.length > 0) {
    scanBuilder.setStartRow(ZeroCopyLiteralByteString.wrap(startRow));
  }
  byte[] stopRow = scan.getStopRow();
  if (stopRow != null && stopRow.length > 0) {
    scanBuilder.setStopRow(ZeroCopyLiteralByteString.wrap(stopRow));
  }
  if (scan.hasFilter()) {
    scanBuilder.setFilter(ProtobufUtil.toFilter(scan.getFilter()));
  }
  if (scan.hasFamilies()) {
    Column.Builder columnBuilder = Column.newBuilder();
    for (Map.Entry<byte[],NavigableSet<byte []>>
        family: scan.getFamilyMap().entrySet()) {
      columnBuilder.setFamily(ZeroCopyLiteralByteString.wrap(family.getKey()));
      NavigableSet<byte []> qualifiers = family.getValue();
      columnBuilder.clearQualifier();
      if (qualifiers != null && qualifiers.size() > 0) {
        for (byte [] qualifier: qualifiers) {
          columnBuilder.addQualifier(ZeroCopyLiteralByteString.wrap(qualifier));
        }
      }
      scanBuilder.addColumn(columnBuilder.build());
    }
  }
  if (scan.getMaxResultsPerColumnFamily() >= 0) {
    scanBuilder.setStoreLimit(scan.getMaxResultsPerColumnFamily());
  }
  if (scan.getRowOffsetPerColumnFamily() > 0) {
    scanBuilder.setStoreOffset(scan.getRowOffsetPerColumnFamily());
  }
  return scanBuilder.build();
}