List of usage examples for com.google.common.util.concurrent Futures addCallback
public static <V> void addCallback(ListenableFuture<V> future, FutureCallback<? super V> callback)
From source file:com.facebook.presto.operator.SettableLookupSourceSupplier.java
@Override public void release() { if (referenceCount.decrementAndGet() == 0) { // We own the shared lookup source, so we need to free their memory Futures.addCallback(lookupSourceFuture, new FutureCallback<SharedLookupSource>() { @Override/*from ww w . j ava 2 s .com*/ public void onSuccess(SharedLookupSource result) { result.freeMemory(); } @Override public void onFailure(Throwable t) { // ignored } }); } }
From source file:org.anhonesteffort.p25.Imbeef.java
public void run() { ImbeefMetrics.init(config, new MetricRegistry()); ImbeConverterFactory converters = new ImbeConverterFactory(); WaveHeaderFactory headers = new WaveHeaderFactory(); ExecutorService s3Pool = Executors.newFixedThreadPool(config.getS3PoolSize()); TransferManagerFactory transfers = new TransferManagerFactory(config, s3Pool); CallPipelineFactory pipelines = new CallPipelineFactory(config, converters, headers, transfers.create()); CallManager callManager = new CallManager(config, pipelines); KinesisP25ConsumerFactory consumers = new KinesisP25ConsumerFactory(callManager); Worker worker = new Worker.Builder().recordProcessorFactory(consumers) .config(new KclConfigFactory(config).create()).build(); Futures.addCallback(consumers.getErrorFuture(), new KclErrorCallback(worker, s3Pool)); worker.run();/* w w w .java2 s . c o m*/ }
From source file:com.continuuity.weave.internal.zookeeper.RewatchOnExpireZKClient.java
@Override public OperationFuture<NodeChildren> getChildren(String path, Watcher watcher) { final RewatchOnExpireWatcher wrappedWatcher = new RewatchOnExpireWatcher(this, ActionType.CHILDREN, path, watcher);/*from ww w. j a v a2 s . co m*/ OperationFuture<NodeChildren> result = super.getChildren(path, wrappedWatcher); Futures.addCallback(result, new FutureCallback<NodeChildren>() { @Override public void onSuccess(NodeChildren result) { wrappedWatcher.setLastResult(result); } @Override public void onFailure(Throwable t) { // No-op } }); return result; }
From source file:org.apache.bookkeeper.common.util.ListenableFutures.java
/** * Convert a {@link ListenableFuture} to a {@link CompletableFuture} and do a transformation. * * @param listenableFuture listenable future * @param mapFn a map function that transform results * @return the completable future after transformation. *//*from w ww. j av a2 s. co m*/ public static <T, R> CompletableFuture<R> fromListenableFuture(ListenableFuture<T> listenableFuture, ExceptionalFunction<? super T, ? extends R> mapFn) { CompletableFuture<R> completableFuture = createFuture(); Futures.addCallback(listenableFuture, new FutureCallback<T>() { @Override public void onSuccess(T result) { try { R uResult = mapFn.apply(result); completableFuture.complete(uResult); } catch (Exception e) { completableFuture.completeExceptionally(e); } } @Override public void onFailure(Throwable t) { completableFuture.completeExceptionally(t); } }); return completableFuture; }
From source file:com.noorq.casser.support.Scala.java
public static <T, A, B, C, D> Future<Fun.Tuple5<T, A, B, C, D>> asFuture(ListenableFuture<T> future, A a, B b, C c, D d) {// w w w .ja v a 2 s . co m final scala.concurrent.Promise<Fun.Tuple5<T, A, B, C, D>> promise = new DefaultPromise<Fun.Tuple5<T, A, B, C, D>>(); Futures.addCallback(future, new FutureCallback<T>() { @Override public void onSuccess(T result) { promise.success(new Fun.Tuple5<T, A, B, C, D>(result, a, b, c, d)); } @Override public void onFailure(Throwable t) { promise.failure(t); } }); return promise.future(); }
From source file:com.msopentech.o365.outlookServices.OutlookServicesMethodsImpl.java
/** * Adds default callback that send future's result back to plugin * This is specially for raw SDK methods which returns a string typed future * * @param future Future to add callback to * @param context Plugin context used to send future result back to plugin *///from w w w .ja v a 2 s . com static void addRawCordovaCallback(final ListenableFuture<String> future, final CallbackContext context) { Futures.addCallback(future, new FutureCallback<String>() { @Override public void onSuccess(String s) { PluginResult result = s == null ? new PluginResult(PluginResult.Status.OK) : new PluginResult(PluginResult.Status.OK, s); context.sendPluginResult(result); } @Override public void onFailure(Throwable throwable) { String error = throwable.getMessage(); if (throwable instanceof ODataException) { String response = new String(((ODataException) throwable).getODataResponse().getPayload()); // since error object is encapsulated into response's object // try to get it from response and return instead of raw throwable's message try { JSONObject errorMessage = new JSONObject(response); error = errorMessage.get("error").toString(); } catch (JSONException ignored) { } } context.sendPluginResult(new PluginResult(PluginResult.Status.ERROR, error)); } }); }
From source file:com.orangerhymelabs.helenus.cassandra.table.ViewService.java
public void read(String database, String table, String view, FutureCallback<View> callback) { Futures.addCallback(read(database, table, view), callback); }
From source file:org.opendaylight.tl1.impl.MDSal.java
public static void writeToDeviceRegistry(String ip, String port) { WriteTransaction transaction = dbroker.newWriteOnlyTransaction(); InstanceIdentifier<DeviceRegistryEntry> iid = toInstaceIdentifier(ip); DeviceRegistryEntry entry = new DeviceRegistryEntryBuilder().setIp(ip).setPort(port).build(); transaction.put(LogicalDatastoreType.OPERATIONAL, iid, entry); CheckedFuture<Void, TransactionCommitFailedException> future = transaction.submit(); Futures.addCallback(future, new LoggingFuturesCallBack<Void>("Failed to write greeting to greeting registry", LOG)); }
From source file:io.crate.jobs.SubExecutionContextFuture.java
public void addCallback(FutureCallback<? super CompletionState> callback) { Futures.addCallback(internalFuture, callback); }
From source file:com.facebook.swift.service.unframed.UnframedTestSuite.java
@Test public void testUnframedAsyncMethod() throws Exception { TestServerInfo info = startServer(); ThriftClientManager clientManager = new ThriftClientManager(); final CountDownLatch latch = new CountDownLatch(1); final ResultCode[] resultHolder = new ResultCode[0]; ListenableFuture<AsyncScribe> clientFuture = createUnframedClient(clientManager, AsyncScribe.class, info.port);/*from www . j a va2s . co m*/ Futures.addCallback(clientFuture, new FutureCallback<AsyncScribe>() { @Override public void onSuccess(AsyncScribe client) { try { ListenableFuture<ResultCode> methodFuture = client .log(Lists.newArrayList(new LogEntry("testCategory", "testMessage"))); Futures.addCallback(methodFuture, new FutureCallback<ResultCode>() { @Override public void onSuccess(ResultCode result) { resultHolder[0] = result; latch.countDown(); } @Override public void onFailure(Throwable t) { latch.countDown(); } }); } catch (TException e) { latch.countDown(); } } @Override public void onFailure(Throwable t) { latch.countDown(); } }); latch.await(); stopServer(info); }