public class DataBrokerFailuresImpl extends org.opendaylight.controller.md.sal.binding.api.ForwardingDataBroker implements DataBrokerFailures
If you use this from a Guice-based component test, consider just binding it
via the DataBrokerFailuresModule
.
Constructor and Description |
---|
DataBrokerFailuresImpl(org.opendaylight.controller.md.sal.binding.api.DataBroker delegate) |
Modifier and Type | Method and Description |
---|---|
protected org.opendaylight.controller.md.sal.binding.api.DataBroker |
delegate() |
void |
failButSubmitsAnyways()
To simulate scenarios where even though the transaction throws a
TransactionCommitFailedException (caused by
akka.pattern.AskTimeoutException) it eventually succeeds.
|
void |
failReads(int howManyTimes,
org.opendaylight.controller.md.sal.common.api.data.ReadFailedException exception)
Fails N future reads.
|
void |
failReads(org.opendaylight.controller.md.sal.common.api.data.ReadFailedException exception)
Fails all future reads.
|
void |
failSubmits(int howManyTimes,
org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException exception)
Fails N future Transaction submits.
|
void |
failSubmits(org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException exception)
Fails all future Transaction submits.
|
<T extends org.opendaylight.yangtools.yang.binding.DataObject> |
handleRead(BiFunction<org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType,org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T>,com.google.common.util.concurrent.CheckedFuture<com.google.common.base.Optional<T>,org.opendaylight.controller.md.sal.common.api.data.ReadFailedException>> readMethod,
org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path) |
org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction |
newReadWriteTransaction() |
org.opendaylight.controller.md.sal.binding.api.WriteTransaction |
newWriteOnlyTransaction() |
void |
unfailReads()
|
void |
unfailSubmits()
|
public DataBrokerFailuresImpl(org.opendaylight.controller.md.sal.binding.api.DataBroker delegate)
protected org.opendaylight.controller.md.sal.binding.api.DataBroker delegate()
delegate
in class org.opendaylight.controller.md.sal.binding.api.ForwardingDataBroker
public void failReads(org.opendaylight.controller.md.sal.common.api.data.ReadFailedException exception)
DataBrokerFailures
failReads
in interface DataBrokerFailures
exception
- a ReadFailedException
to throw from a
ReadTransaction.read(LogicalDatastoreType, InstanceIdentifier)
call.public void failReads(int howManyTimes, org.opendaylight.controller.md.sal.common.api.data.ReadFailedException exception)
DataBrokerFailures
failReads
in interface DataBrokerFailures
howManyTimes
- how many times to throw the passed exception, until it resets.exception
- a ReadFailedException
to throw from a
ReadTransaction.read(LogicalDatastoreType, InstanceIdentifier)
call.public void failSubmits(org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException exception)
DataBrokerFailures
failSubmits
in interface DataBrokerFailures
exception
- an Exception to throw from a AsyncWriteTransaction.submit()
(also AsyncWriteTransaction.submit()
) methodpublic void failSubmits(int howManyTimes, org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException exception)
DataBrokerFailures
failSubmits
in interface DataBrokerFailures
howManyTimes
- how many times to throw the passed exception, until it resetsexception
- an Exception to throw from a AsyncWriteTransaction.submit()
(also AsyncWriteTransaction.submit()
) methodpublic void unfailReads()
DataBrokerFailures
DataBrokerFailures.failReads(ReadFailedException)
or DataBrokerFailures.failReads(int, ReadFailedException)
.unfailReads
in interface DataBrokerFailures
public void unfailSubmits()
DataBrokerFailures
DataBrokerFailures.failSubmits(TransactionCommitFailedException)
or
DataBrokerFailures.failSubmits(int, TransactionCommitFailedException)
.unfailSubmits
in interface DataBrokerFailures
public void failButSubmitsAnyways()
DataBrokerFailures
failButSubmitsAnyways
in interface DataBrokerFailures
public <T extends org.opendaylight.yangtools.yang.binding.DataObject> com.google.common.util.concurrent.CheckedFuture<com.google.common.base.Optional<T>,org.opendaylight.controller.md.sal.common.api.data.ReadFailedException> handleRead(BiFunction<org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType,org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T>,com.google.common.util.concurrent.CheckedFuture<com.google.common.base.Optional<T>,org.opendaylight.controller.md.sal.common.api.data.ReadFailedException>> readMethod, org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path)
public org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction newReadWriteTransaction()
newReadWriteTransaction
in interface org.opendaylight.controller.md.sal.binding.api.DataBroker
newReadWriteTransaction
in interface org.opendaylight.controller.md.sal.binding.api.TransactionFactory
newReadWriteTransaction
in interface org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker<org.opendaylight.yangtools.yang.binding.InstanceIdentifier<?>,org.opendaylight.yangtools.yang.binding.DataObject>
newReadWriteTransaction
in interface org.opendaylight.controller.md.sal.common.api.data.AsyncDataTransactionFactory<org.opendaylight.yangtools.yang.binding.InstanceIdentifier<?>,org.opendaylight.yangtools.yang.binding.DataObject>
newReadWriteTransaction
in class org.opendaylight.controller.md.sal.binding.api.ForwardingDataBroker
public org.opendaylight.controller.md.sal.binding.api.WriteTransaction newWriteOnlyTransaction()
newWriteOnlyTransaction
in interface org.opendaylight.controller.md.sal.binding.api.DataBroker
newWriteOnlyTransaction
in interface org.opendaylight.controller.md.sal.binding.api.TransactionFactory
newWriteOnlyTransaction
in interface org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker<org.opendaylight.yangtools.yang.binding.InstanceIdentifier<?>,org.opendaylight.yangtools.yang.binding.DataObject>
newWriteOnlyTransaction
in interface org.opendaylight.controller.md.sal.common.api.data.AsyncDataTransactionFactory<org.opendaylight.yangtools.yang.binding.InstanceIdentifier<?>,org.opendaylight.yangtools.yang.binding.DataObject>
newWriteOnlyTransaction
in class org.opendaylight.controller.md.sal.binding.api.ForwardingDataBroker
Copyright © 2019 OpenDaylight. All rights reserved.