X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=binding%2Fmdsal-binding-dom-adapter%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fdom%2Fadapter%2FBindingDOMWriteTransactionAdapter.java;h=35edcd0bf5e6f07de807139d184510506aaa4d30;hb=191052b2c293127f62f39802da76151653cf369b;hp=8f1e639436c9e3afaa3cddb5a60f5bcea14539d2;hpb=e8046bf8787da3e07b463c5729bf0137717714f0;p=mdsal.git diff --git a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMWriteTransactionAdapter.java b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMWriteTransactionAdapter.java index 8f1e639436..35edcd0bf5 100644 --- a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMWriteTransactionAdapter.java +++ b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMWriteTransactionAdapter.java @@ -23,8 +23,8 @@ import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; class BindingDOMWriteTransactionAdapter extends AbstractForwardedTransaction implements WriteTransaction { - BindingDOMWriteTransactionAdapter(final T delegateTx, final BindingToNormalizedNodeCodec codec) { - super(delegateTx, codec); + BindingDOMWriteTransactionAdapter(final AdapterContext adapterContext, final T delegateTx) { + super(adapterContext, delegateTx); } @Override @@ -37,9 +37,10 @@ class BindingDOMWriteTransactionAdapter e @Override public final void mergeParentStructurePut(final LogicalDatastoreType store, final InstanceIdentifier path, final U data) { - final Entry> normalized = toNormalized("put", - path, data); - ensureParentsByMerge(store, normalized.getKey(), path); + final CurrentAdapterSerializer serializer = adapterContext().currentSerializer(); + final Entry> normalized = toNormalized(serializer, "put", path, + data); + ensureParentsByMerge(serializer, store, normalized.getKey(), path); getDelegate().put(store, normalized.getKey(), normalized.getValue()); } @@ -53,17 +54,17 @@ class BindingDOMWriteTransactionAdapter e @Override public final void mergeParentStructureMerge(final LogicalDatastoreType store, final InstanceIdentifier path, final U data) { - final Entry> normalized = toNormalized("merge", path, data); - ensureParentsByMerge(store, normalized.getKey(), path); + final CurrentAdapterSerializer serializer = adapterContext().currentSerializer(); + final Entry> normalized = toNormalized(serializer, "merge", path, + data); + ensureParentsByMerge(serializer, store, normalized.getKey(), path); getDelegate().merge(store, normalized.getKey(), normalized.getValue()); } @Override public final void delete(final LogicalDatastoreType store, final InstanceIdentifier path) { checkArgument(!path.isWildcarded(), "Cannot delete wildcarded path %s", path); - - final YangInstanceIdentifier normalized = getCodec().toYangInstanceIdentifierBlocking(path); - getDelegate().delete(store, normalized); + getDelegate().delete(store, adapterContext().currentSerializer().toYangInstanceIdentifier(path)); } @Override @@ -84,19 +85,25 @@ class BindingDOMWriteTransactionAdapter e * @param domPath an instance of YangInstanceIdentifier * @param path an instance of InstanceIdentifier */ - private void ensureParentsByMerge(final LogicalDatastoreType store, final YangInstanceIdentifier domPath, - final InstanceIdentifier path) { + private void ensureParentsByMerge(final CurrentAdapterSerializer serializer, final LogicalDatastoreType store, + final YangInstanceIdentifier domPath, final InstanceIdentifier path) { final YangInstanceIdentifier parentPath = domPath.getParent(); if (parentPath != null && !parentPath.isEmpty()) { final NormalizedNode parentNode = ImmutableNodes.fromInstanceId( - getCodec().runtimeContext().getSchemaContext(), parentPath); + serializer.getRuntimeContext().getSchemaContext(), parentPath); getDelegate().merge(store, YangInstanceIdentifier.create(parentNode.getIdentifier()), parentNode); } } private Entry> toNormalized( final String operation, final InstanceIdentifier path, final U data) { + return toNormalized(adapterContext().currentSerializer(), operation, path, data); + } + + private static Entry> toNormalized( + final CurrentAdapterSerializer serializer, final String operation, final InstanceIdentifier path, + final U data) { checkArgument(!path.isWildcarded(), "Cannot %s data into wildcarded path %s", operation, path); - return getCodec().toNormalizedNode(path, data); + return serializer.toNormalizedNode(path, data); } }