Advertisement
Guest User

Untitled

a guest
Feb 11th, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.02 KB | None | 0 0
  1. public void load_series(ByteBuffer byteBuffer, ByteBuffer page_context, int fetch_size, AsyncMethodCallback asyncMethodCallback) throws TException {
  2.         ListenableFuture<ResultSet> paginatedForwardReferenceSeriesFuture = new ForwardReferenceSeries().getForwardRefernceSeriesAsync(byteBuffer, page_context, fetch_size);
  3.         ListenableFuture<LoadSeriesResponse> loadSeriesResponseFuture = Futures.transform(paginatedForwardReferenceSeriesFuture, new Function<ResultSet, LoadSeriesResponse>() {
  4.             public LoadSeriesResponse apply(ResultSet forwardReferenceSeriesResultSet) {
  5.                 Mapper<ForwardReferenceSeries> mapperForwardReferenceSeries = manager.mapper(ForwardReferenceSeries.class);
  6.                 Result<ForwardReferenceSeries> forwardReferenceSeriesPage = mapperForwardReferenceSeries.map(forwardReferenceSeriesResultSet);
  7.                 forwardReferenceSeriesPage.forEach(k -> System.out.println(Bytes.toRawHexString(k.getDataIdentity())));
  8.                 List<ByteBuffer> forwardReferenceSeriesValues = forwardReferenceSeriesPage.all().stream().map(forwardReferenceSeriesObject -> forwardReferenceSeriesObject.getDataIdentity()).collect(Collectors.toList());
  9.                 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
  10.                 LoadSeriesResponse loadPaginatedSeriesResponse = new LoadSeriesResponse();
  11.                 loadPaginatedSeriesResponse.setNext_page_context(nextPaginatedState.toBytes());
  12.                 loadPaginatedSeriesResponse.setValues(forwardReferenceSeriesValues);
  13.                 return loadPaginatedSeriesResponse;
  14.             }
  15.         });
  16.  
  17.         Futures.addCallback(loadSeriesResponseFuture, new FutureCallback<LoadSeriesResponse>() {
  18.             @Override
  19.             public void onSuccess(LoadSeriesResponse result) {
  20.                 asyncMethodCallback.onComplete(result.setStatus(PersistenceServiceStatus.OK));
  21.             }
  22.  
  23.             @Override
  24.             public void onFailure(Throwable t) {
  25.                 t.printStackTrace();
  26.                 log.info("error message: " , t.getMessage(), "error cause: ", t.getCause());
  27.                 LoadSeriesResponse loadSeriesResponse = new LoadSeriesResponse(PersistenceServiceStatus.SERVER_ERROR);
  28.                 asyncMethodCallback.onComplete(loadSeriesResponse);
  29.             }
  30.         });
  31.     }
  32.  
  33.        public ListenableFuture<ResultSet> getForwardRefernceSeriesAsync(ByteBuffer schema_identity, ByteBuffer page_context, int fetch_size) {
  34.         PreparedStatement preparedStatement = session.prepare("select * from demo1.frefs where hash=?");
  35.         Statement statement = new BoundStatement(preparedStatement).bind(schema_identity);
  36.         if (page_context != null) {
  37.             statement.setPagingState(PagingState.fromBytes(page_context.array()));
  38.         }
  39.         statement.setFetchSize(fetch_size);
  40.         return session.executeAsync(statement);
  41.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement