예제 #1
0
 @Override
 public ProtobufMessageHandler getObjectFromMessage(byte[] message) throws IOException {
   Scanner.Builder builder = Scanner.newBuilder();
   builder.mergeFrom(message);
   if (builder.hasStartRow()) {
     startRow = builder.getStartRow().toByteArray();
   }
   if (builder.hasEndRow()) {
     endRow = builder.getEndRow().toByteArray();
   }
   for (ByteString column : builder.getColumnsList()) {
     addColumn(column.toByteArray());
   }
   if (builder.hasBatch()) {
     batch = builder.getBatch();
   }
   if (builder.hasStartTime()) {
     startTime = builder.getStartTime();
   }
   if (builder.hasEndTime()) {
     endTime = builder.getEndTime();
   }
   if (builder.hasMaxVersions()) {
     maxVersions = builder.getMaxVersions();
   }
   if (builder.hasFilter()) {
     filter = builder.getFilter();
   }
   return this;
 }
예제 #2
0
 @Override
 public byte[] createProtobufOutput() {
   Scanner.Builder builder = Scanner.newBuilder();
   if (!Bytes.equals(startRow, HConstants.EMPTY_START_ROW)) {
     builder.setStartRow(ByteString.copyFrom(startRow));
   }
   if (!Bytes.equals(endRow, HConstants.EMPTY_START_ROW)) {
     builder.setEndRow(ByteString.copyFrom(endRow));
   }
   for (byte[] column : columns) {
     builder.addColumns(ByteString.copyFrom(column));
   }
   builder.setBatch(batch);
   if (startTime != 0) {
     builder.setStartTime(startTime);
   }
   if (endTime != 0) {
     builder.setEndTime(endTime);
   }
   builder.setBatch(getBatch());
   builder.setMaxVersions(maxVersions);
   if (filter != null) {
     builder.setFilter(filter);
   }
   return builder.build().toByteArray();
 }