List of usage examples for com.google.common.util.concurrent SettableFuture create
public static <V> SettableFuture<V> create()
From source file:com.microsoft.windowsazure.mobileservices.zumoe2etestapp.framework.log.DaylightLogger.java
private static void uploadBlob(List<TestCase> tests, String blobAccessToken) { String urlBlob = "https://daylight.blob.core.windows.net/attachments"; for (TestCase test : tests) { String blobName = test.getFileName(); String body = test.getLog(); URI requestUrl = null;/*from w w w.ja v a 2s . c o m*/ try { requestUrl = new URI(urlBlob + "/" + blobName + "?" + blobAccessToken); } catch (URISyntaxException e) { } test.setFileName(blobName); HttpPut request = new HttpPut(requestUrl); request.addHeader("x-ms-blob-type", "BlockBlob"); try { request.setEntity(new StringEntity(body, "UTF-8")); } catch (UnsupportedEncodingException uee) { } final SettableFuture<Void> externalFuture = SettableFuture.create(); ListenableFuture<HttpURLConnection> internalFuture = execute(request); Futures.addCallback(internalFuture, new FutureCallback<HttpURLConnection>() { @Override public void onFailure(Throwable throwable) { externalFuture.setException(throwable); } @Override public void onSuccess(HttpURLConnection connection) { try { connection.getInputStream(); externalFuture.set(null); } catch (Throwable throwable) { externalFuture.setException(throwable); } } }); try { externalFuture.get(); } catch (InterruptedException | ExecutionException e) { e.printStackTrace(); } } }
From source file:com.nicohuysamen.fetchapp.impl.jetty.async.JettyAsyncRequestEngine.java
@SuppressWarnings("unchecked") private <S, R> ListenableFuture<R> sendRequest(final Class<S> sendClass, final Class<R> receiveClass, final String requestMethod, final String method, final S content) { final SettableFuture<R> future = SettableFuture.create(); final ContentExchange exchange = new ContentExchange(true) { @Override/*from w ww . ja va 2 s .com*/ protected void onResponseComplete() throws IOException { try { if (getResponseStatus() >= 200 && getResponseStatus() < 300) { JAXBContext receiveContext = JAXBContext.newInstance("com.nicohuysamen.fetchapp.dto"); Unmarshaller unmarshaller = receiveContext.createUnmarshaller(); Object response = unmarshaller.unmarshal(new StringReader(getResponseContent())); if ((response instanceof Message && !receiveClass.equals(Message.class))) { LOG.warn("Received {}, expected {} - {}", Message.class, receiveClass, ((Message) response).getMessage()); System.err.println(((Message) response).getMessage()); future.set(null); return; } else if (!response.getClass().equals(receiveClass)) { LOG.debug("Received {}, expected {} - This is expected, trying to recover.", response.getClass(), receiveClass); receiveContext = JAXBContext.newInstance(receiveClass); unmarshaller = receiveContext.createUnmarshaller(); response = unmarshaller.unmarshal(new StringReader(getResponseContent())); } future.set((R) response); } else { future.set(null); } } catch (final JAXBException e) { future.setException(e); future.set(null); } catch (IOException e) { future.setException(e); future.set(null); } } }; exchange.setMethod(requestMethod); exchange.setRequestHeader(RequestConstants.REQUEST_HEADER_AUTH, authKey); exchange.setRequestContentType(RequestConstants.REQUEST_CONTENT_XML); exchange.setURL(RequestConstants.generateRequestUrl(method)); try { if (content != null) { final JAXBContext sendContext = JAXBContext.newInstance(sendClass); final Marshaller marshaller = sendContext.createMarshaller(); final StringWriter xml = new StringWriter(); marshaller.marshal(content, xml); exchange.setRequestContent(new ByteArrayBuffer(xml.toString())); } httpClient.send(exchange); } catch (final JAXBException e) { future.setException(e); future.set(null); } catch (IOException e) { future.setException(e); future.set(null); } return future; }
From source file:edu.umich.si.inteco.minuku.dao.SemanticLocationDataRecordDAO.java
@Override public Future<List<SemanticLocationDataRecord>> getAll() throws DAOException { final SettableFuture<List<SemanticLocationDataRecord>> settableFuture = SettableFuture.create(); Firebase locationListRef = new Firebase(Constants.getInstance().getFirebaseUrlForSemanticLocation()) .child(myUserEmail).child(new SimpleDateFormat("MMddyyyy").format(new Date()).toString()); locationListRef.addValueEventListener(new ValueEventListener() { @Override/*from www. j ava2 s . com*/ public void onDataChange(DataSnapshot dataSnapshot) { Map<String, SemanticLocationDataRecord> locationListMap = (HashMap<String, SemanticLocationDataRecord>) dataSnapshot .getValue(); List<SemanticLocationDataRecord> values = (List) locationListMap.values(); settableFuture.set(values); } @Override public void onCancelled(FirebaseError firebaseError) { settableFuture.set(null); } }); return settableFuture; }
From source file:com.twitter.heron.statemgr.NullStateManager.java
@Override public ListenableFuture<Scheduler.SchedulerLocation> getSchedulerLocation(WatchCallback watcher, String topologyName) { return SettableFuture.create(); }
From source file:org.wso2.andes.kernel.disruptor.inbound.InboundQueueSyncEvent.java
/** * Create a event representing a queue change * * @param encodedQueueInfo encoded information of a * {@link org.wso2.andes.kernel.subscription.StorageQueue} *//* w w w . j av a 2 s. c om*/ public InboundQueueSyncEvent(String encodedQueueInfo) { this.encodedQueueInfo = encodedQueueInfo; this.purgedCount = SettableFuture.create(); this.isEventComplete = SettableFuture.create(); }
From source file:com.facebook.presto.operator.PartitionedLookupSourceFactory.java
@Override public synchronized ListenableFuture<LookupSource> createLookupSource() { if (lookupSourceSupplier != null) { return Futures.immediateFuture(lookupSourceSupplier.getLookupSource()); }/*from ww w.ja va 2 s . co m*/ SettableFuture<LookupSource> lookupSourceFuture = SettableFuture.create(); lookupSourceFutures.add(lookupSourceFuture); return lookupSourceFuture; }
From source file:org.opendaylight.netconf.topology.singleton.impl.tx.NetconfWriteOnlyTransaction.java
@Override public CheckedFuture<Void, TransactionCommitFailedException> submit() { LOG.trace("{}: Submit", id); final Future<Void> submit = delegate.submit(); final SettableFuture<Void> settFuture = SettableFuture.create(); final CheckedFuture<Void, TransactionCommitFailedException> checkedFuture; checkedFuture = Futures.makeChecked(settFuture, new Function<Exception, TransactionCommitFailedException>() { @Nullable//from w ww . j a va 2 s. c o m @Override public TransactionCommitFailedException apply(Exception input) { return new TransactionCommitFailedException("Transaction commit failed", input); } }); submit.onComplete(new OnComplete<Void>() { @Override public void onComplete(Throwable throwable, Void object) throws Throwable { if (throwable == null) { settFuture.set(object); } else { settFuture.setException(throwable); } } }, actorSystem.dispatcher()); return checkedFuture; }
From source file:io.crate.autocomplete.AutoCompleter.java
public ListenableFuture<CompletionResult> complete(String statement) { StatementLexer lexer = getLexer(statement); final Context ctx = new Context(statement.length()); List<ListenableFuture<List<String>>> futureCompletions; try {/*from ww w.j a v a 2 s. c om*/ futureCompletions = innerComplete(lexer, statement, ctx); } catch (ParsingException e) { return Futures.immediateFuture(new CompletionResult(0, Collections.<String>emptyList())); } catch (Throwable t) { logger.error(t.getMessage(), t); return Futures.immediateFuture(new CompletionResult(0, Collections.<String>emptyList())); } final SettableFuture<CompletionResult> result = SettableFuture.create(); Futures.addCallback(Futures.allAsList(futureCompletions), new FutureCallback<List<List<String>>>() { @Override public void onSuccess(@Nullable List<List<String>> completionsList) { if (completionsList == null) { result.set(new CompletionResult(0, ImmutableList.<String>of())); return; } if (ctx.parts.size() > 1) { Set<String> fullyQualifiedCompletions = new TreeSet<>(); for (List<String> completions : completionsList) { for (String completion : completions) { ctx.parts.set(ctx.parts.size() - 1, completion); fullyQualifiedCompletions.add(dotJoiner.join(ctx.parts)); } } result.set(new CompletionResult(ctx.startIdx, fullyQualifiedCompletions)); } else { Set<String> uniqueSortedCompletions = new TreeSet<>(); for (List<String> completions : completionsList) { uniqueSortedCompletions.addAll(completions); } result.set(new CompletionResult(ctx.startIdx, uniqueSortedCompletions)); } } @Override public void onFailure(@Nonnull Throwable t) { result.setException(t); } }); return result; }
From source file:io.crate.executor.transport.TableCreator.java
public SettableFuture<Long> create(CreateTableAnalyzedStatement statement) { final SettableFuture<Long> result = SettableFuture.create(); // real work done in createTable() deleteOrphans(new CreateTableResponseListener(result, statement), statement); return result; }
From source file:edu.umich.si.inteco.minuku.dao.UserSubmissionStatsDAO.java
public Future<UserSubmissionStats> get() { final SettableFuture<UserSubmissionStats> future = SettableFuture.create(); if (myUserEmail != null) { Firebase userStatsRef = new Firebase(Constants.getInstance().getFirebaseUrlForUserSubmissionStats()) .child(myUserEmail).child(new SimpleDateFormat("MMddyyyy").format(new Date()).toString()); userStatsRef.addListenerForSingleValueEvent(new ValueEventListener() { @Override/*from ww w . ja va 2 s . c o m*/ public void onDataChange(DataSnapshot dataSnapshot) { if (dataSnapshot.exists()) { UserSubmissionStats stats = dataSnapshot.getValue(UserSubmissionStats.class); future.set(stats); } else { future.set(new UserSubmissionStats()); } } @Override public void onCancelled(FirebaseError firebaseError) { } }); } return future; }