X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fconfig-netconf-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fconfignetconfconnector%2Fmapping%2Fattributes%2Fmapping%2FObjectMapper.java;h=2608c57e000316e1cd2df3aa80d38a34b5c72890;hp=4d984acee0206c1cce11b23f6f4f0dd1415506f8;hb=43644d24aa56d5b9055d0bcffc3e31112ca1e5fe;hpb=b80124e3f7b11cf2f5e5bd4a6b033d855ff4d0d4 diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/mapping/ObjectMapper.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/mapping/ObjectMapper.java index 4d984acee0..2608c57e00 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/mapping/ObjectMapper.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/mapping/ObjectMapper.java @@ -22,12 +22,15 @@ 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.osgi.EnumResolver; public class ObjectMapper extends AttributeIfcSwitchStatement>> { + private EnumResolver enumResolver; public Map>> prepareMapping( - Map configDefinition) { + Map configDefinition, EnumResolver enumResolver) { + this.enumResolver = Preconditions.checkNotNull(enumResolver); Map>> strategies = Maps.newHashMap(); for (Entry attrEntry : configDefinition.entrySet()) { @@ -40,8 +43,9 @@ public class ObjectMapper extends AttributeIfcSwitchStatement> prepareStrategy(AttributeIfc attributeIfc) { if(attributeIfc instanceof DependencyAttribute) { - serviceNameOfDepAttr = ((DependencyAttribute)attributeIfc).getDependency().getSie().getQName().getLocalName(); namespaceOfDepAttr = ((DependencyAttribute)attributeIfc).getDependency().getSie().getQName().getNamespace().toString(); + } else if (attributeIfc instanceof ListDependenciesAttribute) { + namespaceOfDepAttr = ((ListDependenciesAttribute)attributeIfc).getDependency().getSie().getQName().getNamespace().toString(); } return switchAttribute(attributeIfc); @@ -60,6 +64,11 @@ public class ObjectMapper extends AttributeIfcSwitchStatement> caseJavaEnumAttribute(final OpenType openType) { + return new EnumAttributeMappingStrategy(((CompositeType) openType), enumResolver); + } + @Override protected AttributeMappingStrategy> caseJavaArrayAttribute(ArrayType openType) { @@ -99,14 +108,12 @@ public class ObjectMapper extends AttributeIfcSwitchStatement> caseDependencyAttribute( SimpleType openType) { - return new ObjectNameAttributeMappingStrategy(openType, - serviceNameOfDepAttr, namespaceOfDepAttr); + return new ObjectNameAttributeMappingStrategy(openType, namespaceOfDepAttr); } @Override