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

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

Introduction

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

Prototype

@CheckReturnValue
public static <V> ListenableFuture<V> immediateFailedFuture(Throwable throwable) 

Source Link

Document

Returns a ListenableFuture which has an exception set immediately upon construction.

Usage

From source file:com.google.pubsub.clients.experimental.CPSPublisherTask.java

@Override
public ListenableFuture<RunResult> doRun() {
    try {/*from  w w  w.j  av  a  2  s  . c  om*/
        List<ListenableFuture<String>> results = new ArrayList<>();
        String sendTime = String.valueOf(System.currentTimeMillis());
        for (int i = 0; i < batchSize; i++) {
            results.add(publisher.publish(PubsubMessage.newBuilder().setData(payload)
                    .putAttributes("sendTime", sendTime).putAttributes("clientId", id.toString())
                    .putAttributes("sequenceNumber", Integer.toString(sequenceNumber.getAndIncrement()))
                    .build()));
        }
        return Futures.transform(Futures.allAsList(results), response -> RunResult.fromBatchSize(batchSize));
    } catch (Throwable t) {
        log.error("Flow control error.", t);
        return Futures.immediateFailedFuture(t);
    }
}

From source file:io.soliton.protobuf.quartz.QuartzClient.java

/**
 * {@inheritDoc}/*  w w  w  .  jav  a2 s  .  c o m*/
 */
@Override
public <O extends Message> ListenableFuture<O> encodeMethodCall(final ClientMethod<O> method, Message input) {
    // Channel was manually closed earlier
    if (refuseNewRequests.get()) {
        return Futures.immediateFailedFuture(new RuntimeException("Client is closed"));
    }

    // Channel was closed by the server - we make an attempt to reopen.
    if (shouldCreateNewChannel.get()) {
        try {
            reopenChannel();
            channel.closeFuture().addListener(new ChannelCloser());
        } catch (IOException ioe) {
            return Futures.immediateFailedFuture(ioe);
        }
    }

    // Normal operation mode
    clientLogger.logMethodCall(method);
    final EnvelopeFuture<O> output = handler.newProvisionalResponse(method);
    Envelope request = Envelope.newBuilder().setRequestId(output.requestId()).setService(method.serviceName())
            .setMethod(method.name()).setPayload(input.toByteString()).build();

    HttpRequest httpRequest = handler.convertRequest(request);
    channel.writeAndFlush(httpRequest).addListener(new GenericFutureListener<ChannelFuture>() {

        public void operationComplete(ChannelFuture future) {
            if (!future.isSuccess()) {
                clientLogger.logLinkError(method, future.cause());
                handler.finish(output.requestId());
                output.setException(future.cause());
            }
        }

    });

    return output;
}

From source file:io.airlift.drift.server.DriftServerMethodInvoker.java

@Override
public ListenableFuture<Object> invoke(ServerInvokeRequest request) {
    ServiceMethod method = methods.get(request.getMethod().getName());
    if (method == null) {
        return Futures.immediateFailedFuture(new TApplicationException(Type.UNKNOWN_METHOD,
                "Invalid method name: '" + request.getMethod().getName() + "'"));
    }/*from  w w w. j  a v a  2  s  .c  om*/

    return method.invokeMethod(request);
}

From source file:co.cask.cdap.common.zookeeper.store.ZKPropertyStore.java

@Override
public ListenableFuture<T> set(String name, T property) {
    try {/*from  w w  w  .  j a  v a2s  .  c om*/
        return ZKExtOperations.setOrCreate(zkClient, getPath(name), codec.encode(property), property,
                MAX_ZK_FAILURE_RETRIES);
    } catch (IOException e) {
        return Futures.immediateFailedFuture(e);
    }
}

From source file:com.proofpoint.testing.SerialScheduledExecutorService.java

@Override
public <T> Future<T> submit(Callable<T> tCallable) {
    Preconditions.checkNotNull(tCallable, "Task object is null");
    try {//from  w w  w . ja va 2  s  .c o  m
        return Futures.immediateFuture(tCallable.call());
    } catch (Exception e) {
        return Futures.immediateFailedFuture(e);
    }
}

From source file:co.cask.cdap.internal.app.runtime.AbstractProgramController.java

@Override
public final ListenableFuture<ProgramController> resume() {
    if (!state.compareAndSet(State.SUSPENDED, State.RESUMING)) {
        return Futures
                .immediateFailedFuture(new IllegalStateException("Resumption not allowed").fillInStackTrace());
    }//from   ww w .  j ava  2 s.  c  om
    final SettableFuture<ProgramController> result = SettableFuture.create();
    executor(State.RESUMING).execute(new Runnable() {
        @Override
        public void run() {
            try {
                caller.resuming();
                doResume();
                state.set(State.ALIVE);
                result.set(AbstractProgramController.this);
                caller.alive();
            } catch (Throwable t) {
                error(t, result);
            }
        }
    });
    return result;
}

From source file:com.facebook.watchman.WatchmanClientImpl.java

@Override
public ListenableFuture<Map<String, Object>> watch(Path path) {
    if (!supportsWatchProject.get()) {
        return Futures.immediateFailedFuture(
                new WatchmanException("Please upgrade Watchman to the latest version in order to use "
                        + "the watching functionality"));
    }/*  w  w w  .  ja va  2 s.c o  m*/

    List<String> request = ImmutableList.of("watch-project", path.toAbsolutePath().toString());
    return connection.run(request);
}

From source file:org.thingsboard.rule.engine.transform.TbChangeOriginatorNode.java

private ListenableFuture<? extends EntityId> getNewOriginator(TbContext ctx, EntityId original) {
    switch (config.getOriginatorSource()) {
    case CUSTOMER_SOURCE:
        return EntitiesCustomerIdAsyncLoader.findEntityIdAsync(ctx, original);
    case TENANT_SOURCE:
        return EntitiesTenantIdAsyncLoader.findEntityIdAsync(ctx, original);
    case RELATED_SOURCE:
        return EntitiesRelatedEntityIdAsyncLoader.findEntityAsync(ctx, original, config.getRelationsQuery());
    default:/*from   w  ww  .  j a va 2  s .  com*/
        return Futures.immediateFailedFuture(
                new IllegalStateException("Unexpected originator source " + config.getOriginatorSource()));
    }
}

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

public ListenableFuture<List<Table>> readAll(String database, Object... parms) {
    ListenableFuture<Boolean> dbFuture = databases.exists(database);
    return Futures.transformAsync(dbFuture, new AsyncFunction<Boolean, List<Table>>() {
        @Override//from   w w w.  ja  v  a2 s  .  co  m
        public ListenableFuture<List<Table>> apply(Boolean exists) throws Exception {
            if (exists) {
                return tables.readAll(parms);
            } else {
                return Futures
                        .immediateFailedFuture(new ItemNotFoundException("Database not found: " + database));
            }
        }
    }, MoreExecutors.directExecutor());
}

From source file:com.facebook.presto.util.AsyncSemaphore.java

private ListenableFuture<?> submitTask(T task) {
    try {/*from   ww w  . ja  v a  2  s. c  o m*/
        ListenableFuture<?> future = submitter.apply(task);
        if (future == null) {
            return Futures.immediateFailedFuture(
                    new NullPointerException("Submitter returned a null future for task: " + task));
        }
        return future;
    } catch (Exception e) {
        return Futures.immediateFailedFuture(e);
    }
}