X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fmd-sal%2Fsal-dom-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fdom%2Fstore%2Fimpl%2Ftree%2FTreeNodeUtils.java;h=732352dd34bbf974b6d897984d9b731c72e5e591;hb=7206d41640f98943c64da8f8486e5205b279c943;hp=b2ec119ca942ac33ba2b7fbdecbaf26ee5831ceb;hpb=f2439a364be2129ab6d50eb15ad2df1a0ecac21f;p=controller.git diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/TreeNodeUtils.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/TreeNodeUtils.java index b2ec119ca9..732352dd34 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/TreeNodeUtils.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/TreeNodeUtils.java @@ -21,7 +21,10 @@ import com.google.common.base.Preconditions; import com.google.common.base.Predicate; import com.google.common.base.Predicates; -public class TreeNodeUtils { +public final class TreeNodeUtils { + private TreeNodeUtils() { + throw new UnsupportedOperationException("Utility class should not be instantiated"); + } /** * Finds a node in tree @@ -40,7 +43,6 @@ public class TreeNodeUtils { return current; } - public static > T findNodeChecked(final T tree, final InstanceIdentifier path) { T current = tree; List nested = new ArrayList<>(path.getPath().size()); @@ -80,11 +82,17 @@ public class TreeNodeUtils { final InstanceIdentifier currentPath = new InstanceIdentifier(path.getPath().subList(0, nesting)); return new SimpleEntry(currentPath,current.get()); } - // Nesting minus one is safe, since current is allways present when nesting = 0 - // so this prat of code is never triggered, in cases nesting == 0; + + /* + * Subtracting 1 from nesting level at this point is safe, because we + * cannot reach here with nesting == 0: that would mean the above check + * for current.isPresent() failed, which it cannot, as current is always + * present. At any rate we check state just to be on the safe side. + */ + Preconditions.checkState(nesting > 0); final InstanceIdentifier parentPath = new InstanceIdentifier(path.getPath().subList(0, nesting - 1)); - return new SimpleEntry(parentPath,parent.get()); + return new SimpleEntry(parentPath,parent.get()); } public static > Optional getChild(final Optional parent,final PathArgument child) {