1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.hadoop.hbase.client.coprocessor;
20
21 import java.io.IOException;
22
23 import org.apache.hadoop.hbase.classification.InterfaceAudience;
24 import org.apache.hadoop.hbase.classification.InterfaceStability;
25 import org.apache.hadoop.hbase.HBaseInterfaceAudience;
26 import org.apache.hadoop.hbase.protobuf.generated.RowProcessorProtos.ProcessRequest;
27 import org.apache.hadoop.hbase.regionserver.RowProcessor;
28
29 import com.google.protobuf.Message;
30
31
32
33
34
35 @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.COPROC)
36 @InterfaceStability.Evolving
37 public class RowProcessorClient {
38 public static <S extends Message, T extends Message>
39 ProcessRequest getRowProcessorPB(RowProcessor<S,T> r)
40 throws IOException {
41 final ProcessRequest.Builder requestBuilder =
42 ProcessRequest.newBuilder();
43 requestBuilder.setRowProcessorClassName(r.getClass().getName());
44 S s = r.getRequestData();
45 if (s != null) {
46 requestBuilder.setRowProcessorInitializerMessageName(s.getClass().getName());
47 requestBuilder.setRowProcessorInitializerMessage(s.toByteString());
48 }
49 return requestBuilder.build();
50 }
51 }