List of usage examples for com.google.common.util.concurrent SettableFuture setException
@Override public boolean setException(Throwable throwable)
From source file:org.opendaylight.netconf.topology.impl.OnlySuccessStateAggregator.java
@Override public ListenableFuture<Node> combineUpdateAttempts(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/* ww w . ja va 2 s . com*/ 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("Update futures have different result")); } } future.set(result.get(0)); } @Override public void onFailure(Throwable t) { LOG.error("One of the combined update attempts failed {}", t); future.setException(t); } }); return future; }
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 w w w . java 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:es.udc.pfc.xmpp.component.AbstractXMPPComponent.java
@Override public final void receivedIQ(final IQ iq) { checkNotNull(iq);//w ww. ja v a 2s . co m log.finest("Received iq: " + iq.toString()); if (iq.isRequest()) { Futures.addCallback(handleIQ(iq), new FutureCallback<IQ>() { @Override public void onSuccess(IQ result) { send(result); } @Override public void onFailure(Throwable t) { // TODO: send an error } }); } else if (iq.isResponse()) { final SettableFuture<IQ> future = futureHandlers.remove(iq.getId()); if (future == null) { log.warning("No handler for ID " + iq.getId()); return; } if (iq.getType() == IQ.Type.result) { future.set(iq); } else if (iq.getType() == IQ.Type.error) { future.setException(new Exception("Error IQ: " + iq.toString())); } } else { log.warning("IQ not request or response"); } }
From source file:org.apache.qpid.server.security.auth.manager.AbstractAuthenticationManager.java
private ListenableFuture<Void> performDelete() { final SettableFuture<Void> futureResult = SettableFuture.create(); addFutureCallback(closeAsync(), new FutureCallback<Void>() { @Override//from ww w . j av a 2 s . com public void onSuccess(final Void result) { try { tidyUp(); futureResult.set(null); } catch (Exception e) { futureResult.setException(e); } } @Override public void onFailure(final Throwable t) { try { tidyUp(); } finally { futureResult.setException(t); } } private void tidyUp() { deleted(); setState(State.DELETED); _eventLogger.message(AuthenticationProviderMessages.DELETE(getName())); } }, getTaskExecutor()); return futureResult; }
From source file:es.udc.pfc.gameroom.GameComponent.java
public final ListenableFuture<Room> newRoom(final String type) { final SettableFuture<Room> future = SettableFuture.create(); Futures.addCallback(getUniqueRoomName(), new FutureCallback<String>() { @Override/*from ww w. j ava 2 s . c o m*/ public void onSuccess(String roomID) { if (roomID == null) { log.severe("Error requesting unique room name"); future.setException(new Exception("Error requesting unique room name")); return; } final Room newRoom; if (type.equals("minichess")) { newRoom = new MiniChessRoom(GameComponent.this, JID.jid(getMUCServiceName(), roomID, null)); } else { log.severe("Unknown game type " + type); future.setException(new Exception("Unknown game type " + type)); return; } rooms.put(roomID, newRoom); newRoom.joinRoom(); newRoom.configureRoom(); future.set(newRoom); } @Override public void onFailure(Throwable t) { future.setException(t); } }); return future; }
From source file:com.microsoft.services.sharepoint.SharePointClient.java
public ListenableFuture<JSONObject> getUserByID(String id) { final SettableFuture<JSONObject> result = SettableFuture.create(); ListenableFuture<JSONObject> request = executeRequestJson(mServerUrl + "_api/web/getuserbyid(" + id + ")", "GET"); Futures.addCallback(request, new FutureCallback<JSONObject>() { @Override/* w w w . j a v a 2s . co m*/ public void onFailure(Throwable t) { result.setException(t); } @Override public void onSuccess(JSONObject json) { result.set(json); } }); return result; }
From source file:org.robotninjas.protobuf.netty.client.NettyRpcChannel.java
private ListenableFuture<Message> doCallMethod(MethodDescriptor method, final RpcController controller, Message request, final Message responsePrototype, boolean blocking) { ListenableFuture<NettyRpcProto.RpcResponse> result = new RpcCall(buildRequest(blocking, method, request)); channel.writeAndFlush(result);//from w ww . j av a 2 s. co m return Futures.transform(result, new AsyncFunction<NettyRpcProto.RpcResponse, Message>() { public ListenableFuture<Message> apply(NettyRpcProto.RpcResponse input) { SettableFuture<Message> response = SettableFuture.create(); try { final Message.Builder builder = responsePrototype.newBuilderForType(); Message result = builder.mergeFrom(input.getResponseMessage()).build(); response.set(result); } catch (InvalidProtocolBufferException e) { controller.setFailed(nullToEmpty(e.getMessage())); response.setException(e); } return response; } }); }
From source file:com.microsoft.windowsazure.mobileservices.table.sync.MobileServiceSyncTable.java
/** * Performs a query against the remote table and stores results. * * @param query an optional query to filter results * @param queryKey key to identify the query * @return A ListenableFuture that is done when results have been pulled. *//* w w w.j a v a 2 s .co m*/ public ListenableFuture<Void> pull(Query query, String queryId) { ListenableFuture<Void> pull = this.mInternalTable.pull(query, queryId); final SettableFuture<Void> result = SettableFuture.create(); Futures.addCallback(pull, new FutureCallback<Void>() { @Override public void onFailure(Throwable throwable) { result.setException(throwable); } @Override public void onSuccess(Void value) { result.set(value); } }); return result; }
From source file:co.paralleluniverse.jersey.connector.JettyConnector.java
@Override public Future<?> apply(final ClientRequest jerseyRequest, final AsyncConnectorCallback callback) { final Request jettyRequest = translateRequest(jerseyRequest); final ContentProvider entity = getStreamProvider(jerseyRequest); if (entity != null) { jettyRequest.content(entity);//from ww w . ja v a 2s . c o m } final Throwable[] failure = new Throwable[1]; final ClientResponse[] jerseyResponse = new ClientResponse[1]; try { buildAsyncRequest(jettyRequest).send(new Response.Listener.Adapter() { @Override public void onContent(Response jettyResponse, ByteBuffer content) { jerseyResponse[0] = translateResponse(jerseyRequest, jettyResponse, content); callback.response(jerseyResponse[0]); } @Override public void onFailure(Response response, Throwable t) { failure[0] = t; callback.failure(t); } }); return Futures.immediateFuture(jerseyResponse[0]); } catch (Throwable t) { failure[0] = t; callback.failure(t); } final SettableFuture<Object> errorFuture = SettableFuture.create(); errorFuture.setException(failure[0]); return errorFuture; }
From source file:org.whispersystems.websocket.WebSocketClient.java
public ListenableFuture<WebSocketResponseMessage> sendRequest(String verb, String path, Optional<byte[]> body) { long requestId = generateRequestId(); SettableFuture<WebSocketResponseMessage> future = SettableFuture.create(); pendingRequestMapper.put(requestId, future); WebSocketMessage requestMessage = messageFactory.createRequest(Optional.of(requestId), verb, path, body); try {// ww w .j av a 2 s .com remoteEndpoint.sendBytes(ByteBuffer.wrap(requestMessage.toByteArray())); } catch (IOException | WebSocketException e) { logger.debug("Write", e); pendingRequestMapper.remove(requestId); future.setException(e); } return future; }