1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.hadoop.hbase.rsgroup;
20
21 import java.util.ArrayList;
22 import java.util.List;
23
24 import org.apache.hadoop.hbase.TableName;
25 import org.apache.hadoop.hbase.classification.InterfaceAudience;
26 import org.apache.hadoop.hbase.net.Address;
27 import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos;
28 import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
29 import org.apache.hadoop.hbase.protobuf.generated.RSGroupProtos;
30 import org.apache.hadoop.hbase.protobuf.generated.TableProtos;
31
32 @InterfaceAudience.Private
33 class RSGroupProtobufUtil {
34 static RSGroupInfo toGroupInfo(RSGroupProtos.RSGroupInfo proto) {
35 RSGroupInfo RSGroupInfo = new RSGroupInfo(proto.getName());
36 for(HBaseProtos.ServerName el: proto.getServersList()) {
37 RSGroupInfo.addServer(Address.fromParts(el.getHostName(), el.getPort()));
38 }
39 for(TableProtos.TableName pTableName: proto.getTablesList()) {
40 RSGroupInfo.addTable(ProtobufUtil.toTableName(pTableName));
41 }
42 return RSGroupInfo;
43 }
44
45 static RSGroupProtos.RSGroupInfo toProtoGroupInfo(RSGroupInfo pojo) {
46 List<TableProtos.TableName> tables = new ArrayList<>(pojo.getTables().size());
47 for(TableName arg: pojo.getTables()) {
48 tables.add(ProtobufUtil.toProtoTableName(arg));
49 }
50 List<HBaseProtos.ServerName> servers = new ArrayList<>(pojo.getServers().size());
51 for(Address el: pojo.getServers()) {
52 servers.add(HBaseProtos.ServerName.newBuilder()
53 .setHostName(el.getHostname())
54 .setPort(el.getPort())
55 .build());
56 }
57 return RSGroupProtos.RSGroupInfo.newBuilder().setName(pojo.getName())
58 .addAllServers(servers)
59 .addAllTables(tables).build();
60 }
61 }