From 558e8c8d95223c828ff40fe4e8e41daf41f5f7de Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Fri, 30 Dec 2016 12:57:01 +0100 Subject: [PATCH] BUG-7464: Fix MainNode.cachedSize() These classes are not visible to the outside world, hence should have package visibility. It should also take TrieMap as an argument, thus eliminating the need for a cast in CNode's implementation. Change-Id: I3995385fe8cb41bd0134ee1317c466cc1f2baaa9 Signed-off-by: Robert Varga --- .../main/java/org/opendaylight/yangtools/triemap/CNode.java | 4 ++-- .../java/org/opendaylight/yangtools/triemap/FailedNode.java | 2 +- .../main/java/org/opendaylight/yangtools/triemap/LNode.java | 2 +- .../java/org/opendaylight/yangtools/triemap/MainNode.java | 2 +- .../main/java/org/opendaylight/yangtools/triemap/TNode.java | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/CNode.java b/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/CNode.java index de389bb1b7..4a650d3de1 100644 --- a/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/CNode.java +++ b/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/CNode.java @@ -29,13 +29,13 @@ final class CNode extends CNodeBase { // this should only be called from within read-only snapshots @Override - public int cachedSize(final Object ct) { + int cachedSize(final TrieMap ct) { final int currsz = READ_SIZE(); if (currsz != -1) { return currsz; } - final int sz = computeSize((TrieMap) ct); + final int sz = computeSize(ct); while (READ_SIZE () == -1) { CAS_SIZE (-1, sz); } diff --git a/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/FailedNode.java b/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/FailedNode.java index e562c41859..0bc06acbcf 100644 --- a/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/FailedNode.java +++ b/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/FailedNode.java @@ -29,7 +29,7 @@ final class FailedNode extends MainNode { } @Override - public int cachedSize(final Object ct) { + int cachedSize(final TrieMap ct) { throw new UnsupportedOperationException(); } diff --git a/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/LNode.java b/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/LNode.java index 3aad0d70c2..a0570f5e02 100644 --- a/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/LNode.java +++ b/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/LNode.java @@ -52,7 +52,7 @@ final class LNode extends MainNode { } @Override - public int cachedSize(final Object ct) { + int cachedSize(final TrieMap ct) { return listmap.size(); } diff --git a/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/MainNode.java b/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/MainNode.java index 0ae45ee7e5..8d28b4f82e 100644 --- a/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/MainNode.java +++ b/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/MainNode.java @@ -23,7 +23,7 @@ abstract class MainNode extends BasicNode { public volatile MainNode prev = null; - public abstract int cachedSize (Object ct); + abstract int cachedSize(TrieMap ct); public boolean CAS_PREV (final MainNode oldval, final MainNode nval) { return updater.compareAndSet (this, oldval, nval); diff --git a/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/TNode.java b/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/TNode.java index 28612dcfe6..27a925cc8e 100644 --- a/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/TNode.java +++ b/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/TNode.java @@ -47,7 +47,7 @@ final class TNode extends MainNode implements KVNode { } @Override - public int cachedSize(final Object ct) { + int cachedSize(final TrieMap ct) { return 1; } -- 2.36.6