X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=dom%2Fmdsal-dom-inmemory-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fdom%2Fstore%2Finmemory%2FModificationContextNodeBuilder.java;h=b35aae1903be2fff354af872bc991620e484b3f9;hb=f17c5ab39d43de758c3f3c7bd642d7fa436a6983;hp=a98205df020b56a5d1d7af78357866b7f71ac223;hpb=7723a349513ae47974fa014586e887cc731f69ce;p=mdsal.git diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ModificationContextNodeBuilder.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ModificationContextNodeBuilder.java index a98205df02..b35aae1903 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ModificationContextNodeBuilder.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ModificationContextNodeBuilder.java @@ -8,16 +8,17 @@ package org.opendaylight.mdsal.dom.store.inmemory; +import com.google.common.base.Preconditions; import java.util.HashMap; import java.util.Map; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; -abstract class ModificationContextNodeBuilder { +abstract class ModificationContextNodeBuilder { private final Map interiorChildren = new HashMap<>(); private final Map boundaryChildren = new HashMap<>(); - protected InteriorNodeBuilder getInterior(final PathArgument arg) { + protected ModificationContextNodeBuilder getInterior(final PathArgument arg) { InteriorNodeBuilder potential = interiorChildren.get(arg); if (potential == null) { potential = new InteriorNodeBuilder(arg); @@ -30,30 +31,25 @@ abstract class ModificationContextNodeBuilder buildChildren() { final Map builtChildren = new HashMap<>(boundaryChildren); for (InteriorNodeBuilder interiorNode : interiorChildren.values()) { WriteableModificationNode builded = interiorNode.build(); builtChildren.put(builded.getIdentifier(), builded); } - return build(builtChildren); + return builtChildren; } - abstract T build(Map children); - - private static class InteriorNodeBuilder extends ModificationContextNodeBuilder { - + private static final class InteriorNodeBuilder extends ModificationContextNodeBuilder { private final PathArgument arg; InteriorNodeBuilder(final PathArgument arg) { - this.arg = arg; + this.arg = Preconditions.checkNotNull(arg); } - @Override - WritableInteriorNode build(final Map children) { - return new WritableInteriorNode(arg, children); + WritableInteriorNode build() { + return new WritableInteriorNode(arg, buildChildren()); } } - } \ No newline at end of file