X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fbinding%2Fimpl%2FBindingToNormalizedNodeCodec.java;h=35ebe76499f51e6bb5b629c4cf42a944fe727ea8;hp=f885b323e6c04c34d23356c50722c24dfc755ac7;hb=0afde20cdabcedb2bd8ddd1d59d12d3a5669600b;hpb=f9a5557ea91bc6c877453583e17adf1606b58290 diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/BindingToNormalizedNodeCodec.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/BindingToNormalizedNodeCodec.java index f885b323e6..35ebe76499 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/BindingToNormalizedNodeCodec.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/BindingToNormalizedNodeCodec.java @@ -10,6 +10,7 @@ package org.opendaylight.controller.md.sal.binding.impl; import java.util.AbstractMap.SimpleEntry; import java.util.Map.Entry; +import org.opendaylight.controller.md.sal.common.impl.util.compat.DataNormalizationException; import org.opendaylight.controller.md.sal.common.impl.util.compat.DataNormalizer; import org.opendaylight.yangtools.yang.binding.Augmentation; import org.opendaylight.yangtools.yang.binding.DataObject; @@ -43,7 +44,10 @@ public class BindingToNormalizedNodeCodec implements SchemaContextListener { public org.opendaylight.yangtools.yang.data.api.InstanceIdentifier toNormalized( final InstanceIdentifier binding) { - return legacyToNormalized.toNormalized(bindingToLegacy.toDataDom(binding)); + final org.opendaylight.yangtools.yang.data.api.InstanceIdentifier legacyPath = bindingToLegacy.toDataDom(binding); + final org.opendaylight.yangtools.yang.data.api.InstanceIdentifier normalized = legacyToNormalized.toNormalized(legacyPath); + LOG.trace("InstanceIdentifier Path {} Serialization: Legacy representation {}, Normalized representation: {}",binding,legacyPath,normalized); + return normalized; } public Entry> toNormalizedNode( @@ -54,7 +58,9 @@ public class BindingToNormalizedNodeCodec implements SchemaContextListener { public Entry> toNormalizedNode( final Entry, DataObject> binding) { - Entry> normalizedEntry = legacyToNormalized.toNormalized(bindingToLegacy.toDataDom(binding)); + Entry legacyEntry = bindingToLegacy.toDataDom(binding); + Entry> normalizedEntry = legacyToNormalized.toNormalized(legacyEntry); + LOG.trace("Serialization of {}, Legacy Representation: {}, Normalized Representation: {}",binding,legacyEntry,normalizedEntry); if(Augmentation.class.isAssignableFrom(binding.getKey().getTargetType())) { for(DataContainerChild child : ((DataContainerNode) normalizedEntry.getValue()).getValue()) { @@ -78,8 +84,13 @@ public class BindingToNormalizedNodeCodec implements SchemaContextListener { final org.opendaylight.yangtools.yang.data.api.InstanceIdentifier normalized) throws DeserializationException { - org.opendaylight.yangtools.yang.data.api.InstanceIdentifier legacyPath = legacyToNormalized - .toLegacy(normalized); + org.opendaylight.yangtools.yang.data.api.InstanceIdentifier legacyPath; + try { + legacyPath = legacyToNormalized.toLegacy(normalized); + } catch (DataNormalizationException e) { + throw new IllegalStateException("Could not denormalize path.",e); + } + LOG.trace("InstanceIdentifier Path Deserialization: Legacy representation {}, Normalized representation: {}",legacyPath,normalized); return bindingToLegacy.fromDataDom(legacyPath); }