X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fconfig-netconf-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fconfignetconfconnector%2Fmapping%2Fattributes%2Fmapping%2FCompositeAttributeMappingStrategy.java;h=594953e569e6c0c2c5531a8100e5e7f106f2d114;hb=refs%2Fchanges%2F99%2F5599%2F14;hp=252b13bf6850c498d6c122565044359647dd5520;hpb=a92d9d6a21a0f6ca8d2153795721f500eaf29ee9;p=controller.git diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/mapping/CompositeAttributeMappingStrategy.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/mapping/CompositeAttributeMappingStrategy.java index 252b13bf68..594953e569 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/mapping/CompositeAttributeMappingStrategy.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/mapping/CompositeAttributeMappingStrategy.java @@ -35,8 +35,9 @@ public class CompositeAttributeMappingStrategy extends @Override public Optional> mapAttribute(Object value) { - if (value == null) + if (value == null){ return Optional.absent(); + } Util.checkType(value, CompositeDataSupport.class); @@ -53,17 +54,21 @@ public class CompositeAttributeMappingStrategy extends Map retVal = Maps.newHashMap(); for (String jmxName : jmxToJavaNameMapping.keySet()) { - String innerAttrJmxName = jmxName; - Object innerValue = compositeData.get(innerAttrJmxName); - - AttributeMappingStrategy> attributeMappingStrategy = innerStrategies - .get(innerAttrJmxName); - Optional mapAttribute = attributeMappingStrategy.mapAttribute(innerValue); - if (mapAttribute.isPresent()) - retVal.put(jmxToJavaNameMapping.get(innerAttrJmxName), mapAttribute.get()); + Optional mapped = mapInnerAttribute(compositeData, jmxName, expectedType.getDescription(jmxName)); + if(mapped.isPresent()){ + retVal.put(jmxToJavaNameMapping.get(jmxName), mapped.get()); + } } return Optional.of(retVal); } + protected Optional mapInnerAttribute(CompositeDataSupport compositeData, String jmxName, String description) { + Object innerValue = compositeData.get(jmxName); + + AttributeMappingStrategy> attributeMappingStrategy = innerStrategies + .get(jmxName); + return attributeMappingStrategy.mapAttribute(innerValue); + } + }