X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fbinding%2Fimpl%2Fconnect%2Fdom%2FBindingIndependentConnector.java;h=0a769921d80410742cb22b4ad7ee8cc0e9920f0a;hb=79eba117e59f10c8bff34d0dd6bbb67b8ccc3e10;hp=daa3914cf73fd717c63cb2c3e251dc175ffe1191;hpb=cbcecc2bcdaa79cd684b28e4b6011841d100cfb2;p=controller.git diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/impl/connect/dom/BindingIndependentConnector.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/impl/connect/dom/BindingIndependentConnector.java index daa3914cf7..0a769921d8 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/impl/connect/dom/BindingIndependentConnector.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/impl/connect/dom/BindingIndependentConnector.java @@ -115,32 +115,32 @@ public class BindingIndependentConnector implements // public DataObject readOperationalData(InstanceIdentifier path) { try { org.opendaylight.yangtools.yang.data.api.InstanceIdentifier biPath = mappingService.toDataDom(path); - CompositeNode result = biDataService.readOperationalData(biPath); - Class targetType = path.getTargetType(); - - if (Augmentation.class.isAssignableFrom(targetType)) { - path = mappingService.fromDataDom(biPath); - Class> augmentType = (Class>) targetType; - DataObject parentTo = mappingService.dataObjectFromDataDom(path, result); - if (parentTo instanceof Augmentable) { - return (DataObject) ((Augmentable) parentTo).getAugmentation(augmentType); - } - - } - return mappingService.dataObjectFromDataDom(path, result); - + return potentialAugmentationRead(path,biPath,result); } catch (DeserializationException e) { throw new IllegalStateException(e); } } + private DataObject potentialAugmentationRead(InstanceIdentifier path, org.opendaylight.yangtools.yang.data.api.InstanceIdentifier biPath, CompositeNode result) throws DeserializationException { + Class targetType = path.getTargetType(); + if (Augmentation.class.isAssignableFrom(targetType)) { + path = mappingService.fromDataDom(biPath); + Class> augmentType = (Class>) targetType; + DataObject parentTo = mappingService.dataObjectFromDataDom(path, result); + if (parentTo instanceof Augmentable) { + return (DataObject) ((Augmentable) parentTo).getAugmentation(augmentType); + } + } + return mappingService.dataObjectFromDataDom(path, result); + } + @Override public DataObject readConfigurationData(InstanceIdentifier path) { try { org.opendaylight.yangtools.yang.data.api.InstanceIdentifier biPath = mappingService.toDataDom(path); CompositeNode result = biDataService.readConfigurationData(biPath); - return mappingService.dataObjectFromDataDom(path, result); + return potentialAugmentationRead(path,biPath,result); } catch (DeserializationException e) { throw new IllegalStateException(e); }