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:de.xaniox.heavyspleef.core.persistence.MoreFutures.java
/** * Add a callback to a {@link ListenableFuture} * to be run on the bukkit main thread/* w ww .j a va 2 s . c om*/ * * @param plugin The plugin registering the callback * @param future The {@link ListenableFuture} to add this callback * @param callback The callback to be called */ public static <T> void addBukkitSyncCallback(final Plugin plugin, ListenableFuture<T> future, final FutureCallback<T> callback) { Futures.addCallback(future, new FutureCallback<T>() { @Override public void onFailure(final Throwable cause) { Bukkit.getScheduler().runTask(plugin, new Runnable() { @Override public void run() { callback.onFailure(cause); } }); } @Override public void onSuccess(final T result) { Bukkit.getScheduler().runTask(plugin, new Runnable() { @Override public void run() { callback.onSuccess(result); } }); } }); }
From source file:com.microsoft.office365.http.SharepointCookieCredentials.java
public static ListenableFuture<CookieCredentials> requestCredentials(String sharepointSiteUrl, Activity activity) {//from w w w . j a va 2 s. c o m final SettableFuture<CookieCredentials> future = SettableFuture.create(); ListenableFuture<String> login = showLoginForCookies(activity, sharepointSiteUrl); Futures.addCallback(login, new FutureCallback<String>() { @Override public void onFailure(Throwable t) { future.setException(t); } @Override public void onSuccess(String cookies) { future.set(new CookieCredentials(cookies)); } }); return future; }
From source file:net.javacrumbs.futureconverter.guavarx.ListenableFutureObservable.java
private static <T> OnSubscribe<T> onSubscribe(final ListenableFuture<T> listenableFuture) { return new Observable.OnSubscribe<T>() { @Override//from w w w . ja v a 2 s . c om public void call(final Subscriber<? super T> subscriber) { Futures.addCallback(listenableFuture, new FutureCallback<T>() { @Override public void onSuccess(T result) { if (!subscriber.isUnsubscribed()) { subscriber.onNext(result); subscriber.onCompleted(); } } @Override public void onFailure(Throwable t) { if (!subscriber.isUnsubscribed()) { subscriber.onError(t); } } }); } }; }
From source file:com.noorq.casser.support.Scala.java
public static <T, A> Future<Fun.Tuple2<T, A>> asFuture(ListenableFuture<T> future, A a) { final scala.concurrent.Promise<Fun.Tuple2<T, A>> promise = new DefaultPromise<Fun.Tuple2<T, A>>(); Futures.addCallback(future, new FutureCallback<T>() { @Override//from www . j ava 2 s .c om public void onSuccess(T result) { promise.success(new Fun.Tuple2<T, A>(result, a)); } @Override public void onFailure(Throwable t) { promise.failure(t); } }); return promise.future(); }
From source file:com.microsoft.artcurator.net.MessagesLoader.java
/** * Replies to a Message/*w w w. jav a 2s .co m*/ * * @param client the client to make the request * @param msgId the Message to which the response should be sent * @param msgText the body text of the outgoing Message * @param callback callback to notify on success/failure */ public static void replyAsync(OutlookClient client, String msgId, String msgText, FutureCallback<Integer> callback) { ListenableFuture<Integer> future = client.getMe().getFolder("Draft").getMessages().getById(msgId) .getOperations().reply(msgText); Futures.addCallback(future, callback); }
From source file:org.opendaylight.netvirt.elan.utils.ElanClusterUtils.java
public static void runOnlyInLeaderNode(EntityOwnershipService entityOwnershipService, final Runnable job, final String jobDescription) { ListenableFuture<Boolean> checkEntityOwnerFuture = ClusteringUtils.checkNodeEntityOwner( entityOwnershipService, HwvtepSouthboundConstants.ELAN_ENTITY_TYPE, HwvtepSouthboundConstants.ELAN_ENTITY_NAME); Futures.addCallback(checkEntityOwnerFuture, new FutureCallback<Boolean>() { @Override//from ww w .j a v a2s . co m public void onSuccess(Boolean isOwner) { if (isOwner) { job.run(); } else { LOG.trace("job is not run as i m not cluster owner desc :{} ", jobDescription); } } @Override public void onFailure(Throwable error) { LOG.error("Failed to identity cluster owner ", error); } }); }
From source file:io.druid.java.util.common.concurrent.ListenableFutures.java
/** * Guava 19 changes the Futures.transform signature so that the async form is different. This is here as a * compatability layer until such a time as druid only supports Guava 19 or later, in which case * Futures.transformAsync should be used * * This is NOT copied from guava./* w w w . j a v a 2 s .c o m*/ */ public static <I, O> ListenableFuture<O> transformAsync(final ListenableFuture<I> inFuture, final Function<I, ListenableFuture<O>> transform) { final SettableFuture<O> finalFuture = SettableFuture.create(); Futures.addCallback(inFuture, new FutureCallback<I>() { @Override public void onSuccess(@Nullable I result) { final ListenableFuture<O> transformFuture = transform.apply(result); Futures.addCallback(transformFuture, new FutureCallback<O>() { @Override public void onSuccess(@Nullable O result) { finalFuture.set(result); } @Override public void onFailure(Throwable t) { finalFuture.setException(t); } }); } @Override public void onFailure(Throwable t) { finalFuture.setException(t); } }); return finalFuture; }
From source file:com.microsoft.sharepointservices.http.SharepointCookieCredentials.java
/** * Request credentials./*from w w w. j a v a 2 s . c o m*/ * * @param sharepointSiteUrl the sharepoint site url * @param activity the activity * @return the listenable future */ public static ListenableFuture<CookieCredentials> requestCredentials(String sharepointSiteUrl, Activity activity) { final SettableFuture<CookieCredentials> future = SettableFuture.create(); ListenableFuture<String> login = showLoginForCookies(activity, sharepointSiteUrl); Futures.addCallback(login, new FutureCallback<String>() { @Override public void onFailure(Throwable t) { future.setException(t); } @Override public void onSuccess(String cookies) { future.set(new CookieCredentials(cookies)); } }); return future; }
From source file:com.torodb.common.util.ListeningFutureToCompletableFuture.java
public static <T> CompletableFuture<T> toCompletableFuture(final ListenableFuture<T> listenableFuture) { //create an instance of CompletableFuture CompletableFuture<T> completable = new CompletableFuture<T>() { @Override/*from ww w . ja v a 2 s. c o m*/ public boolean cancel(boolean mayInterruptIfRunning) { // propagate cancel to the listenable future boolean result = listenableFuture.cancel(mayInterruptIfRunning); super.cancel(mayInterruptIfRunning); return result; } }; // add callback Futures.addCallback(listenableFuture, new FutureCallback<T>() { @Override @SuppressFBWarnings("NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE") public void onSuccess(T result) { completable.complete(result); } @Override public void onFailure(Throwable t) { completable.completeExceptionally(t); } }); return completable; }
From source file:com.microsoft.azure.hdinsight.common.task.TaskExecutor.java
public static <T> ListenableFuture<T> submit(@NotNull Task<T> task) { final ListenableFuture<T> listenableFuture = executors.submit(task); Futures.addCallback(listenableFuture, task.callback); return listenableFuture; }