/** * Creates a {@link Delete} (HBase) from a {@link TDelete} (Thrift). * * @param in the <code>TDelete</code> to convert * * @return converted <code>Delete</code> */ public static Delete deleteFromThrift(TDelete in) { Delete out; if (in.isSetColumns()) { out = new Delete(in.getRow()); for (TColumn column : in.getColumns()) { if (column.isSetQualifier()) { if (column.isSetTimestamp()) { if (in.isSetDeleteType() && in.getDeleteType().equals(TDeleteType.DELETE_COLUMNS)) out.deleteColumns(column.getFamily(), column.getQualifier(), column.getTimestamp()); else out.deleteColumn(column.getFamily(), column.getQualifier(), column.getTimestamp()); } else { if (in.isSetDeleteType() && in.getDeleteType().equals(TDeleteType.DELETE_COLUMNS)) out.deleteColumns(column.getFamily(), column.getQualifier()); else out.deleteColumn(column.getFamily(), column.getQualifier()); } } else { if (column.isSetTimestamp()) { out.deleteFamily(column.getFamily(), column.getTimestamp()); } else { out.deleteFamily(column.getFamily()); } } } } else { if (in.isSetTimestamp()) { out = new Delete(in.getRow(), in.getTimestamp()); } else { out = new Delete(in.getRow()); } } if (in.isSetAttributes()) { addAttributes(out,in.getAttributes()); } if (in.isSetDurability()) { out.setDurability(durabilityFromThrift(in.getDurability())); } return out; }