List of usage examples for com.google.common.util.concurrent FutureCallback FutureCallback
FutureCallback
From source file:org.opendaylight.faas.fabricmgr.FabMgrDatastoreUtil.java
public static <T extends DataObject> void putData(final LogicalDatastoreType storeType, final InstanceIdentifier<T> path, final T data) { final WriteTransaction tx = FabMgrDatastoreDependency.getDataProvider().newWriteOnlyTransaction(); tx.put(storeType, path, data, true); Futures.addCallback(tx.submit(), new FutureCallback<Void>() { @Override/* www . ja v a 2 s.co m*/ public void onSuccess(final Void result) { LOG.trace("FABMGR: Data has put into datastore {} {}", storeType, path); } @Override public void onFailure(final Throwable t) { LOG.error("FABMGR: ERROR: Can not put data into datastore [store: {}] [path: {}] [exception: {}]", storeType, path, t); } }); }
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 . j a v a 2 s. c om 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:com.noorq.casser.support.Scala.java
public static <T, A, B, C> Future<Fun.Tuple4<T, A, B, C>> asFuture(ListenableFuture<T> future, A a, B b, C c) { final scala.concurrent.Promise<Fun.Tuple4<T, A, B, C>> promise = new DefaultPromise<Fun.Tuple4<T, A, B, C>>(); Futures.addCallback(future, new FutureCallback<T>() { @Override/*w w w. j a v a2 s .co m*/ public void onSuccess(T result) { promise.success(new Fun.Tuple4<T, A, B, C>(result, a, b, c)); } @Override public void onFailure(Throwable t) { promise.failure(t); } }); return promise.future(); }
From source file:com.microsoft.office.integration.test.ContactsAsyncTestCase.java
public void testRead() { // create contact first prepareContact();/*from w w w. ja v a 2 s . com*/ counter = new CountDownLatch(1); Futures.addCallback(Me.flushAsync(), new FutureCallback<Void>() { public void onFailure(Throwable t) { reportError(t); counter.countDown(); } public void onSuccess(Void result) { try { readAndCheck(); // clean-up removeContact(); } catch (Throwable t) { reportError(t); } counter.countDown(); } }); try { if (!counter.await(60000, TimeUnit.MILLISECONDS)) { fail("testRead() timed out"); } } catch (InterruptedException e) { fail("testRead() has been interrupted"); } }
From source file:io.v.v23.syncbase.nosql.NoSql.java
private static ListenableFuture<Boolean> tryBatch(final VContext ctx, final Database db, final BatchOptions opts, final BatchOperation op) { final SettableFuture<Boolean> ret = SettableFuture.create(); Futures.addCallback(db.beginBatch(ctx, opts), new FutureCallback<BatchDatabase>() { @Override//www. ja v a2 s . c o m public void onFailure(Throwable t) { ret.setException(t); } @Override public void onSuccess(final BatchDatabase batch) { Futures.addCallback(op.run(batch), new FutureCallback<Void>() { @Override public void onFailure(final Throwable t) { Futures.addCallback(batch.abort(ctx), new FutureCallback<Void>() { @Override public void onSuccess(Void result) { ret.setException(t); } @Override public void onFailure(Throwable newT) { ret.setException(t); } }); } @Override public void onSuccess(Void result) { Futures.addCallback(batch.commit(ctx), new FutureCallback<Void>() { @Override public void onSuccess(Void result) { ret.set(true); // success } @Override public void onFailure(Throwable t) { if (t instanceof ConcurrentBatchException) { // retry ret.set(false); } else { ret.setException(t); } } }); } }); } }); return ret; }
From source file:org.opendaylight.messenger.impl.MessengerMdsalUtils.java
/** * initialize the data tree for the given InstanceIdentifier type * * @param type data store type/*from w ww.ja v a2s . c o m*/ * @param dataBroker Mdsal data Broker * @param iid InstanceIdentifier type * @param object data object */ public static <T extends DataObject> void initalizeDatastore(final LogicalDatastoreType type, final DataBroker dataBroker, final InstanceIdentifier<T> iid, final T object) { // Put data to MD-SAL data store final WriteTransaction transaction = dataBroker.newWriteOnlyTransaction(); transaction.put(type, iid, object); // Perform the transaction.submit asynchronously Futures.addCallback(transaction.submit(), new FutureCallback<Void>() { @Override public void onFailure(final Throwable throwable) { LOG.error("initDatastore: transaction failed"); } @Override public void onSuccess(final Void result) { LOG.debug("initDatastore: transaction succeeded"); } }); LOG.info("initDatastore: data populated: {}, {}, {}", type, iid, object); }
From source file:com.vmware.photon.controller.clustermanager.statuschecks.SwarmStatusChecker.java
@Override public void checkNodeStatus(final String serverAddress, final FutureCallback<Boolean> callback) { Preconditions.checkNotNull(serverAddress, "serverAddress cannot be null"); logger.info("Checking Swarm: {}", serverAddress); try {//w ww .j a va 2 s . c o m String connectionString = createConnectionString(serverAddress); swarmClient.getNodeAddressesAsync(connectionString, new FutureCallback<Set<String>>() { @Override public void onSuccess(@Nullable Set<String> nodes) { if (!nodes.contains(serverAddress)) { logger.info("Node not registered with Swarm: {}", serverAddress); callback.onSuccess(false); return; } callback.onSuccess(true); } @Override public void onFailure(Throwable t) { logger.warn("Swarm call failed: ", t); callback.onSuccess(false); } }); } catch (Exception e) { logger.warn("Swarm call failed: ", e); callback.onSuccess(false); } }
From source file:ubic.gemma.core.job.executor.common.TaskPostProcessingImpl.java
private FutureCallback<TaskResult> createEmailNotificationFutureCallback( final EmailNotificationContext context) { return new FutureCallback<TaskResult>() { private final EmailNotificationContext emailNotificationContext = context; @Override//from ww w .j a va 2s. co m public void onSuccess(TaskResult taskResult) { mailUtils.sendTaskCompletedNotificationEmail(emailNotificationContext, taskResult); } @Override public void onFailure(Throwable throwable) { TaskPostProcessingImpl.log .error("Shouldn't happen since we take care of exceptions inside ExecutingTask. " + throwable.getMessage()); } }; }
From source file:org.opendaylight.netconf.sal.connect.netconf.sal.tx.ReadOnlyTx.java
public ReadOnlyTx(final NetconfBaseOps netconfOps, final RemoteDeviceId id) { this.netconfOps = netconfOps; this.id = id; // Simple logging callback to log result of read operation loggingCallback = new FutureCallback<DOMRpcResult>() { @Override//from ww w . ja va 2 s. co m public void onSuccess(final DOMRpcResult result) { if (AbstractWriteTx.isSuccess(result)) { LOG.trace("{}: Reading data successful", id); } else { LOG.warn("{}: Reading data unsuccessful: {}", id, result.getErrors()); } } @Override public void onFailure(final Throwable t) { LOG.warn("{}: Reading data failed", id, t); } }; }
From source file:ubic.gemma.job.executor.common.TaskPostProcessingImpl.java
private FutureCallback<TaskResult> createEmailNotificationFutureCallback( final EmailNotificationContext context) { FutureCallback<TaskResult> futureCallback = new FutureCallback<TaskResult>() { private EmailNotificationContext emailNotifcationContext = context; @Override/* w w w . jav a2 s . c o m*/ public void onSuccess(TaskResult taskResult) { mailUtils.sendTaskCompletedNotificationEmail(emailNotifcationContext, taskResult); } @Override public void onFailure(Throwable throwable) { log.error("Shouldn't happen since we take care of exceptions inside ExecutingTask. " + throwable.getMessage()); } }; return futureCallback; }