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

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

Introduction

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

Prototype

@GwtIncompatible("TODO")
public static <V> V getUnchecked(Future<V> future) 

Source Link

Document

Returns the result of calling Future#get() uninterruptibly on a task known not to throw a checked exception.

Usage

From source file:com.continuuity.loom.common.zookeeper.lib.ZKMap.java

@Override
public T remove(Object key) {
    if (!(key instanceof String)) {
        throw new IllegalArgumentException(
                "Expected key of type java.lang.String but was " + (key == null ? null : key.getClass()));
    }/*from  w w w  .j  a  v a 2  s . c o m*/
    Map<String, T> current = Maps.newHashMap(currentView.get());
    T removed = current.remove(key);
    currentView.set(ImmutableMap.<String, T>builder().putAll(current).build());
    // note: we cannot only issue remove from zk if removed != null because even if removed == null this could mean
    //       the element was removed (and for other race-condition reasons)
    Futures.getUnchecked(ZKClientExt.delete(zkClient, getItemNodePath((String) key), true));
    return removed;
}

From source file:com.github.parboiled1.grappa.backport.buffers.CharSequenceInputBuffer.java

@Override
public String extractLine(final int lineNumber) {
    Preconditions.checkArgument(lineNumber > 0, "line number is negative");
    final LineCounter counter = Futures.getUnchecked(lineCounter);
    final Range<Integer> range = counter.getLineRange(lineNumber);
    final int start = range.lowerEndpoint();
    int end = range.upperEndpoint();
    if (charAt(end - 1) == '\n')
        end--;/*  w  ww.j  a v a  2  s. co  m*/
    if (charAt(end - 1) == '\r')
        end--;
    return extract(start, end);
}

From source file:com.facebook.buck.versions.AsyncVersionedTargetGraphBuilder.java

@Override
protected VersionInfo getVersionInfo(TargetNode<?> node) {
    return Futures.getUnchecked(versionInfoAsyncTransformationEngine.compute(ImmutableVersionInfoKey.of(node)));
}

From source file:com.continuuity.weave.internal.AbstractServiceController.java

@Override
public void stopAndWait() {
    Futures.getUnchecked(stop());
}

From source file:co.cask.tigon.data.co.cask.tigon.data.hbase.wd.DistributedScanner.java

private Result nextInternal() throws IOException {
    Result result = null;//from ww w .j a  v a2 s  .  c o m
    int indexOfScannerToUse = -1;

    // advancing scanners if needed in multi-threaded way
    Future[] advanceFutures = new Future[scanners.length];
    for (int i = 0; i < nextOfScanners.length; i++) {
        if (nextOfScanners[i] == null) {
            // result scanner is exhausted, don't advance it any more
            continue;
        }

        if (nextOfScanners[i].size() == 0) {
            final ResultScanner scanner = scanners[i];
            advanceFutures[i] = scansExecutor.submit(new Callable<Result[]>() {
                @Override
                public Result[] call() throws Exception {
                    return scanner.next(caching);
                }
            });
        }
    }

    for (int i = 0; i < advanceFutures.length; i++) {
        if (advanceFutures[i] == null) {
            continue;
        }

        // advancing result scanner
        Result[] results = Futures.getUnchecked((Future<Result[]>) advanceFutures[i]);
        if (results.length == 0) {
            // marking result scanner as exhausted
            nextOfScanners[i] = null;
            continue;
        }
        nextOfScanners[i].addAll(Arrays.asList(results));
    }

    for (int i = 0; i < nextOfScanners.length; i++) {
        if (nextOfScanners[i] == null) {
            // result scanner is exhausted, don't advance it any more
            continue;
        }

        // if result is null or next record has original key less than the candidate to be returned
        if (result == null || Bytes.compareTo(keyDistributor.getOriginalKey(nextOfScanners[i].get(0).getRow()),
                keyDistributor.getOriginalKey(result.getRow())) < 0) {
            result = nextOfScanners[i].get(0);
            indexOfScannerToUse = i;
        }
    }

    if (indexOfScannerToUse >= 0) {
        nextOfScanners[indexOfScannerToUse].remove(0);
    }

    return result;
}

From source file:com.facebook.buck.distributed.DistBuildArtifactCacheImpl.java

@Override
public boolean remoteContains(BuildRule buildRule) {
    if (!remoteCacheContainsFutures.containsKey(buildRule)) {
        prewarmRemoteContains(ImmutableSet.of(buildRule));
    }/*from   ww  w  .  j a v  a  2 s  .c o  m*/
    return Futures.getUnchecked(remoteCacheContainsFutures.get(buildRule));
}

From source file:com.continuuity.loom.common.zookeeper.lib.ZKCollection.java

public void clear() {
    currentView.set(Collections.<T>emptyList());
    // Hint: again, we can try to make removal more efficient by cleaning only when in-mem collection cleaned smth,
    //       but then we may face races...
    NodeChildren nodeChildren = Futures.getUnchecked(zkClient.getChildren(""));
    List<ListenableFuture<String>> deleteFutures = Lists.newArrayList();
    for (String node : nodeChildren.getChildren()) {
        deleteFutures.add(ZKClientExt.delete(zkClient, getNodePath(node), true));
    }//from   w w  w .  j ava2s.  co m
    Futures.getUnchecked(Futures.allAsList(deleteFutures));
}

From source file:org.apache.aurora.scheduler.mesos.VersionedSchedulerDriverService.java

@Override
public void acceptInverseOffer(OfferID offerID, Filters filter) {
    whenRegistered(() -> {//from   w ww. ja  v  a2s  . com
        LOG.info("Accepting Inverse Offer {}", offerID.getValue());

        Futures.getUnchecked(mesosFuture).send(Call.newBuilder().setFrameworkId(getFrameworkId())
                .setType(Call.Type.ACCEPT_INVERSE_OFFERS)
                .setAcceptInverseOffers(
                        Call.AcceptInverseOffers.newBuilder().addInverseOfferIds(offerID).setFilters(filter))
                .build());
    });
}

From source file:com.github.parboiled1.grappa.backport.buffers.CharSequenceInputBuffer.java

@SuppressWarnings("AutoUnboxing")
@Override/*  w w w . ja v a  2s  . com*/
public IndexRange getLineRange(final int lineNumber) {
    final Range<Integer> range = Futures.getUnchecked(lineCounter).getLineRange(lineNumber);
    return new IndexRange(range.lowerEndpoint(), range.upperEndpoint());
}

From source file:com.facebook.buck.core.rules.resolver.impl.MultiThreadedActionGraphBuilder.java

@Override
public BuildRule computeIfAbsent(BuildTarget target, Function<BuildTarget, BuildRule> mappingFunction) {
    Preconditions.checkState(isValid);/*w  w  w  .  j  ava 2 s .c  om*/
    Preconditions.checkState(isInForkJoinPool(), "Should only be called while executing in the pool");

    WorkThreadTrackingTask<BuildRule> future = buildRuleIndex.computeIfAbsent(target, wrap(mappingFunction));

    if (future.isBeingWorkedOnByCurrentThread()) {

        BuildRule rule = mappingFunction.apply(target);
        future.complete(rule);
        return rule;
    } else {
        return Futures.getUnchecked(future);
    }
}