List of usage examples for com.google.common.util.concurrent Futures immediateCheckedFuture
@GwtIncompatible("TODO") @CheckReturnValue public static <V, X extends Exception> CheckedFuture<V, X> immediateCheckedFuture(@Nullable V value)
From source file:org.opendaylight.yangtools.yang.model.repo.util.FilesystemSchemaSourceCache.java
@Override public synchronized CheckedFuture<? extends T, SchemaSourceException> getSource( final SourceIdentifier sourceIdentifier) { final File file = sourceIdToFile(sourceIdentifier, storageDirectory); if (file.exists() && file.canRead()) { LOG.trace("Source {} found in cache as {}", sourceIdentifier, file); final SchemaSourceRepresentation restored = STORAGE_ADAPTERS.get(representation) .restore(sourceIdentifier, file); return Futures.immediateCheckedFuture(representation.cast(restored)); }// w w w.j a va 2 s . com LOG.debug("Source {} not found in cache as {}", sourceIdentifier, file); return Futures.immediateFailedCheckedFuture( new MissingSchemaSourceException("Source not found", sourceIdentifier)); }
From source file:org.opendaylight.openflowplugin.impl.statistics.StatisticsContextImpl.java
private ListenableFuture<Boolean> chooseStat(final MultipartType multipartType) { switch (multipartType) { case OFPMPFLOW: return collectFlowStatistics(multipartType); case OFPMPTABLE: return collectTableStatistics(multipartType); case OFPMPPORTSTATS: return collectPortStatistics(multipartType); case OFPMPQUEUE: return collectQueueStatistics(multipartType); case OFPMPGROUPDESC: return collectGroupDescStatistics(multipartType); case OFPMPGROUP: return collectGroupStatistics(multipartType); case OFPMPMETERCONFIG: return collectMeterConfigStatistics(multipartType); case OFPMPMETER: return collectMeterStatistics(multipartType); default:/*from w w w.ja va 2s . c om*/ LOG.warn("Unsuported Statistics type {}", multipartType); return Futures.immediateCheckedFuture(Boolean.TRUE); } }
From source file:org.onos.yangtools.yang.parser.repo.SharedSchemaContextFactory.java
@Override public CheckedFuture<SchemaContext, SchemaResolutionException> createSchemaContext( final Collection<SourceIdentifier> requiredSources) { // Make sources unique final List<SourceIdentifier> uniqueSourceIdentifiers = deDuplicateSources(requiredSources); final SchemaContext existing = cache.getIfPresent(uniqueSourceIdentifiers); if (existing != null) { LOG.debug("Returning cached context {}", existing); return Futures.immediateCheckedFuture(existing); }/*from w w w . j a v a2s. c o m*/ // Request all sources be loaded ListenableFuture<List<ASTSchemaSource>> sf = Futures .allAsList(Collections2.transform(uniqueSourceIdentifiers, requestSources)); // Detect mismatch between requested Source IDs and IDs that are extracted from parsed source // Also remove duplicates if present // We are relying on preserved order of uniqueSourceIdentifiers as well as sf sf = Futures.transform(sf, new SourceIdMismatchDetector(uniqueSourceIdentifiers)); // Assemble sources into a schema context final ListenableFuture<SchemaContext> cf = Futures.transform(sf, assembleSources); // Populate cache when successful Futures.addCallback(cf, new FutureCallback<SchemaContext>() { @Override public void onSuccess(final SchemaContext result) { cache.put(uniqueSourceIdentifiers, result); } @Override public void onFailure(final Throwable t) { LOG.debug("Failed to assemble sources", t); } }); return Futures.makeChecked(cf, MAPPER); }
From source file:org.opendaylight.controller.sal.connect.netconf.sal.tx.NetconfDeviceReadOnlyTx.java
@Override public CheckedFuture<Boolean, ReadFailedException> exists(LogicalDatastoreType store, YangInstanceIdentifier path) {/*from w ww. j a va 2s . co m*/ CheckedFuture<Optional<NormalizedNode<?, ?>>, ReadFailedException> data = read(store, path); try { return Futures.immediateCheckedFuture(data.get().isPresent()); } catch (InterruptedException | ExecutionException e) { return Futures.immediateFailedCheckedFuture(new ReadFailedException("Exists failed", e)); } }
From source file:org.opendaylight.mdsal.binding.generator.impl.ModuleInfoBackedContext.java
@Override public CheckedFuture<? extends YangTextSchemaSource, SchemaSourceException> getSource( final SourceIdentifier sourceIdentifier) { final YangModuleInfo yangModuleInfo = sourceIdentifierToModuleInfo.get(sourceIdentifier); if (yangModuleInfo == null) { LOG.debug("Unknown schema source requested: {}, available sources: {}", sourceIdentifier, sourceIdentifierToModuleInfo.keySet()); return Futures.immediateFailedCheckedFuture( new SchemaSourceException("Unknown schema source: " + sourceIdentifier)); }/*from w w w. j av a 2 s . c om*/ return Futures.immediateCheckedFuture( YangTextSchemaSource.delegateForByteSource(sourceIdentifier, new ByteSource() { @Override public InputStream openStream() throws IOException { return yangModuleInfo.getModuleSourceStream(); } })); }
From source file:org.opendaylight.openflowplugin.impl.statistics.StatisticsContextImpl.java
/** * Method checks a device state. It returns null for be able continue. Otherwise it returns immediateFuture * which has to be returned from caller too * * @return//from ww w . j a v a2 s .c om */ @VisibleForTesting ListenableFuture<Boolean> deviceConnectionCheck() { if (!ConnectionContext.CONNECTION_STATE.WORKING .equals(deviceContext.getPrimaryConnectionContext().getConnectionState())) { ListenableFuture<Boolean> resultingFuture = SettableFuture.create(); switch (deviceContext.getPrimaryConnectionContext().getConnectionState()) { case RIP: final String errMsg = String.format( "Device connection doesn't exist anymore. Primary connection status : %s", deviceContext.getPrimaryConnectionContext().getConnectionState()); resultingFuture = Futures.immediateFailedFuture(new Throwable(errMsg)); break; default: resultingFuture = Futures.immediateCheckedFuture(Boolean.TRUE); break; } return resultingFuture; } return null; }
From source file:org.opendaylight.yangtools.yang.parser.repo.URLSchemaContextResolver.java
@Override public synchronized CheckedFuture<YangTextSchemaSource, SchemaSourceException> getSource( final SourceIdentifier sourceIdentifier) { final Collection<YangTextSchemaSource> ret = texts.get(sourceIdentifier); LOG.debug("Lookup {} result {}", sourceIdentifier, ret); if (ret.isEmpty()) { return Futures.<YangTextSchemaSource, SchemaSourceException>immediateFailedCheckedFuture( new MissingSchemaSourceException("URL for " + sourceIdentifier + " not registered", sourceIdentifier)); }/*from ww w .ja va 2s . co m*/ return Futures.immediateCheckedFuture(ret.iterator().next()); }
From source file:org.apache.cassandra.db.index.SSTableAttachedSecondaryIndex.java
/** * parent class to eliminate the index rebuild * * @return a future that does and blocks on nothing *//*from w w w . j av a 2s. c om*/ public Future<?> buildIndexAsync() { return Futures.immediateCheckedFuture(null); }
From source file:org.opendaylight.netvirt.aclservice.utils.AclServiceTestUtils.java
public static void prepareElanTag(ReadOnlyTransaction mockReadTx, Long elanTag) { InstanceIdentifier<ElanInterface> elanInterfaceKey = AclServiceUtils .getElanInterfaceConfigurationDataPathId(null); ElanInterfaceBuilder elanInterfaceBuilder = new ElanInterfaceBuilder(); when(mockReadTx.read(LogicalDatastoreType.CONFIGURATION, elanInterfaceKey)) .thenReturn(Futures.immediateCheckedFuture(Optional.of(elanInterfaceBuilder.build()))); InstanceIdentifier<ElanInstance> elanInstanceKey = AclServiceUtils .getElanInstanceConfigurationDataPath(null); ElanInstanceBuilder elanInstanceBuilder = new ElanInstanceBuilder(); elanInstanceBuilder.setElanTag(elanTag); when(mockReadTx.read(LogicalDatastoreType.CONFIGURATION, elanInstanceKey)) .thenReturn(Futures.immediateCheckedFuture(Optional.of(elanInstanceBuilder.build()))); }
From source file:org.opendaylight.openflowplugin.impl.device.TransactionChainManager.java
CheckedFuture<Void, TransactionCommitFailedException> shuttingDown() { LOG.debug("TxManager is going SUTTING_DOWN for node {}", nodeII); CheckedFuture<Void, TransactionCommitFailedException> future; synchronized (txLock) { this.transactionChainManagerStatus = TransactionChainManagerStatus.SHUTTING_DOWN; if (txChainFactory == null) { // stay with actual thread future = Futures.immediateCheckedFuture(null); } else {//from w w w . j av a 2s . co m // hijack md-sal thread if (wTx == null) { wTx = txChainFactory.newWriteOnlyTransaction(); } final NodeBuilder nodeBuilder = new NodeBuilder().setId(deviceState.getNodeId()); wTx.merge(LogicalDatastoreType.OPERATIONAL, nodeII, nodeBuilder.build()); future = wTx.submit(); wTx = null; } } return future; }