当前位置: 首页>>代码示例>>Java>>正文


Java ProtobufUtil.mergeFrom方法代码示例

本文整理汇总了Java中org.apache.hadoop.hbase.protobuf.ProtobufUtil.mergeFrom方法的典型用法代码示例。如果您正苦于以下问题:Java ProtobufUtil.mergeFrom方法的具体用法?Java ProtobufUtil.mergeFrom怎么用?Java ProtobufUtil.mergeFrom使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.hadoop.hbase.protobuf.ProtobufUtil的用法示例。


在下文中一共展示了ProtobufUtil.mergeFrom方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: parseRegionStoreSequenceIds

import org.apache.hadoop.hbase.protobuf.ProtobufUtil; //导入方法依赖的package包/类
/**
 * @param bytes Content of serialized data of RegionStoreSequenceIds
 * @return a RegionStoreSequenceIds object
 * @throws DeserializationException
 */
public static RegionStoreSequenceIds parseRegionStoreSequenceIds(final byte[] bytes)
    throws DeserializationException {
  if (bytes == null || !ProtobufUtil.isPBMagicPrefix(bytes)) {
    throw new DeserializationException("Unable to parse RegionStoreSequenceIds.");
  }
  RegionStoreSequenceIds.Builder regionSequenceIdsBuilder =
      ClusterStatusProtos.RegionStoreSequenceIds.newBuilder();
  int pblen = ProtobufUtil.lengthOfPBMagic();
  RegionStoreSequenceIds storeIds = null;
  try {
    ProtobufUtil.mergeFrom(regionSequenceIdsBuilder, bytes, pblen, bytes.length - pblen);
    storeIds = regionSequenceIdsBuilder.build();
  } catch (IOException e) {
    throw new DeserializationException(e);
  }
  return storeIds;
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:23,代码来源:ZKUtil.java

示例2: getObjectFromMessage

import org.apache.hadoop.hbase.protobuf.ProtobufUtil; //导入方法依赖的package包/类
@Override
public ProtobufMessageHandler getObjectFromMessage(byte[] message)
    throws IOException {
  CellSet.Builder builder = CellSet.newBuilder();
  ProtobufUtil.mergeFrom(builder, message);
  for (CellSet.Row row: builder.getRowsList()) {
    RowModel rowModel = new RowModel(row.getKey().toByteArray());
    for (Cell cell: row.getValuesList()) {
      long timestamp = HConstants.LATEST_TIMESTAMP;
      if (cell.hasTimestamp()) {
        timestamp = cell.getTimestamp();
      }
      rowModel.addCell(
          new CellModel(cell.getColumn().toByteArray(), timestamp,
                cell.getData().toByteArray()));
    }
    addRow(rowModel);
  }
  return this;
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:21,代码来源:CellSetModel.java

示例3: parseStateFrom

import org.apache.hadoop.hbase.protobuf.ProtobufUtil; //导入方法依赖的package包/类
/**
 * @param bytes Content of a state znode.
 * @return State parsed from the passed bytes.
 * @throws DeserializationException
 */
private static ZooKeeperProtos.ReplicationState.State parseStateFrom(final byte[] bytes)
    throws DeserializationException {
  ProtobufUtil.expectPBMagicPrefix(bytes);
  int pblen = ProtobufUtil.lengthOfPBMagic();
  ZooKeeperProtos.ReplicationState.Builder builder =
      ZooKeeperProtos.ReplicationState.newBuilder();
  ZooKeeperProtos.ReplicationState state;
  try {
    ProtobufUtil.mergeFrom(builder, bytes, pblen, bytes.length - pblen);
    state = builder.build();
    return state.getState();
  } catch (IOException e) {
    throw new DeserializationException(e);
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:21,代码来源:ReplicationPeerZKImpl.java

示例4: parsePeerFrom

import org.apache.hadoop.hbase.protobuf.ProtobufUtil; //导入方法依赖的package包/类
/**
 * @param bytes Content of a peer znode.
 * @return ClusterKey parsed from the passed bytes.
 * @throws DeserializationException
 */
private static ReplicationPeerConfig parsePeerFrom(final byte[] bytes)
    throws DeserializationException {
  if (ProtobufUtil.isPBMagicPrefix(bytes)) {
    int pblen = ProtobufUtil.lengthOfPBMagic();
    ZooKeeperProtos.ReplicationPeer.Builder builder =
        ZooKeeperProtos.ReplicationPeer.newBuilder();
    ZooKeeperProtos.ReplicationPeer peer;
    try {
      ProtobufUtil.mergeFrom(builder, bytes, pblen, bytes.length - pblen);
      peer = builder.build();
    } catch (IOException e) {
      throw new DeserializationException(e);
    }
    return convert(peer);
  } else {
    if (bytes.length > 0) {
      return new ReplicationPeerConfig().setClusterKey(Bytes.toString(bytes));
    }
    return new ReplicationPeerConfig().setClusterKey("");
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:27,代码来源:ReplicationPeersZKImpl.java

示例5: appendPeerState

import org.apache.hadoop.hbase.protobuf.ProtobufUtil; //导入方法依赖的package包/类
private static void appendPeerState(ZooKeeperWatcher zkw, String znodeToProcess,
    StringBuilder sb) throws KeeperException, InvalidProtocolBufferException {
  String peerState = zkw.getConfiguration().get("zookeeper.znode.replication.peers.state",
    "peer-state");
  int pblen = ProtobufUtil.lengthOfPBMagic();
  for (String child : ZKUtil.listChildrenNoWatch(zkw, znodeToProcess)) {
    if (!child.equals(peerState)) continue;
    String peerStateZnode = ZKUtil.joinZNode(znodeToProcess, child);
    sb.append("\n").append(peerStateZnode).append(": ");
    byte[] peerStateData;
    try {
      peerStateData = ZKUtil.getData(zkw, peerStateZnode);
      ZooKeeperProtos.ReplicationState.Builder builder =
          ZooKeeperProtos.ReplicationState.newBuilder();
      ProtobufUtil.mergeFrom(builder, peerStateData, pblen, peerStateData.length - pblen);
      sb.append(builder.getState().name());
    } catch (IOException ipbe) {
      LOG.warn("Got Exception while parsing peer: " + znodeToProcess, ipbe);
    } catch (InterruptedException e) {
      zkw.interruptedException(e);
      return;
    }
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:25,代码来源:ZKUtil.java

示例6: readUserAuthsFromZKData

import org.apache.hadoop.hbase.protobuf.ProtobufUtil; //导入方法依赖的package包/类
/**
 * Reads back User auth data written to zookeeper.
 * @param data
 * @return User auth details
 * @throws DeserializationException
 */
public static MultiUserAuthorizations readUserAuthsFromZKData(byte[] data) 
    throws DeserializationException {
  if (ProtobufUtil.isPBMagicPrefix(data)) {
    int pblen = ProtobufUtil.lengthOfPBMagic();
    try {
      MultiUserAuthorizations.Builder builder = MultiUserAuthorizations.newBuilder();
      ProtobufUtil.mergeFrom(builder, data, pblen, data.length - pblen);
      return builder.build();
    } catch (IOException e) {
      throw new DeserializationException(e);
    }
  }
  return null;
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:21,代码来源:VisibilityUtils.java

示例7: getCellPermissionsForUser

import org.apache.hadoop.hbase.protobuf.ProtobufUtil; //导入方法依赖的package包/类
public static List<Permission> getCellPermissionsForUser(User user, Cell cell)
    throws IOException {
  // Save an object allocation where we can
  if (cell.getTagsLength() == 0) {
    return null;
  }
  List<Permission> results = Lists.newArrayList();
  Iterator<Tag> tagsIterator = CellUtil.tagsIterator(cell.getTagsArray(), cell.getTagsOffset(),
     cell.getTagsLength());
  while (tagsIterator.hasNext()) {
    Tag tag = tagsIterator.next();
    if (tag.getType() == ACL_TAG_TYPE) {
      // Deserialize the table permissions from the KV
      // TODO: This can be improved. Don't build UsersAndPermissions just to unpack it again,
      // use the builder
      AccessControlProtos.UsersAndPermissions.Builder builder = 
        AccessControlProtos.UsersAndPermissions.newBuilder();
      ProtobufUtil.mergeFrom(builder, tag.getBuffer(), tag.getTagOffset(), tag.getTagLength());
      ListMultimap<String,Permission> kvPerms =
        ProtobufUtil.toUsersAndPermissions(builder.build());
      // Are there permissions for this user?
      List<Permission> userPerms = kvPerms.get(user.getShortName());
      if (userPerms != null) {
        results.addAll(userPerms);
      }
      // Are there permissions for any of the groups this user belongs to?
      String groupNames[] = user.getGroupNames();
      if (groupNames != null) {
        for (String group : groupNames) {
          List<Permission> groupPerms = kvPerms.get(AuthUtil.toGroupEntry(group));
          if (results != null) {
            results.addAll(groupPerms);
          }
        }
      }
    }
  }
  return results;
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:40,代码来源:AccessControlLists.java

示例8: callExecService

import org.apache.hadoop.hbase.protobuf.ProtobufUtil; //导入方法依赖的package包/类
@Override
protected Message callExecService(RpcController controller,
    Descriptors.MethodDescriptor method, Message request, Message responsePrototype)
        throws IOException {
  if (LOG.isTraceEnabled()) {
    LOG.trace("Call: " + method.getName() + ", " + request.toString());
  }
  final ClientProtos.CoprocessorServiceCall call =
      ClientProtos.CoprocessorServiceCall.newBuilder()
          .setRow(ByteStringer.wrap(HConstants.EMPTY_BYTE_ARRAY))
          .setServiceName(method.getService().getFullName()).setMethodName(method.getName())
          .setRequest(request.toByteString()).build();

  // TODO: Are we retrying here? Does not seem so. We should use RetryingRpcCaller
  CoprocessorServiceResponse result =
      ProtobufUtil.execRegionServerService(controller, connection.getClient(serverName), call);
  Message response = null;
  if (result.getValue().hasValue()) {
    Message.Builder builder = responsePrototype.newBuilderForType();
    ProtobufUtil.mergeFrom(builder, result.getValue().getValue());
    response = builder.build();
  } else {
    response = responsePrototype.getDefaultInstanceForType();
  }
  if (LOG.isTraceEnabled()) {
    LOG.trace("Result is value=" + response);
  }
  return response;
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:30,代码来源:RegionServerCoprocessorRpcChannel.java

示例9: parseFrom

import org.apache.hadoop.hbase.protobuf.ProtobufUtil; //导入方法依赖的package包/类
/**
 * @param data Serialized date to parse.
 * @return An SplitLogTaskState instance made of the passed <code>data</code>
 * @throws DeserializationException 
 * @see #toByteArray()
 */
public static SplitLogTask parseFrom(final byte [] data) throws DeserializationException {
  ProtobufUtil.expectPBMagicPrefix(data);
  try {
    int prefixLen = ProtobufUtil.lengthOfPBMagic();
    ZooKeeperProtos.SplitLogTask.Builder builder = ZooKeeperProtos.SplitLogTask.newBuilder();
    ProtobufUtil.mergeFrom(builder, data, prefixLen, data.length - prefixLen);
    return new SplitLogTask(builder.build());
  } catch (IOException e) {
    throw new DeserializationException(Bytes.toStringBinary(data, 0, 64), e);
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:18,代码来源:SplitLogTask.java

示例10: fromBytes

import org.apache.hadoop.hbase.protobuf.ProtobufUtil; //导入方法依赖的package包/类
/** Public for hbck */
public static ZooKeeperProtos.TableLock fromBytes(byte[] bytes) {
  int pblen = ProtobufUtil.lengthOfPBMagic();
  if (bytes == null || bytes.length < pblen) {
    return null;
  }
  try {
    ZooKeeperProtos.TableLock.Builder builder = ZooKeeperProtos.TableLock.newBuilder();
    ProtobufUtil.mergeFrom(builder, bytes, pblen, bytes.length - pblen);
    return builder.build();
  } catch (IOException ex) {
    LOG.warn("Exception in deserialization", ex);
  }
  return null;
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:16,代码来源:TableLockManager.java

示例11: parseVersionFrom

import org.apache.hadoop.hbase.protobuf.ProtobufUtil; //导入方法依赖的package包/类
/**
 * Parse the content of the ${HBASE_ROOTDIR}/hbase.version file.
 * @param bytes The byte content of the hbase.version file.
 * @return The version found in the file as a String.
 * @throws DeserializationException
 */
static String parseVersionFrom(final byte [] bytes)
throws DeserializationException {
  ProtobufUtil.expectPBMagicPrefix(bytes);
  int pblen = ProtobufUtil.lengthOfPBMagic();
  FSProtos.HBaseVersionFileContent.Builder builder =
    FSProtos.HBaseVersionFileContent.newBuilder();
  try {
    ProtobufUtil.mergeFrom(builder, bytes, pblen, bytes.length - pblen);
    return builder.getVersion();
  } catch (IOException e) {
    // Convert
    throw new DeserializationException(e);
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:21,代码来源:FSUtils.java

示例12: getObjectFromMessage

import org.apache.hadoop.hbase.protobuf.ProtobufUtil; //导入方法依赖的package包/类
@Override
public ProtobufMessageHandler getObjectFromMessage(byte[] message) 
    throws IOException {
  TableInfo.Builder builder = TableInfo.newBuilder();
  ProtobufUtil.mergeFrom(builder, message);
  setName(builder.getName());
  for (TableInfo.Region region: builder.getRegionsList()) {
    add(new TableRegionModel(builder.getName(), region.getId(), 
        region.getStartKey().toByteArray(),
        region.getEndKey().toByteArray(),
        region.getLocation()));
  }
  return this;
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:15,代码来源:TableInfoModel.java

示例13: readFields

import org.apache.hadoop.hbase.protobuf.ProtobufUtil; //导入方法依赖的package包/类
@Override
public void readFields(DataInput in) throws IOException {
  int len = in.readInt();
  byte[] inBytes = new byte[len];
  in.readFully(inBytes);
  AuthenticationProtos.TokenIdentifier.Builder builder =
    AuthenticationProtos.TokenIdentifier.newBuilder();
  ProtobufUtil.mergeFrom(builder, inBytes);
  AuthenticationProtos.TokenIdentifier identifier = builder.build();
  // sanity check on type
  if (!identifier.hasKind() ||
      identifier.getKind() != AuthenticationProtos.TokenIdentifier.Kind.HBASE_AUTH_TOKEN) {
    throw new IOException("Invalid TokenIdentifier kind from input "+identifier.getKind());
  }

  // copy the field values
  if (identifier.hasUsername()) {
    username = identifier.getUsername().toStringUtf8();
  }
  if (identifier.hasKeyId()) {
    keyId = identifier.getKeyId();
  }
  if (identifier.hasIssueDate()) {
    issueDate = identifier.getIssueDate();
  }
  if (identifier.hasExpirationDate()) {
    expirationDate = identifier.getExpirationDate();
  }
  if (identifier.hasSequenceNumber()) {
    sequenceNumber = identifier.getSequenceNumber();
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:33,代码来源:AuthenticationTokenIdentifier.java

示例14: getObjectFromMessage

import org.apache.hadoop.hbase.protobuf.ProtobufUtil; //导入方法依赖的package包/类
@Override
public ProtobufMessageHandler getObjectFromMessage(byte[] message)
    throws IOException {
  Cell.Builder builder = Cell.newBuilder();
  ProtobufUtil.mergeFrom(builder, message);
  setColumn(builder.getColumn().toByteArray());
  setValue(builder.getData().toByteArray());
  if (builder.hasTimestamp()) {
    setTimestamp(builder.getTimestamp());
  }
  return this;
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:13,代码来源:CellModel.java

示例15: parseFrom

import org.apache.hadoop.hbase.protobuf.ProtobufUtil; //导入方法依赖的package包/类
/**
 * @param data Serialized date to parse.
 * @return A RegionTransition instance made of the passed <code>data</code>
 * @throws DeserializationException 
 * @see #toByteArray()
 */
public static RegionTransition parseFrom(final byte [] data) throws DeserializationException {
  ProtobufUtil.expectPBMagicPrefix(data);
  try {
    int prefixLen = ProtobufUtil.lengthOfPBMagic();
    ZooKeeperProtos.RegionTransition.Builder builder =
        ZooKeeperProtos.RegionTransition.newBuilder();
    ProtobufUtil.mergeFrom(builder, data, prefixLen, data.length - prefixLen);
    return new RegionTransition(builder.build());
  } catch (IOException e) {
    throw new DeserializationException(e);
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:19,代码来源:RegionTransition.java


注:本文中的org.apache.hadoop.hbase.protobuf.ProtobufUtil.mergeFrom方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。