From e19fa28482a49f7fa07583d57973d32c4ebea61b Mon Sep 17 00:00:00 2001 From: Michael Vorburger Date: Tue, 21 Nov 2017 18:13:06 +0100 Subject: [PATCH] Tracing Transaction wrappers delegate equals/hashCode/equals to fix IllegalStateException due to DOMBrokerTransactionChain !equals TracingTransactionChain (only affected odl-mdsal-trace for trace:transaction anyway) see https://jira.opendaylight.org/browse/CONTROLLER-1792 Change-Id: I079ff9e99edfd55bec2acbe1984a5c2b7667c2de Signed-off-by: Michael Vorburger --- .../impl/AbstractTracingWriteTransaction.java | 17 +++++++++++++++++ .../dom/impl/TracingReadOnlyTransaction.java | 18 ++++++++++++++++++ .../dom/impl/TracingTransactionChain.java | 19 +++++++++++++++++++ 3 files changed, 54 insertions(+) diff --git a/opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/AbstractTracingWriteTransaction.java b/opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/AbstractTracingWriteTransaction.java index a06ee5edfe..319f214dc8 100644 --- a/opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/AbstractTracingWriteTransaction.java +++ b/opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/AbstractTracingWriteTransaction.java @@ -113,4 +113,21 @@ abstract class AbstractTracingWriteTransaction implements DOMDataWriteTransactio public Object getIdentifier() { return delegate.getIdentifier(); } + + // https://jira.opendaylight.org/browse/CONTROLLER-1792 + + @Override + public final boolean equals(Object object) { + return object == this || delegate.equals(object); + } + + @Override + public final int hashCode() { + return delegate.hashCode(); + } + + @Override + public final String toString() { + return getClass().getName() + "; delegate=" + delegate; + } } diff --git a/opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingReadOnlyTransaction.java b/opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingReadOnlyTransaction.java index 6bc6d66493..e275880fc2 100644 --- a/opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingReadOnlyTransaction.java +++ b/opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingReadOnlyTransaction.java @@ -53,4 +53,22 @@ class TracingReadOnlyTransaction super.removeFromTrackedRegistry(); } + + // https://jira.opendaylight.org/browse/CONTROLLER-1792 + + @Override + public final boolean equals(Object object) { + return object == this || delegate.equals(object); + } + + @Override + public final int hashCode() { + return delegate.hashCode(); + } + + @Override + public final String toString() { + return getClass().getName() + "; delegate=" + delegate; + } + } diff --git a/opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingTransactionChain.java b/opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingTransactionChain.java index bb65031843..b6f2fe0f9b 100644 --- a/opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingTransactionChain.java +++ b/opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingTransactionChain.java @@ -72,4 +72,23 @@ class TracingTransactionChain extends AbstractCloseTracked getWriteTransactionsRegistry() { return writeTransactionsRegistry; } + + + // https://jira.opendaylight.org/browse/CONTROLLER-1792 + + @Override + public final boolean equals(Object object) { + return object == this || delegate.equals(object); + } + + @Override + public final int hashCode() { + return delegate.hashCode(); + } + + @Override + public final String toString() { + return getClass().getName() + "; delegate=" + delegate; + } + } -- 2.36.6