List of usage examples for com.google.common.util.concurrent SettableFuture create
public static <V> SettableFuture<V> create()
From source file:org.opendaylight.netconf.topology.impl.OnlySuccessStateAggregator.java
@Override public ListenableFuture<Node> combineCreateAttempts(List<ListenableFuture<Node>> stateFutures) { final SettableFuture<Node> future = SettableFuture.create(); final ListenableFuture<List<Node>> allAsList = Futures.allAsList(stateFutures); Futures.addCallback(allAsList, new FutureCallback<List<Node>>() { @Override/*from ww w .j av a 2 s .co m*/ public void onSuccess(List<Node> result) { for (int i = 0; i < result.size() - 1; i++) { if (!result.get(i).equals(result.get(i + 1))) { future.setException(new IllegalStateException("Create futures have different result")); } } future.set(result.get(0)); } @Override public void onFailure(Throwable t) { LOG.error("One of the combined create attempts failed {}", t); future.setException(t); } }, TypedActor.context().dispatcher()); return future; }
From source file:net.javacrumbs.futureconverter.guavarx.ObservableListenableFuture.java
@SuppressWarnings("unchecked") ObservableListenableFuture(Observable<T> observable) { super((Future<T>) SettableFuture.create()); this.observable = observable; subscription = observable.single().subscribe(new Action1<T>() { @Override//from w ww . ja va 2 s. co m public void call(T t) { getWrappedFuture().set(t); } }, new Action1<Throwable>() { @Override public void call(Throwable throwable) { getWrappedFuture().setException(throwable); } }); }
From source file:org.opendaylight.bgpcep.pcep.topology.provider.PCEPRequest.java
PCEPRequest(final Metadata metadata) { this.future = SettableFuture.create(); this.metadata = metadata; this.state = State.UNSENT; this.stopwatch = Stopwatch.createStarted(); this.timer = new Timer(); }
From source file:com.microsoft.services.orc.core.BaseOrcContainer.java
@Override protected ListenableFuture<OrcResponse> oDataExecute(final Request request) { final SettableFuture<OrcResponse> result = SettableFuture.create(); final Logger logger = resolver.getLogger(); try {//from www . j a va 2 s . com request.getUrl().setBaseUrl(this.url); String fullUrl = request.getUrl().toString(); String executionInfo = String.format("URL: %s - HTTP VERB: %s", fullUrl, request.getVerb()); logger.log("Start preparing OData execution for " + executionInfo, LogLevel.INFO); if (request.getContent() != null) { logger.log("With " + request.getContent().length + " bytes of payload", LogLevel.INFO); } else if (request.getStreamedContent() != null) { logger.log("With stream of bytes for payload", LogLevel.INFO); } HttpTransport httpTransport = resolver.getHttpTransport(); String userAgent = resolver.getPlatformUserAgent(this.getClass().getCanonicalName()); request.addHeader(Constants.USER_AGENT_HEADER, userAgent); request.addHeader(Constants.TELEMETRY_HEADER, userAgent); if (!request.getHeaders().containsKey(Constants.CONTENT_TYPE_HEADER)) { request.addHeader(Constants.CONTENT_TYPE_HEADER, Constants.JSON_CONTENT_TYPE); } request.addHeader(Constants.ACCEPT_HEADER, Constants.JSON_CONTENT_TYPE); request.addHeader(Constants.ODATA_VERSION_HEADER, Constants.ODATA_VERSION); request.addHeader(Constants.ODATA_MAXVERSION_HEADER, Constants.ODATA_MAXVERSION); if (request.getHeaders() != null) { for (String key : request.getHeaders().keySet()) { request.addHeader(key, request.getHeaders().get(key)); } } boolean credentialsSet = false; Credentials cred = resolver.getCredentials(); if (cred != null) { cred.prepareRequest(request); credentialsSet = true; } if (!credentialsSet) { logger.log("Executing request without setting credentials", LogLevel.WARNING); } logger.log("Request Headers: ", LogLevel.VERBOSE); for (String key : request.getHeaders().keySet()) { logger.log(key + " : " + request.getHeaders().get(key), LogLevel.VERBOSE); } final ListenableFuture<Response> future = httpTransport.execute(request); logger.log("OData request executed", LogLevel.INFO); Futures.addCallback(future, new FutureCallback<Response>() { @Override public void onSuccess(Response response) { boolean readBytes = true; if (request.getOptions().get(Request.MUST_STREAM_RESPONSE_CONTENT) != null) { readBytes = false; } OrcResponse orcResponse = new OrcResponseImpl(response); try { logger.log("OData response received", LogLevel.INFO); int status = response.getStatus(); logger.log("Response Status Code: " + status, LogLevel.INFO); if (readBytes) { logger.log("Reading response data...", LogLevel.VERBOSE); byte[] data = orcResponse.getPayload(); logger.log(data.length + " bytes read from response", LogLevel.VERBOSE); try { logger.log("Closing response", LogLevel.VERBOSE); response.close(); } catch (Throwable t) { logger.log("Error closing response: " + t.toString(), LogLevel.ERROR); result.setException(t); return; } } if (status < 200 || status > 299) { logger.log("Invalid status code. Processing response content as String", LogLevel.VERBOSE); String responseData = new String(orcResponse.getPayload(), Constants.UTF8_NAME); String message = "Response status: " + response.getStatus() + "\n" + "Response content: " + responseData; logger.log(message, LogLevel.ERROR); result.setException(new OrcException(orcResponse, message)); return; } result.set(orcResponse); } catch (Throwable t) { logger.log("Unexpected error: " + t.toString(), LogLevel.ERROR); result.setException(new OrcException(orcResponse, t)); } } @Override public void onFailure(Throwable throwable) { result.setException(throwable); } }); } catch (Throwable t) { result.setException(t); } return result; }
From source file:org.kurento.client.internal.TFutureImpl.java
public TFutureImpl(Operation operation) { this.future = SettableFuture.create(); this.operation = operation; }
From source file:com.navercorp.nbasearc.gcp.SingleThreadEventLoopTrunk.java
ListenableFuture<?> close() { final SettableFuture<?> sf = SettableFuture.create(); final AtomicInteger counter = new AtomicInteger(eventLoops.length); for (final SingleThreadEventLoop eventLoop : eventLoops) { eventLoop.close().addListener(new Runnable() { @Override/* w w w . ja va 2 s . co m*/ public void run() { if (counter.decrementAndGet() == 0) { sf.set(null); } } }, MoreExecutors.directExecutor()); } return sf; }
From source file:io.crate.mqtt.netty.ClientNettyMQTTHandler.java
public void initCallback() { if (callback != null) { callback.cancel(true); } callback = SettableFuture.create(); }
From source file:io.crate.executor.transport.executionphases.InitializationTracker.java
InitializationTracker(int numServer) { future = SettableFuture.create(); if (numServer == 0) { future.set(null);//from w w w . jav a 2 s .c om } serverToInitialize = new AtomicInteger(numServer); }
From source file:com.android.camera.one.v2.photo.MetadataFuture.java
public MetadataFuture() { mMetadata = SettableFuture.create(); }
From source file:com.android.camera.device.SingleDeviceRequest.java
public SingleDeviceRequest(Lifetime lifetime) { mLifetime = lifetime; mFuture = SettableFuture.create(); mIsClosed = new AtomicBoolean(false); }