From: Michael Vorburger Date: Tue, 21 Nov 2017 17:13:06 +0000 (+0100) Subject: Tracing Transaction wrappers delegate equals/hashCode/equals X-Git-Tag: release/oxygen~54 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=e19fa28482a49f7fa07583d57973d32c4ebea61b 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 --- 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; + } + }