Example usage for com.google.common.util.concurrent Futures addCallback

List of usage examples for com.google.common.util.concurrent Futures addCallback

Introduction

In this page you can find the example usage for com.google.common.util.concurrent Futures addCallback.

Prototype

public static <V> void addCallback(final ListenableFuture<V> future, final FutureCallback<? super V> callback,
        Executor executor) 

Source Link

Document

Registers separate success and failure callbacks to be run when the Future 's computation is java.util.concurrent.Future#isDone() complete or, if the computation is already complete, immediately.

Usage

From source file:com.orangerhymelabs.helenus.cassandra.database.DatabaseService.java

public void create(Database database, FutureCallback<Database> callback) {
    Futures.addCallback(create(database), callback, MoreExecutors.directExecutor());
}

From source file:com.orangerhymelabs.helenus.cassandra.table.TableService.java

public void exists(String database, String table, FutureCallback<Boolean> callback) {
    Futures.addCallback(exists(database, table), callback, MoreExecutors.directExecutor());
}

From source file:ratpack.session.store.internal.RedisSessionStore.java

@Override
public Operation store(AsciiString sessionId, ByteBuf sessionData) {
    return Promise.<Boolean>of(
            d -> Futures.addCallback(connection.set(sessionId, sessionData), new FutureCallback<String>() {
                @Override/* w w  w  . ja  va 2 s .c  om*/
                public void onSuccess(String result) {
                    if (result != null && result.equalsIgnoreCase("OK")) {
                        d.success(true);
                    } else {
                        d.error(new RuntimeException("Failed to set session data"));
                    }
                }

                @Override
                public void onFailure(Throwable t) {
                    d.error(new RuntimeException("Failed to set session data.", t));
                }
            }, Execution.current().getEventLoop())).operation();
}

From source file:io.mycat.server.response.ReloadConfig.java

public static void execute(MySQLFrontConnection c, final boolean loadAll) {
    final ReentrantLock lock = MycatServer.getInstance().getConfig().getLock();
    lock.lock();/*from  ww w  . j a v  a  2 s.  co  m*/
    try {
        ListenableFuture<Boolean> listenableFuture = MycatServer.getInstance().getListeningExecutorService()
                .submit(new Callable<Boolean>() {
                    @Override
                    public Boolean call() throws Exception {

                        return loadAll ? reload_all() : reload();
                    }
                });
        Futures.addCallback(listenableFuture, new ReloadCallBack(c),
                MycatServer.getInstance().getListeningExecutorService());
    } finally {
        lock.unlock();
    }
}

From source file:com.skcraft.launcher.update.UpdateManager.java

public void checkForUpdate() {
    ListenableFuture<URL> future = launcher.getExecutor().submit(new UpdateChecker(launcher));

    Futures.addCallback(future, new FutureCallback<URL>() {
        @Override/*from   w w w. j a v a2  s  .co  m*/
        public void onSuccess(URL result) {
            if (result != null) {
                requestUpdate(result);
            }
        }

        @Override
        public void onFailure(Throwable t) {

        }
    }, SwingExecutor.INSTANCE);
}

From source file:net.javacrumbs.futureconverter.common.test.guava.GuavaConvertedFutureTestHelper.java

@Override
public void waitForCalculationToFinish(
        com.google.common.util.concurrent.ListenableFuture<String> convertedFuture)
        throws InterruptedException {
    final CountDownLatch latch = new CountDownLatch(1);

    Futures.addCallback(convertedFuture, new FutureCallback<String>() {
        @Override/*w  w w .  j  a  va  2s  . c  o m*/
        public void onSuccess(String result) {
            latch.countDown();
        }

        @Override
        public void onFailure(Throwable t) {
            latch.countDown();
        }
    }, MoreExecutors.directExecutor());

    latch.await(1, TimeUnit.SECONDS);
}

From source file:org.opendaylight.unimgr.mef.nrp.ovs.DataStoreTestUtils.java

public static void delete(InstanceIdentifier<?> instanceIdentifier, DataBroker dataBroker) {
    ReadWriteTransaction transaction = dataBroker.newReadWriteTransaction();
    transaction.delete(LogicalDatastoreType.OPERATIONAL, instanceIdentifier);

    Futures.addCallback(transaction.commit(), new FutureCallback<CommitInfo>() {
        @Override/*w ww.ja v  a 2s. c o m*/
        public void onSuccess(@Nullable CommitInfo result) {
            LOG.debug("Object: {} deleted.", instanceIdentifier.toString());
        }

        @Override
        public void onFailure(Throwable t) {
            LOG.debug("Object: {} wasn't deleted due to a error: {}", instanceIdentifier.toString(),
                    t.getMessage());
            fail("Object wasn't deleted due to a error: " + t.getMessage());
        }
    }, MoreExecutors.directExecutor());
}

From source file:org.opencloudb.response.ReloadConfig.java

public static void execute(ManagerConnection c, final boolean loadAll) {
    final ReentrantLock lock = MycatServer.getInstance().getConfig().getLock();
    lock.lock();//from ww w  . ja  v a 2 s.  c o m
    try {
        ListenableFuture<Boolean> listenableFuture = MycatServer.getInstance().getListeningExecutorService()
                .submit(new Callable<Boolean>() {
                    @Override
                    public Boolean call() throws Exception {

                        return loadAll ? reload_all() : reload();
                    }
                });
        Futures.addCallback(listenableFuture, new ReloadCallBack(c),
                MycatServer.getInstance().getListeningExecutorService());
    } finally {
        lock.unlock();
    }
}

From source file:io.v.v23.InputChannels.java

/**
 * Returns a new {@link ListenableFuture} whose result is the list of all elements received
 * from the provided {@link InputChannel}.
 * <p>/*  w w w  . ja  v  a2  s .c  om*/
 * The returned future will be executed on the provided {@code executor}.
 */
@CheckReturnValue
public static <T> ListenableFuture<List<T>> asList(final InputChannel<T> channel, Executor executor) {
    final SettableFuture<List<T>> future = SettableFuture.create();
    Futures.addCallback(channel.recv(), newCallbackForList(channel, new ArrayList<T>(), future, executor),
            executor);
    return future;
}

From source file:com.orangerhymelabs.helenus.cassandra.table.TableService.java

public void create(Table table, FutureCallback<Table> callback) {
    Futures.addCallback(create(table), callback, MoreExecutors.directExecutor());
}