List of usage examples for com.google.common.util.concurrent ListenableFutureTask create
public static <V> ListenableFutureTask<V> create(Callable<V> callable)
From source file:org.trinity.shellplugin.widget.impl.view.qt.StyledViewsPlugin.java
@Override protected void startUp() throws Exception { final ListenableFutureTask<Void> futureTask = ListenableFutureTask.create(new Callable<Void>() { @Override//from w ww.ja va 2s. c om public Void call() { try { loadStylelSheet(); } catch (final IOException e) { Throwables.propagate(e); } return null; } }); QApplication.invokeLater(futureTask); }
From source file:org.robotninjas.util.command.CommandBuilder.java
public <V> AsyncCommand<V> build(final Callable<V> callable, final FutureFallback<V> fallback) { final Function<Callable<V>, Callable<V>> f = callableBuilder.build(); return new AsyncCommand<V>() { @Override//from w w w. j ava 2s .co m public ListenableFuture<V> execute() { Callable<V> c = f.apply(callable); ListenableFutureTask<V> t = ListenableFutureTask.create(c); executor.execute(t); return withFallback(t, fallback); } }; }
From source file:kis.daggerSample.AsyncPiko.java
private <T> ListenableFuture<T> task(String name, Supplier<T> supplier, long millis) { ListenableFutureTask<T> task = ListenableFutureTask.create(() -> { System.out.println("start " + name); Brave brave = new Brave.Builder(name + " task").reporter(reporter).build(); ServerTracer serverTracer = brave.serverTracer(); serverTracer.setStateCurrentTrace(spanId, "ppap span"); //serverTracer.setServerReceived(); ClientTracer clientTracer = brave.clientTracer(); clientTracer.startNewSpan(name); clientTracer.setClientSent();/* w w w . ja v a2 s . c om*/ try { Thread.sleep(millis); } catch (InterruptedException ignored) { } T result = supplier.get(); clientTracer.setClientReceived(); //serverTracer.setServerSend(); System.out.println("finish " + name); return result; }); task.run(); return task; }
From source file:org.trinity.foundation.render.qt.impl.binding.view.delegate.ChildViewDelegateImpl.java
@SuppressWarnings("unchecked") @Override/* w w w . j av a2 s. c o m*/ public <T> ListenableFuture<T> newView(final Object parentView, final Class<T> childViewType, final int position) { checkArgument(parentView instanceof QWidget, format("Expected parent view should be of type %s", QWidget.class.getName())); checkArgument(QWidget.class.isAssignableFrom(childViewType), format("Expected child view should be of type %s", QWidget.class.getName())); final ListenableFutureTask<T> newViewTask = ListenableFutureTask.create(new Callable<T>() { @Override public T call() throws Exception { final QWidget parentViewInstance = (QWidget) parentView; final T childView = ChildViewDelegateImpl.this.injector.getInstance(childViewType); final QWidget childViewInstance = (QWidget) childView; childViewInstance.setParent(parentViewInstance); return (T) childViewInstance; } }); QApplication.invokeLater(newViewTask); return newViewTask; }
From source file:org.fcrepo.indexer.AsynchIndexer.java
@Override public ListenableFuture<Result> remove(final URI identifier) throws IOException { LOGGER.debug("Received remove for identifier: {}", identifier); final ListenableFutureTask<Result> task = ListenableFutureTask.create(removeSynch(identifier)); task.addListener(new Runnable() { @Override//w w w . ja v a 2s.c o m public void run() { synchronized (this) { notifyAll(); } } }, executorService()); executorService().submit(task); return task; }
From source file:com.afewmoreamps.util.PrefetchingInputStream.java
public PrefetchingInputStream(final FileChannel channel, final int prefetchSize, final int prefetchCount) throws IOException { buffers = new ByteBuffer[prefetchCount]; for (int ii = 0; ii < prefetchCount; ii++) { buffers[ii] = ByteBuffer.allocateDirect(prefetchSize); availableBuffers.offer(buffers[ii]); }// w w w . j a va2s .c o m int currentReadPosition = (int) channel.position(); final long channelSize = channel.size(); while (currentReadPosition != channelSize) { final int readStartingAt = currentReadPosition; final int limit = (int) Math.min(currentReadPosition + prefetchSize, channelSize); currentReadPosition += limit; readTasks.add(ListenableFutureTask.create(new Callable<ByteBuffer>() { @Override public ByteBuffer call() throws Exception { final ByteBuffer buffer = availableBuffers.take(); buffer.clear(); buffer.limit(limit); while (buffer.hasRemaining()) { int read = channel.read(buffer, readStartingAt); if (read == -1) { throw new EOFException(); } } buffer.flip(); return buffer; } })); } es.execute(new Runnable() { @Override public void run() { for (ListenableFutureTask<?> task : readTasks) { task.run(); try { try { task.get(); } catch (InterruptedException e) { return; } } catch (ExecutionException e) { if (e.getCause() instanceof InterruptedException) { return; } } } } }); m_taskIterator = readTasks.iterator(); }
From source file:org.robotninjas.util.command.CommandBuilder.java
public <V> AsyncCommand<V> build(final Callable<V> callable) { final Function<Callable<V>, Callable<V>> f = callableBuilder.build(); return new AsyncCommand<V>() { @Override/*from w w w .j a va2 s.co m*/ public ListenableFuture<V> execute() throws Exception { Callable<V> c = f.apply(callable); ListenableFutureTask<V> t = ListenableFutureTask.create(c); executor.execute(t); return t; } }; }
From source file:org.apache.phoenix.query.PhoenixStatsCacheLoader.java
@Override public ListenableFuture<GuidePostsInfo> reload(final GuidePostsKey key, GuidePostsInfo prevGuidepostInfo) { if (statsLoader.needsLoad()) { // schedule asynchronous task ListenableFutureTask<GuidePostsInfo> task = ListenableFutureTask.create(new Callable<GuidePostsInfo>() { public GuidePostsInfo call() { try { return statsLoader.loadStats(key, prevGuidepostInfo); } catch (Exception e) { logger.warn("Unable to load stats from table: " + key.toString(), e); return prevGuidepostInfo; }// w ww .j a va2 s . c om } }); executor.execute(task); return task; } else { return Futures.immediateFuture(prevGuidepostInfo); } }
From source file:org.apache.usergrid.persistence.index.impl.EsIndexCacheImpl.java
@Inject public EsIndexCacheImpl(final EsProvider provider, final IndexFig indexFig) { this.refreshExecutors = MoreExecutors .listeningDecorator(Executors.newScheduledThreadPool(indexFig.getIndexCacheMaxWorkers())); this.provider = provider; aliasIndexCache = CacheBuilder.newBuilder().maximumSize(1000).refreshAfterWrite(5, TimeUnit.MINUTES) .build(new CacheLoader<String, String[]>() { @Override/*w w w .jav a 2 s. c o m*/ public ListenableFuture<String[]> reload(final String key, String[] oldValue) throws Exception { ListenableFutureTask<String[]> task = ListenableFutureTask.create(new Callable<String[]>() { public String[] call() { return load(key); } }); refreshExecutors.execute(task); return task; } @Override public String[] load(final String aliasName) { return getIndexesFromEs(aliasName); } }); }
From source file:com.addthis.hydra.data.query.engine.EngineLoader.java
@Override public ListenableFuture<QueryEngine> reload(final String dir, final QueryEngine oldValue) throws Exception { //test for new data if (((QueryEngineDirectory) oldValue).isOlder(dir)) { ListenableFutureTask<QueryEngine> task = ListenableFutureTask .create(new RefreshEngineCall(dir, oldValue, this)); engineRefresherPool.submit(task); return task; } else {/* w ww.j a v a 2 s .com*/ SettableFuture<QueryEngine> task = SettableFuture.create(); task.set(oldValue); return task; } }