package org.opendaylight.mdsal.common.api;
import com.google.common.util.concurrent.FluentFuture;
-import com.google.common.util.concurrent.Futures;
import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.opendaylight.yangtools.util.concurrent.FluentFutures;
/**
* Empty commit info singleton. Useful when {@link AsyncWriteTransaction#commit()} has nothing more to say.
@NonNullByDefault
final class EmptyCommitInfo implements CommitInfo {
static final CommitInfo INSTANCE = new EmptyCommitInfo();
- static final FluentFuture<CommitInfo> FLUENT_INSTANCE = FluentFuture.from(Futures.immediateFuture(INSTANCE));
+ static final FluentFuture<CommitInfo> FLUENT_INSTANCE = FluentFutures.immediateFluentFuture(INSTANCE);
private EmptyCommitInfo() {
// Hidden
import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort;
import org.opendaylight.mdsal.dom.spi.store.DOMStoreWriteTransaction;
+import org.opendaylight.yangtools.util.concurrent.FluentFutures;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
import org.slf4j.Logger;
ret = impl.commit(this, cohorts);
} catch (RuntimeException e) {
- ret = FluentFuture.from(Futures.immediateFailedFuture(
- TransactionCommitFailedExceptionMapper.COMMIT_ERROR_MAPPER.apply(e)));
+ ret = FluentFutures.immediateFailedFluentFuture(
+ TransactionCommitFailedExceptionMapper.COMMIT_ERROR_MAPPER.apply(e));
}
FUTURE_UPDATER.lazySet(this, ret);
return ret;
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-
package org.opendaylight.mdsal.dom.broker;
import com.google.common.base.Preconditions;
import com.google.common.util.concurrent.FluentFuture;
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.ListeningExecutorService;
import java.util.Collection;
import java.util.Map;
import org.opendaylight.mdsal.dom.spi.store.DOMStore;
import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort;
import org.opendaylight.yangtools.util.DurationStatisticsTracker;
+import org.opendaylight.yangtools.util.concurrent.FluentFutures;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Preconditions.checkArgument(cohorts != null, "Cohorts must not be null.");
LOG.debug("Tx: {} is submitted for execution.", transaction.getIdentifier());
- ListenableFuture<CommitInfo> commitFuture = null;
try {
- commitFuture = executor.submit(new CommitCoordinationTask(transaction, cohorts,
- commitStatsTracker));
+ return FluentFuture.from(executor.submit(
+ new CommitCoordinationTask(transaction, cohorts, commitStatsTracker)));
} catch (RejectedExecutionException e) {
- LOG.error("The commit executor's queue is full - submit task was rejected. \n"
- + executor, e);
- return FluentFuture.from(Futures.immediateFailedFuture(
- new TransactionCommitFailedException(
- "Could not submit the commit task - the commit queue capacity has been exceeded.", e)));
+ LOG.error("The commit executor's queue is full - submit task was rejected. \n{}", executor, e);
+ return FluentFutures.immediateFailedFluentFuture(new TransactionCommitFailedException(
+ "Could not submit the commit task - the commit queue capacity has been exceeded.", e));
}
-
- return FluentFuture.from(commitFuture);
}
}
import com.google.common.base.Preconditions;
import com.google.common.util.concurrent.FluentFuture;
import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.MoreExecutors;
import java.util.Collections;
import java.util.EnumMap;
}
// First we need to close cursors
cursorMap.values().forEach(DOMDataTreeWriteCursor::close);
- final ListenableFuture<List<Void>> aggregatedSubmit = Futures.allAsList(
+ final FluentFuture<List<Void>> aggregatedSubmit = FluentFuture.from(Futures.allAsList(
transactionMap.get(LogicalDatastoreType.CONFIGURATION).submit(),
- transactionMap.get(LogicalDatastoreType.OPERATIONAL).submit());
+ transactionMap.get(LogicalDatastoreType.OPERATIONAL).submit()));
// Now we can close producers and mark transaction as finished
closeProducers();
finished = true;
- return FluentFuture.from(Futures.transform(aggregatedSubmit,
- unused -> CommitInfo.empty(), MoreExecutors.directExecutor()));
+ return aggregatedSubmit.transform(unused -> CommitInfo.empty(), MoreExecutors.directExecutor());
}
@Override