X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-dom-adapter%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fdom%2Fadapter%2FBindingDOMDataTreeCommitCohortRegistryAdapter.java;h=c31e30463fadee3ec271da875593afeb4ff505c7;hb=5f8a373c07549a901b70595067dd11c161d0c4e4;hp=6f9159a47c1e553bad2dcacc3e0d21514b8dc634;hpb=c241dcfa5322ac10810a1068ccd2eb57f6f2dbb2;p=mdsal.git diff --git a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMDataTreeCommitCohortRegistryAdapter.java b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMDataTreeCommitCohortRegistryAdapter.java index 6f9159a47c..c31e30463f 100644 --- a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMDataTreeCommitCohortRegistryAdapter.java +++ b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMDataTreeCommitCohortRegistryAdapter.java @@ -5,49 +5,30 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.mdsal.binding.dom.adapter; import org.opendaylight.mdsal.binding.api.DataTreeCommitCohort; import org.opendaylight.mdsal.binding.api.DataTreeCommitCohortRegistry; import org.opendaylight.mdsal.binding.api.DataTreeIdentifier; -import org.opendaylight.mdsal.dom.api.DOMDataTreeCommitCohortRegistration; import org.opendaylight.mdsal.dom.api.DOMDataTreeCommitCohortRegistry; -import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier; -import org.opendaylight.yangtools.concepts.ObjectRegistration; +import org.opendaylight.yangtools.concepts.Registration; +import org.opendaylight.yangtools.yang.binding.Augmentation; import org.opendaylight.yangtools.yang.binding.DataObject; -public class BindingDOMDataTreeCommitCohortRegistryAdapter +final class BindingDOMDataTreeCommitCohortRegistryAdapter extends AbstractBindingAdapter implements DataTreeCommitCohortRegistry { - - BindingDOMDataTreeCommitCohortRegistryAdapter(final BindingToNormalizedNodeCodec codec, + BindingDOMDataTreeCommitCohortRegistryAdapter(final AdapterContext codec, final DOMDataTreeCommitCohortRegistry registry) { super(codec, registry); } - static DataTreeCommitCohortRegistry from(final BindingToNormalizedNodeCodec codec, - final DOMDataTreeCommitCohortRegistry registry) { - return new BindingDOMDataTreeCommitCohortRegistryAdapter(codec, registry); - } - @Override - public > ObjectRegistration registerCommitCohort( - final DataTreeIdentifier subtree, final T cohort) { - final BindingDOMDataTreeCommitCohortAdapter adapter = - new BindingDOMDataTreeCommitCohortAdapter<>(getCodec(), cohort); - final DOMDataTreeIdentifier domPath = getCodec().toDOMDataTreeIdentifier(subtree); - final DOMDataTreeCommitCohortRegistration domReg = getDelegate().registerCommitCohort(domPath, adapter); - return new ObjectRegistration() { - - @Override - public T getInstance() { - return cohort; - } - - @Override - public void close() { - domReg.close(); - } - }; + public Registration registerCommitCohort(final DataTreeIdentifier subtree, + final DataTreeCommitCohort cohort) { + final var target = subtree.path().getTargetType(); + final var adapter = new BindingDOMDataTreeCommitCohortAdapter<>(adapterContext(), cohort, + Augmentation.class.isAssignableFrom(target) ? target : null); + final var domPath = currentSerializer().toDOMDataTreeIdentifier(subtree); + return getDelegate().registerCommitCohort(domPath, adapter); } }