List of usage examples for com.google.common.util.concurrent Futures immediateFuture
@CheckReturnValue public static <V> ListenableFuture<V> immediateFuture(@Nullable V value)
From source file:org.apache.qpid.server.virtualhost.SynchronousMessageStoreRecoverer.java
@Override public ListenableFuture<Void> recover(QueueManagingVirtualHost<?> virtualHost) { EventLogger eventLogger = virtualHost.getEventLogger(); MessageStore store = virtualHost.getMessageStore(); MessageStore.MessageStoreReader storeReader = store.newMessageStoreReader(); MessageStoreLogSubject logSubject = new MessageStoreLogSubject(virtualHost.getName(), store.getClass().getSimpleName()); Map<String, Integer> queueRecoveries = new TreeMap<>(); Map<Long, ServerMessage<?>> recoveredMessages = new HashMap<>(); Map<Long, StoredMessage<?>> unusedMessages = new HashMap<>(); eventLogger.message(logSubject, MessageStoreMessages.RECOVERY_START()); storeReader.visitMessages(new MessageVisitor(recoveredMessages, unusedMessages)); eventLogger.message(logSubject, TransactionLogMessages.RECOVERY_START(null, false)); storeReader.visitMessageInstances(/* w w w .jav a 2 s . c o m*/ new MessageInstanceVisitor(virtualHost, store, queueRecoveries, recoveredMessages, unusedMessages)); for (Map.Entry<String, Integer> entry : queueRecoveries.entrySet()) { eventLogger.message(logSubject, TransactionLogMessages.RECOVERED(entry.getValue(), entry.getKey())); eventLogger.message(logSubject, TransactionLogMessages.RECOVERY_COMPLETE(entry.getKey(), true)); virtualHost.getAttainedChildFromAddress(Queue.class, entry.getKey()).completeRecovery(); } for (Queue<?> q : virtualHost.getChildren(Queue.class)) { if (!queueRecoveries.containsKey(q.getName())) { q.completeRecovery(); } } storeReader.visitDistributedTransactions(new DistributedTransactionVisitor(virtualHost, store, eventLogger, logSubject, recoveredMessages, unusedMessages)); for (StoredMessage<?> m : unusedMessages.values()) { _logger.warn("Message id " + m.getMessageNumber() + " in store, but not in any queue - removing...."); m.remove(); } eventLogger.message(logSubject, TransactionLogMessages.RECOVERY_COMPLETE(null, false)); eventLogger.message(logSubject, MessageStoreMessages.RECOVERED(recoveredMessages.size() - unusedMessages.size())); eventLogger.message(logSubject, MessageStoreMessages.RECOVERY_COMPLETE()); return Futures.immediateFuture(null); }
From source file:org.apache.qpid.server.security.NonJavaKeyStoreImpl.java
@StateTransition(currentState = { State.UNINITIALIZED, State.ERRORED }, desiredState = State.ACTIVE) protected ListenableFuture<Void> doActivate() { initializeExpiryChecking();//from w ww . j a v a 2 s . co m setState(State.ACTIVE); return Futures.immediateFuture(null); }
From source file:com.microsoft.azure.keyvault.cryptography.RsaKey.java
@Override public ListenableFuture<Triple<byte[], byte[], String>> encryptAsync(final byte[] plaintext, final byte[] iv, final byte[] authenticationData, final String algorithm) throws NoSuchAlgorithmException { if (plaintext == null) { throw new IllegalArgumentException("plaintext"); }//from www .ja v a 2 s. co m // Interpret the requested algorithm String algorithmName = (Strings.isNullOrWhiteSpace(algorithm) ? getDefaultEncryptionAlgorithm() : algorithm); Algorithm baseAlgorithm = AlgorithmResolver.Default.get(algorithmName); if (baseAlgorithm == null || !(baseAlgorithm instanceof AsymmetricEncryptionAlgorithm)) { throw new NoSuchAlgorithmException(algorithmName); } AsymmetricEncryptionAlgorithm algo = (AsymmetricEncryptionAlgorithm) baseAlgorithm; ICryptoTransform transform; ListenableFuture<Triple<byte[], byte[], String>> result; try { transform = algo.CreateEncryptor(_keyPair, _provider); result = Futures.immediateFuture(Triple.of(transform.doFinal(plaintext), (byte[]) null, algorithmName)); } catch (Exception e) { result = Futures.immediateFailedFuture(e); } return result; }
From source file:org.opendaylight.netvirt.natservice.rpcservice.NatRpcServiceImpl.java
@Override public Future<RpcResult<GetNatTranslationsOnVpnOutput>> getNatTranslationsOnVpn( GetNatTranslationsOnVpnInput input) { RpcResultBuilder<GetNatTranslationsOnVpnOutput> rpcResultBuilder = null; List<Uuid> routerUuidList = NatUtil.getRouterUuIdsForVpn(dataBroker, input.getVpnUuid()); if (routerUuidList == null || routerUuidList.isEmpty()) { String errMsg = String.format("404 Not Found - Invalid external vpn {%s} provided", input.getVpnUuid().getValue()); rpcResultBuilder = RpcResultBuilder.<GetNatTranslationsOnVpnOutput>failed() .withError(RpcError.ErrorType.APPLICATION, errMsg); return Futures.immediateFuture(rpcResultBuilder.build()); }//www. j a v a 2 s.c o m List<RouterNat> natRouterList = new ArrayList<RouterNat>(); for (Uuid routerUuid : routerUuidList) { long routerId = NatUtil.getVpnId(dataBroker, routerUuid.getValue()); if (routerId == NatConstants.INVALID_ID) { LOG.warn("NAT Service: Invalid RouterID found {}", routerId); continue; } natRouterList.addAll(constructNatInformation(routerUuid, routerId)); } GetNatTranslationsOnVpnOutputBuilder output = new GetNatTranslationsOnVpnOutputBuilder() .setRouterNat(natRouterList); rpcResultBuilder = RpcResultBuilder.success(); rpcResultBuilder.withResult(output.build()); return Futures.immediateFuture(rpcResultBuilder.build()); }
From source file:com.google.gapid.server.Client.java
public ListenableFuture<Stringtable.StringTable> getStringTable(Stringtable.Info info) { LOG.log(FINE, "RPC->getStringTable({0})", info); return Futures.transformAsync( client.getStringTable(GetStringTableRequest.newBuilder().setTable(info).build()), in -> Futures.immediateFuture(throwIfError(in.getTable(), in.getError()))); }
From source file:org.opendaylight.coretutorials.clustering.singleton.hs.data.manager.SampleDeviceDataContext.java
@Override public ListenableFuture<Void> closeServiceInstance() { if (listenerReg != null) { listenerReg.close();//from w w w. j a va 2s . co m listenerReg = null; } return Futures.immediateFuture(null); }
From source file:org.apache.qpid.server.configuration.updater.TaskExecutorImpl.java
private <T, E extends Exception> ListenableFuture<T> submitWrappedTask(TaskLoggingWrapper<T, E> task) throws E { checkState(task);/*www .j a va 2s . c o m*/ if (isTaskExecutorThread()) { if (LOGGER.isTraceEnabled()) { LOGGER.trace("Running {} immediately", task); } T result = task.execute(); return Futures.immediateFuture(result); } else { if (LOGGER.isTraceEnabled()) { LOGGER.trace("Submitting {} to executor {}", task, _name); } return _executor.submit(new CallableWrapper<>(task)); } }
From source file:com.google.api.server.spi.config.datastore.testing.FakeAsyncMemcacheService.java
@Override public Future<Void> put(Object key, Object value, Expiration expires) { memcacheService.put(key, value, expires); return Futures.immediateFuture(null); }
From source file:eu.point.bootstrapping.impl.BootstrappingServiceImpl.java
/** * The method which configures a switch manually, without any resource management function. * * @param input The input to configure a switch manually, including the switch id, port id, and link id. * @return It returns a void future result. * @see ConfigureSwitchInput//from w ww .j a v a2 s. c o m */ @Override public Future<RpcResult<Void>> configureSwitch(ConfigureSwitchInput input) { IcnIdConfigurator.getInstance().addLinkManually(input.getSwitchId(), input.getPortId(), input.getLinkId()); return Futures.immediateFuture(RpcResultBuilder.<Void>success().build()); }
From source file:org.apache.rave.opensocial.service.impl.DefaultAppDataService.java
/** * Deletes data for the specified user and group. * * @param userId The user//from www. j ava 2 s . co m * @param groupId The group * @param appId The application ID * @param fields The fields to delete - empty set implies all fields * @param token The security token * @return an error if one occurs */ @Override public Future<Void> deletePersonData(UserId userId, GroupId groupId, String appId, Set<String> fields, SecurityToken token) throws ProtocolException { //make sure the request conforms to the OpenSocial visibility rules String personId = validateWriteRequest(userId, groupId, appId, token); //lock on this user and this application to avoid any potential concurrency issues Lock lock = getApplicationDataLock(personId, appId); try { lock.lock(); //get the application data for this user and application ApplicationData applicationData = applicationDataRepository.getApplicationData(personId, appId); //if there is no data, there's nothing to delete, so we're done... if (applicationData == null || applicationData.getData() == null) { return Futures.immediateFuture(null); } //remove the fields specified -- empty field set implies remove all, otherwise remove just the fields specified Map<String, Object> data = applicationData.getData(); if (fields == null || fields.size() == 0) { data.clear(); } else { data.keySet().removeAll(fields); } //save our changes and return applicationDataRepository.save(applicationData); } finally { lock.unlock(); lockService.returnLock(lock); } return Futures.immediateFuture(null); }