Example usage for com.google.common.util.concurrent FutureCallback onSuccess

List of usage examples for com.google.common.util.concurrent FutureCallback onSuccess

Introduction

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

Prototype

void onSuccess(@Nullable V result);

Source Link

Document

Invoked with the result of the Future computation when it is successful.

Usage

From source file:com.vmware.photon.controller.deployer.helpers.xenon.MockHelper.java

@SuppressWarnings("unchecked")
public static Answer<FutureCallback<FabricNode>> mockRegisterFabricNode(String fabricNodeId) {
    return (invocation) -> {
        FutureCallback<FabricNode> callback = ((FutureCallback<FabricNode>) invocation.getArguments()[1]);
        FabricNode fabricNode = new FabricNode();
        fabricNode.setId(fabricNodeId);//www.  ja v  a2 s. c  om
        callback.onSuccess(fabricNode);
        return null;
    };
}

From source file:com.vmware.photon.controller.deployer.helpers.xenon.MockHelper.java

@SuppressWarnings("unchecked")
public static Answer<FutureCallback<TransportNode>> mockCreateTransportNode(String transportNodeId) {
    return (invocation) -> {
        FutureCallback<TransportNode> callback = ((FutureCallback<TransportNode>) invocation.getArguments()[1]);
        TransportNode transportNode = new TransportNode();
        transportNode.setId(transportNodeId);
        callback.onSuccess(transportNode);
        return null;
    };//  w  w  w .  j av a 2s.co m
}

From source file:com.vmware.photon.controller.deployer.helpers.xenon.MockHelper.java

@SuppressWarnings("unchecked")
public static Answer<FutureCallback<FabricNodeState>> mockGetFabricNodeState(
        com.vmware.photon.controller.nsxclient.datatypes.FabricNodeState state) {

    return (invocation) -> {
        FutureCallback<FabricNodeState> callback = ((FutureCallback<FabricNodeState>) invocation
                .getArguments()[1]);/*from  w  w w  .  j  av  a 2  s  .  co m*/
        FabricNodeState fabricNodeState = new FabricNodeState();
        fabricNodeState.setState(state);
        callback.onSuccess(fabricNodeState);
        return null;
    };
}

From source file:com.vmware.photon.controller.deployer.helpers.xenon.MockHelper.java

@SuppressWarnings("unchecked")
public static Answer<FutureCallback<TransportNodeState>> mockGetTransportNodeState(
        com.vmware.photon.controller.nsxclient.datatypes.TransportNodeState state) {

    return (invocation) -> {
        FutureCallback<TransportNodeState> callback = ((FutureCallback<TransportNodeState>) invocation
                .getArguments()[1]);//  w w w  .  j a  v  a2s .  c om
        TransportNodeState transportNodeState = new TransportNodeState();
        transportNodeState.setState(state);
        callback.onSuccess(transportNodeState);
        return null;
    };
}

From source file:com.vmware.photon.controller.common.xenon.TaskUtils.java

public static <T extends ServiceDocument> void checkProgress(final Service service, final String serviceLink,
        final Predicate<T> predicate, final Class<T> type, final int taskPollDelay,
        final FutureCallback<T> callback) {

    try {//ww w .j a v  a 2  s .  c o m
        Thread.sleep(Math.abs(new Random().nextLong()) % (taskPollDelay + 1) + 1);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

    Operation.CompletionHandler completionHandler = new Operation.CompletionHandler() {
        @Override
        public void handle(Operation operation, Throwable throwable) {
            if (null != throwable) {
                ServiceUtils.logSevere(service,
                        "error when contacting [" + serviceLink + "] " + throwable.getMessage());
                ServiceUtils.logSevere(service, throwable);
                callback.onFailure(throwable);
                return;
            }
            final T state = operation.getBody(type);

            if (predicate.apply(state)) {
                callback.onSuccess(state);
                return;
            }

            Runnable runnable = new Runnable() {
                @Override
                public void run() {
                    try {
                        checkProgress(service, serviceLink, predicate, type, taskPollDelay, callback);
                    } catch (Throwable t) {
                        ServiceUtils.logSevere(service,
                                "error when contacting [" + state.documentSelfLink + "]" + t.getMessage());
                        ServiceUtils.logSevere(service, t);
                        callback.onFailure(t);
                    }
                }
            };
            service.getHost().schedule(runnable, taskPollDelay, TimeUnit.MILLISECONDS);
        }
    };

    Operation get = Operation.createGet(UriUtils.buildUri(service.getHost(), serviceLink))
            .setCompletion(completionHandler);
    service.sendRequest(get);
}

From source file:org.opencms.ui.components.extensions.CmsWindowExtension.java

/**
 * Creates a new instance and binds it to the given UI.<p>
 *
 * @param ui the UI/* w w  w  .  j  a  v  a 2s  .c o m*/
 */
public CmsWindowExtension(UI ui) {
    super(ui);
    registerRpc(new I_CmsWindowServerRpc() {

        private static final long serialVersionUID = 1L;

        @SuppressWarnings("synthetic-access")
        public void handleOpenResult(String id, boolean ok) {

            FutureCallback<Boolean> callback = m_callbackMap.get(id);
            if (callback != null) {
                callback.onSuccess(Boolean.valueOf(ok));
            }
            m_callbackMap.remove(id);
        }

    }, I_CmsWindowServerRpc.class);
}

From source file:org.solovyev.tasks.ListenersAwareFutureTask.java

private ListenersAwareFutureTask(@Nonnull ListenableFutureTask<T> futureTask) {
    this.futureTask = futureTask;
    Futures.addCallback(futureTask, new FutureCallback<T>() {
        @Override/*  ww  w  .  j a  v a2s.c om*/
        public void onSuccess(T result) {
            synchronized (listeners) {
                executed = true;
            }

            for (FutureCallback<T> listener : getListenersCopy()) {
                listener.onSuccess(result);
            }

            synchronized (listeners) {
                listeners.clear();
            }
        }

        @Override
        public void onFailure(Throwable t) {
            synchronized (listeners) {
                executed = true;
            }

            for (FutureCallback<T> listener : getListenersCopy()) {
                listener.onFailure(t);
            }

            synchronized (listeners) {
                listeners.clear();
            }
        }
    });
}

From source file:com.vmware.photon.controller.api.frontend.clients.api.TasksLocalApi.java

@Override
public void getTaskAsync(String taskId, FutureCallback<Task> responseCallback) throws IOException {
    executorService.submit(() -> {//from   w  w  w. ja v  a  2 s.  com
        try {
            Task task = getTask(taskId);
            responseCallback.onSuccess(task);
        } catch (Exception e) {
            responseCallback.onFailure(e);
        }
    });
}

From source file:org.opendaylight.openflowjava.protocol.impl.core.connection.StackedOutboundQueueNoBarrier.java

@Override
public void commitEntry(final Long xid, final OfHeader message, final FutureCallback<OfHeader> callback) {
    final OutboundQueueEntry entry = getEntry(xid);

    if (message instanceof FlowModInput) {
        callback.onSuccess(null);
        entry.commit(message, null);/*ww  w.j  av  a 2 s .  c  o  m*/
    } else {
        entry.commit(message, callback);
    }

    LOG.trace("Queue {} committed XID {}", this, xid);
    manager.ensureFlushing();
}

From source file:com.vmware.photon.controller.api.frontend.clients.api.ClusterLocalApi.java

@Override
public void getVmsInClusterAsync(String clusterId, FutureCallback<ResourceList<Vm>> responseCallback)
        throws IOException {
    executorService.submit(() -> {// w  w w.j  ava2  s.  c  o m
        try {
            ResourceList<Vm> vmResourceList = getVmsInCluster(clusterId);
            responseCallback.onSuccess(vmResourceList);
        } catch (Exception e) {
            responseCallback.onFailure(e);
        }
    });
}