int getNextId() { RowColumnRangeIterator iterator = kvs.getRowsColumnRange( ID_TO_NAME, Collections.singleton(rowAsBytes), BatchColumnRangeSelection.create(null, null, 1), Long.MAX_VALUE).getOrDefault(rowAsBytes, emptyIterator()); if (!iterator.hasNext()) { return 1; } Map.Entry<Cell, Value> first = iterator.next(); RowResult<byte[]> rowResult = RowResult.of(first.getKey(), first.getValue().getContents()); SweepIdToNameRowResult deserializedRowResult = SweepIdToNameRowResult.of(rowResult); return Ints.checkedCast( Iterables.getOnlyElement(deserializedRowResult.getColumnValues()).getColumnName().getTableId()) + 1; }
public static SweepIdToNameRowResult of(RowResult<byte[]> rowResult) { SweepIdToNameRow rowName = SweepIdToNameRow.BYTES_HYDRATOR.hydrateFromBytes(rowResult.getRowName()); Set<SweepIdToNameColumnValue> columnValues = Sets.newHashSetWithExpectedSize(rowResult.getColumns().size()); for (Entry<byte[], byte[]> e : rowResult.getColumns().entrySet()) { SweepIdToNameColumn col = SweepIdToNameColumn.BYTES_HYDRATOR.hydrateFromBytes(e.getKey()); String value = SweepIdToNameColumnValue.hydrateValue(e.getValue()); columnValues.add(SweepIdToNameColumnValue.of(col, value)); } return new SweepIdToNameRowResult(rowName, ImmutableSet.copyOf(columnValues)); }
@Override public String toString() { return MoreObjects.toStringHelper(getClass().getSimpleName()) .add("RowName", getRowName()) .add("ColumnValues", getColumnValues()) .toString(); } }
int getNextId() { RowColumnRangeIterator iterator = kvs.getRowsColumnRange( ID_TO_NAME, Collections.singleton(rowAsBytes), BatchColumnRangeSelection.create(null, null, 1), Long.MAX_VALUE).getOrDefault(rowAsBytes, emptyIterator()); if (!iterator.hasNext()) { return 1; } Map.Entry<Cell, Value> first = iterator.next(); RowResult<byte[]> rowResult = RowResult.of(first.getKey(), first.getValue().getContents()); SweepIdToNameRowResult deserializedRowResult = SweepIdToNameRowResult.of(rowResult); return Ints.checkedCast( Iterables.getOnlyElement(deserializedRowResult.getColumnValues()).getColumnName().getTableId()) + 1; }
@Override public String toString() { return MoreObjects.toStringHelper(getClass().getSimpleName()) .add("RowName", getRowName()) .add("ColumnValues", getColumnValues()) .toString(); } }
@Override public SweepIdToNameRowResult apply(RowResult<byte[]> input) { return SweepIdToNameRowResult.of(input); } });
public static SweepIdToNameRowResult of(RowResult<byte[]> rowResult) { SweepIdToNameRow rowName = SweepIdToNameRow.BYTES_HYDRATOR.hydrateFromBytes(rowResult.getRowName()); Set<SweepIdToNameColumnValue> columnValues = Sets.newHashSetWithExpectedSize(rowResult.getColumns().size()); for (Entry<byte[], byte[]> e : rowResult.getColumns().entrySet()) { SweepIdToNameColumn col = SweepIdToNameColumn.BYTES_HYDRATOR.hydrateFromBytes(e.getKey()); String value = SweepIdToNameColumnValue.hydrateValue(e.getValue()); columnValues.add(SweepIdToNameColumnValue.of(col, value)); } return new SweepIdToNameRowResult(rowName, ImmutableSet.copyOf(columnValues)); }
@Override public SweepIdToNameRowResult apply(RowResult<byte[]> input) { return SweepIdToNameRowResult.of(input); } });