1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.hadoop.hbase.client;
22
23 import org.apache.hadoop.hbase.util.Bytes;
24 import org.apache.hadoop.io.Writable;
25
26 import java.io.DataInput;
27 import java.io.DataOutput;
28 import java.io.IOException;
29 import java.util.Map;
30 import java.util.TreeMap;
31
32
33
34
35
36 public class MultiPutResponse implements Writable {
37
38 protected MultiPut request;
39
40 protected Map<byte[], Integer> answers = new TreeMap<byte[], Integer>(Bytes.BYTES_COMPARATOR);
41
42 public MultiPutResponse() {}
43
44 public void addResult(byte[] regionName, int result) {
45 answers.put(regionName, result);
46 }
47
48 public Integer getAnswer(byte[] region) {
49 return answers.get(region);
50 }
51
52 @Override
53 public void write(DataOutput out) throws IOException {
54 out.writeInt(answers.size());
55 for( Map.Entry<byte[],Integer> e : answers.entrySet()) {
56 Bytes.writeByteArray(out, e.getKey());
57 out.writeInt(e.getValue());
58 }
59 }
60
61 @Override
62 public void readFields(DataInput in) throws IOException {
63 answers.clear();
64
65 int mapSize = in.readInt();
66 for( int i = 0 ; i < mapSize ; i++ ) {
67 byte[] key = Bytes.readByteArray(in);
68 int value = in.readInt();
69
70 answers.put(key, value);
71 }
72 }
73 }