summary |
shortlog |
log |
commit | commitdiff |
review |
tree
raw |
patch |
inline | side by side (from parent 1:
876289d)
Change-Id: Ic7bcbc249bb35018561d28d757dadca8509b933c
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction;
import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain;
import org.opendaylight.yangtools.concepts.Delegator;
import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction;
import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain;
import org.opendaylight.yangtools.concepts.Delegator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
-class BindingTranslatedTransactionChain implements BindingTransactionChain, Delegator<DOMTransactionChain> {
+final class BindingTranslatedTransactionChain implements BindingTransactionChain, Delegator<DOMTransactionChain> {
+
+ private static final Logger LOG = LoggerFactory.getLogger(BindingTranslatedTransactionChain.class);
private final DOMTransactionChain delegate;
private final BindingToNormalizedNodeCodec codec;
private final DOMTransactionChain delegate;
private final BindingToNormalizedNodeCodec codec;
- protected CheckedFuture<Void, TransactionCommitFailedException> listenForFailure(
+ private CheckedFuture<Void, TransactionCommitFailedException> listenForFailure(
final WriteTransaction tx, CheckedFuture<Void, TransactionCommitFailedException> future) {
Futures.addCallback(future, new FutureCallback<Void>() {
@Override
final WriteTransaction tx, CheckedFuture<Void, TransactionCommitFailedException> future) {
Futures.addCallback(future, new FutureCallback<Void>() {
@Override
- protected void failTransactionChain(WriteTransaction tx, Throwable t) {
- // We asume correct state change for underlaying transaction
- // chain, so we are not changing any of our internal state
- // to mark that we failed.
+ private void failTransactionChain(WriteTransaction tx, Throwable t) {
+ /*
+ * We asume correct state change for underlaying transaction
+ *
+ * chain, so we are not changing any of our internal state
+ * to mark that we failed.
+ */
this.delegatingListener.onTransactionChainFailed(this, tx, t);
}
this.delegatingListener.onTransactionChainFailed(this, tx, t);
}
@Override
public void onTransactionChainFailed(final TransactionChain<?, ?> chain,
final AsyncTransaction<?, ?> transaction, final Throwable cause) {
@Override
public void onTransactionChainFailed(final TransactionChain<?, ?> chain,
final AsyncTransaction<?, ?> transaction, final Throwable cause) {
+ Preconditions.checkState(delegate.equals(chain),
+ "Illegal state - listener for %s was invoked for incorrect chain %s.", delegate, chain);
/*
* Intentionally NOOP, callback for failure, since we
/*
* Intentionally NOOP, callback for failure, since we
- * are also listening on each transaction for failure.
+ * are also listening on each transaction future for failure,
+ * in order to have reference to Binding Transaction (which was seen by client
+ * of this transaction chain), instead of DOM transaction
+ * which is known only to this chain, binding transaction implementation
+ * and underlying transaction chain.
- * by listening on submit future for Binding transaction
- * in order to provide Binding transaction (which was seen by client
- * of this transaction chain, instead of
- */
+ */
+ LOG.debug("Transaction chain {} failed. Failed DOM Transaction {}",this,transaction,cause);