/** * This utility method creates a list of Thrift TRowResult "struct" based on an Hbase RowResult * object. The empty list is returned if the input is null. * * @param in Hbase RowResult object * @param sortColumns This boolean dictates if row data is returned in a sorted order sortColumns * = True will set TRowResult's sortedColumns member which is an ArrayList of TColumn struct * sortColumns = False will set TRowResult's columns member which is a map of columnName and * TCell struct * @return Thrift TRowResult array */ public static List<TRowResult> rowResultFromHBase(Result[] in, boolean sortColumns) { List<TRowResult> results = new ArrayList<TRowResult>(); for (Result result_ : in) { if (result_ == null || result_.isEmpty()) { continue; } TRowResult result = new TRowResult(); result.row = ByteBuffer.wrap(result_.getRow()); if (sortColumns) { result.sortedColumns = new ArrayList<TColumn>(); for (Cell kv : result_.rawCells()) { result.sortedColumns.add( new TColumn( ByteBuffer.wrap( KeyValue.makeColumn(CellUtil.cloneFamily(kv), CellUtil.cloneQualifier(kv))), new TCell(ByteBuffer.wrap(CellUtil.cloneValue(kv)), kv.getTimestamp()))); } } else { result.columns = new TreeMap<ByteBuffer, TCell>(); for (Cell kv : result_.rawCells()) { result.columns.put( ByteBuffer.wrap( KeyValue.makeColumn(CellUtil.cloneFamily(kv), CellUtil.cloneQualifier(kv))), new TCell(ByteBuffer.wrap(CellUtil.cloneValue(kv)), kv.getTimestamp())); } } results.add(result); } return results; }
public boolean equals(TRowResult that) { if (that == null) return false; boolean this_present_row = true && this.isSetRow(); boolean that_present_row = true && that.isSetRow(); if (this_present_row || that_present_row) { if (!(this_present_row && that_present_row)) return false; if (!java.util.Arrays.equals(this.row, that.row)) return false; } boolean this_present_columns = true && this.isSetColumns(); boolean that_present_columns = true && that.isSetColumns(); if (this_present_columns || that_present_columns) { if (!(this_present_columns && that_present_columns)) return false; if (!this.columns.equals(that.columns)) return false; } return true; }
/** Performs a deep copy on <i>other</i>. */ public TRowResult(TRowResult other) { if (other.isSetRow()) { this.row = other.row; } if (other.isSetColumns()) { Map<byte[], TCell> __this__columns = new HashMap<byte[], TCell>(); for (Map.Entry<byte[], TCell> other_element : other.columns.entrySet()) { byte[] other_element_key = other_element.getKey(); TCell other_element_value = other_element.getValue(); byte[] __this__columns_copy_key = other_element_key; TCell __this__columns_copy_value = new TCell(other_element_value); __this__columns.put(__this__columns_copy_key, __this__columns_copy_value); } this.columns = __this__columns; } }