/** * @param cell the cell to get the qualifier from * @param charset the charset that was used to encode the cell's qualifier * @param base64encodeValues whether or not to base64 encode the returned string * * @return the String representation of the cell's qualifier */ public static String getCellQualifier(final ResultCell cell, final Charset charset, final boolean base64encodeValues) { if (base64encodeValues) { ByteBuffer cellQualifierBuffer = ByteBuffer.wrap(cell.getQualifierArray(), cell.getQualifierOffset(), cell.getQualifierLength()); ByteBuffer base64Buffer = Base64.getEncoder().encode(cellQualifierBuffer); return new String(base64Buffer.array(), StandardCharsets.UTF_8); } else { return new String(cell.getQualifierArray(), cell.getQualifierOffset(), cell.getQualifierLength(), charset); } }
@Override public String serialize(byte[] rowKey, ResultCell[] cells) { final StringBuilder jsonBuilder = new StringBuilder(); jsonBuilder.append("{"); final String row = new String(rowKey, charset); jsonBuilder.append("\"row\":") .append("\"") .append(StringEscapeUtils.escapeJson(row)) .append("\""); jsonBuilder.append(", \"cells\": {"); int i = 0; for (final ResultCell cell : cells) { final String cellFamily = new String(cell.getFamilyArray(), cell.getFamilyOffset(), cell.getFamilyLength(), charset); final String cellQualifier = new String(cell.getQualifierArray(), cell.getQualifierOffset(), cell.getQualifierLength(), charset); if (i > 0) { jsonBuilder.append(", "); } jsonBuilder.append("\"") .append(StringEscapeUtils.escapeJson(cellFamily)) .append(":") .append(StringEscapeUtils.escapeJson(cellQualifier)) .append("\":\"") .append(StringEscapeUtils.escapeJson(new String(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength(), charset))) .append("\""); i++; } jsonBuilder.append("}}"); return jsonBuilder.toString(); }
final byte[] qualifier = Arrays.copyOfRange(cell.getQualifierArray(), cell.getQualifierOffset(), cell.getQualifierOffset() + cell.getQualifierLength()); final byte[] value = Arrays.copyOfRange(cell.getValueArray(), cell.getValueOffset(), cell.getValueOffset() + cell.getValueLength()); values.put(new String(qualifier, charset), new String(value, charset));
final byte[] qualifier = Arrays.copyOfRange(cell.getQualifierArray(), cell.getQualifierOffset(), cell.getQualifierOffset() + cell.getQualifierLength()); final byte[] value = Arrays.copyOfRange(cell.getValueArray(), cell.getValueOffset(), cell.getValueOffset() + cell.getValueLength()); values.put(new String(qualifier, charset), new String(value, charset));
final byte[] qualifier = Arrays.copyOfRange(cell.getQualifierArray(), cell.getQualifierOffset(), cell.getQualifierOffset() + cell.getQualifierLength()); final byte[] value = Arrays.copyOfRange(cell.getValueArray(), cell.getValueOffset(), cell.getValueOffset() + cell.getValueLength()); values.put(new String(qualifier, charset), new String(value, charset));