Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void load_series(ByteBuffer byteBuffer, ByteBuffer page_context, int fetch_size, AsyncMethodCallback asyncMethodCallback) throws TException {
- ListenableFuture<ResultSet> paginatedForwardReferenceSeriesFuture = new ForwardReferenceSeries().getForwardRefernceSeriesAsync(byteBuffer, page_context, fetch_size);
- ListenableFuture<LoadSeriesResponse> loadSeriesResponseFuture = Futures.transform(paginatedForwardReferenceSeriesFuture, new Function<ResultSet, LoadSeriesResponse>() {
- public LoadSeriesResponse apply(ResultSet forwardReferenceSeriesResultSet) {
- Mapper<ForwardReferenceSeries> mapperForwardReferenceSeries = manager.mapper(ForwardReferenceSeries.class);
- Result<ForwardReferenceSeries> forwardReferenceSeriesPage = mapperForwardReferenceSeries.map(forwardReferenceSeriesResultSet);
- forwardReferenceSeriesPage.forEach(k -> System.out.println(Bytes.toRawHexString(k.getDataIdentity())));
- List<ByteBuffer> forwardReferenceSeriesValues = forwardReferenceSeriesPage.all().stream().map(forwardReferenceSeriesObject -> forwardReferenceSeriesObject.getDataIdentity()).collect(Collectors.toList());
- PagingState nextPaginatedState = forwardReferenceSeriesPage.getExecutionInfo().getPagingState(); //Paginated state represents where we are in the Result Set so we can send the context for the next iteration
- LoadSeriesResponse loadPaginatedSeriesResponse = new LoadSeriesResponse();
- loadPaginatedSeriesResponse.setNext_page_context(nextPaginatedState.toBytes());
- loadPaginatedSeriesResponse.setValues(forwardReferenceSeriesValues);
- return loadPaginatedSeriesResponse;
- }
- });
- Futures.addCallback(loadSeriesResponseFuture, new FutureCallback<LoadSeriesResponse>() {
- @Override
- public void onSuccess(LoadSeriesResponse result) {
- asyncMethodCallback.onComplete(result.setStatus(PersistenceServiceStatus.OK));
- }
- @Override
- public void onFailure(Throwable t) {
- t.printStackTrace();
- log.info("error message: " , t.getMessage(), "error cause: ", t.getCause());
- LoadSeriesResponse loadSeriesResponse = new LoadSeriesResponse(PersistenceServiceStatus.SERVER_ERROR);
- asyncMethodCallback.onComplete(loadSeriesResponse);
- }
- });
- }
- public ListenableFuture<ResultSet> getForwardRefernceSeriesAsync(ByteBuffer schema_identity, ByteBuffer page_context, int fetch_size) {
- PreparedStatement preparedStatement = session.prepare("select * from demo1.frefs where hash=?");
- Statement statement = new BoundStatement(preparedStatement).bind(schema_identity);
- if (page_context != null) {
- statement.setPagingState(PagingState.fromBytes(page_context.array()));
- }
- statement.setFetchSize(fetch_size);
- return session.executeAsync(statement);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement