(byte server_version)
| 159 | } |
| 160 | |
| 161 | @Override |
| 162 | ChannelBuffer serialize(byte server_version) { |
| 163 | if (server_version < RegionClient.SERVER_VERSION_095_OR_ABOVE) { |
| 164 | return serializeOld(server_version); |
| 165 | } |
| 166 | |
| 167 | final ByteString key = Bytes.wrap(put.key()); |
| 168 | final ByteString family = Bytes.wrap(put.family()); |
| 169 | final ByteString qualifier = Bytes.wrap(put.qualifier()); |
| 170 | final ByteString value = Bytes.wrap(put.value()); |
| 171 | |
| 172 | // The edit. |
| 173 | final MutationProto.ColumnValue.QualifierValue qual = |
| 174 | MutationProto.ColumnValue.QualifierValue.newBuilder() |
| 175 | .setQualifier(qualifier) |
| 176 | .setValue(value) |
| 177 | .setTimestamp(put.timestamp()) |
| 178 | .build(); |
| 179 | final MutationProto.ColumnValue column = |
| 180 | MutationProto.ColumnValue.newBuilder() |
| 181 | .setFamily(family) |
| 182 | .addQualifierValue(qual) |
| 183 | .build(); |
| 184 | final MutationProto.Builder put = MutationProto.newBuilder() |
| 185 | .setRow(key) |
| 186 | .setMutateType(MutationProto.MutationType.PUT) |
| 187 | .addColumnValue(column); |
| 188 | |
| 189 | // The condition that needs to match for the edit to be applied. |
| 190 | final ByteArrayComparable expected = ByteArrayComparable.newBuilder() |
| 191 | .setValue(Bytes.wrap(this.expected)) |
| 192 | .build(); |
| 193 | final BinaryComparator cmp = BinaryComparator.newBuilder() |
| 194 | .setComparable(expected) |
| 195 | .build(); |
| 196 | final Comparator comparator = Comparator.newBuilder() |
| 197 | .setNameBytes(BINARYCOMPARATOR) |
| 198 | .setSerializedComparator(Bytes.wrap(cmp.toByteArray())) |
| 199 | .build(); |
| 200 | final Condition cond = Condition.newBuilder() |
| 201 | .setRow(key) |
| 202 | .setFamily(family) |
| 203 | .setQualifier(qualifier) |
| 204 | .setCompareType(CompareType.EQUAL) |
| 205 | .setComparator(comparator) |
| 206 | .build(); |
| 207 | |
| 208 | final MutateRequest req = MutateRequest.newBuilder() |
| 209 | .setRegion(region.toProtobuf()) |
| 210 | .setMutation(put.build()) |
| 211 | .setCondition(cond) |
| 212 | .build(); |
| 213 | return toChannelBuffer(MUTATE, req); |
| 214 | } |
| 215 | |
| 216 | /** Serializes this request for HBase 0.94 and before. */ |
| 217 | private ChannelBuffer serializeOld(final byte server_version) { |
nothing calls this directly
no test coverage detected