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%2Ffromxml%2FObjectXmlReader.java;h=61db74feb570bc1f0c20e3ee24a938cce0d849ea;hb=509a8a4d570abc3a9a496837617015b1084c2761;hp=97c0f4d834ba7d7a810d9d36a08a1a74deb748e7;hpb=5cebad0c07f3d15d42be522cf484fa6eea3d7c88;p=controller.git diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/fromxml/ObjectXmlReader.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/fromxml/ObjectXmlReader.java index 97c0f4d834..61db74feb5 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/fromxml/ObjectXmlReader.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/fromxml/ObjectXmlReader.java @@ -16,20 +16,25 @@ import org.opendaylight.controller.config.yangjmxgenerator.attribute.ListAttribu import org.opendaylight.controller.config.yangjmxgenerator.attribute.ListDependenciesAttribute; import org.opendaylight.controller.config.yangjmxgenerator.attribute.TOAttribute; import org.opendaylight.controller.netconf.confignetconfconnector.mapping.attributes.AttributeIfcSwitchStatement; +import org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig.EditConfig; import javax.management.openmbean.ArrayType; import javax.management.openmbean.CompositeType; import javax.management.openmbean.OpenType; import javax.management.openmbean.SimpleType; +import java.util.Date; import java.util.Map; import java.util.Map.Entry; +import java.util.Set; public class ObjectXmlReader extends AttributeIfcSwitchStatement { private String key; + private Map> identityMap; - public Map prepareReading(Map yangToAttrConfig) { + public Map prepareReading(Map yangToAttrConfig, Map> identityMap) { Map strategies = Maps.newHashMap(); + this.identityMap = identityMap; for (Entry attributeEntry : yangToAttrConfig.entrySet()) { AttributeReadingStrategy strat = prepareReadingStrategy(attributeEntry.getKey(), attributeEntry.getValue()); @@ -72,6 +77,15 @@ public class ObjectXmlReader extends AttributeIfcSwitchStatement openType) { + Preconditions.checkState(openType instanceof CompositeType); + Set keys = ((CompositeType) openType).keySet(); + Preconditions.checkState(keys.size() == 1, "Unexpected number of elements for open type %s, should be 1", openType); + String mappingKey = keys.iterator().next(); + return new SimpleIdentityRefAttributeReadingStrategy(lastAttribute.getNullableDefault(), mappingKey, identityMap); + } + @Override protected AttributeReadingStrategy caseDependencyAttribute(SimpleType openType) { return new ObjectNameAttributeReadingStrategy(lastAttribute.getNullableDefault());