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%2Fresolving%2FObjectResolver.java;h=93c83eb93cccd9c567480b9ffd3ed1d22b5aa483;hb=1a43f55c49d91816751cec1825c40d0a90f8bd8b;hp=82c8c1ec6b537f2ca25cc585dfe4c795cd2b7350;hpb=3fdb59d96aecf80c8e5b414f2c69fc2d521c0abd;p=controller.git diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/resolving/ObjectResolver.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/resolving/ObjectResolver.java index 82c8c1ec6b..93c83eb93c 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/resolving/ObjectResolver.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/resolving/ObjectResolver.java @@ -10,30 +10,33 @@ package org.opendaylight.controller.netconf.confignetconfconnector.mapping.attri import com.google.common.base.Preconditions; import com.google.common.collect.Maps; +import java.util.Map; +import java.util.Map.Entry; +import javax.management.openmbean.ArrayType; +import javax.management.openmbean.CompositeType; +import javax.management.openmbean.OpenType; +import javax.management.openmbean.SimpleType; import org.opendaylight.controller.config.yangjmxgenerator.attribute.AttributeIfc; import org.opendaylight.controller.config.yangjmxgenerator.attribute.ListAttribute; 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.mapping.config.ServiceRegistryWrapper; - -import javax.management.openmbean.ArrayType; -import javax.management.openmbean.CompositeType; -import javax.management.openmbean.OpenType; -import javax.management.openmbean.SimpleType; -import java.util.Map; -import java.util.Map.Entry; +import org.opendaylight.controller.netconf.confignetconfconnector.osgi.EnumResolver; public class ObjectResolver extends AttributeIfcSwitchStatement>> { private final ServiceRegistryWrapper serviceTracker; + private EnumResolver enumResolver; public ObjectResolver(ServiceRegistryWrapper serviceTracker) { this.serviceTracker = serviceTracker; } public Map>> prepareResolving( - Map configDefinition) { + Map configDefinition, final EnumResolver enumResolver) { + this.enumResolver = enumResolver; + Map>> strategies = Maps.newHashMap(); for (Entry attrEntry : configDefinition.entrySet()) { @@ -45,7 +48,6 @@ public class ObjectResolver extends AttributeIfcSwitchStatement> prepareStrategy(AttributeIfc attributeIfc) { - return switchAttribute(attributeIfc); } @@ -57,6 +59,11 @@ public class ObjectResolver extends AttributeIfcSwitchStatement> caseJavaEnumAttribute(final OpenType openType) { + return new EnumAttributeResolvingStrategy((CompositeType) openType, enumResolver); + } + @Override protected AttributeResolvingStrategy> caseJavaSimpleAttribute(SimpleType openType) { return new SimpleAttributeResolvingStrategy(openType); @@ -64,6 +71,7 @@ public class ObjectResolver extends AttributeIfcSwitchStatement> caseJavaArrayAttribute(ArrayType openType) { + SimpleType innerType = (SimpleType) openType.getElementOpenType(); AttributeResolvingStrategy> strat = new SimpleAttributeResolvingStrategy(innerType); return new ArrayAttributeResolvingStrategy(strat, openType); @@ -106,8 +114,8 @@ public class ObjectResolver extends AttributeIfcSwitchStatement> caseTOAttribute(CompositeType openType) { - Preconditions.checkState(lastAttribute instanceof TOAttribute); - TOAttribute toAttribute = (TOAttribute) lastAttribute; + Preconditions.checkState(getLastAttribute() instanceof TOAttribute); + TOAttribute toAttribute = (TOAttribute) getLastAttribute(); Map>> innerMap = Maps.newHashMap(); @@ -122,14 +130,14 @@ public class ObjectResolver extends AttributeIfcSwitchStatement> caseListAttribute(ArrayType openType) { - Preconditions.checkState(lastAttribute instanceof ListAttribute); - AttributeIfc innerAttribute = ((ListAttribute) lastAttribute).getInnerAttribute(); + Preconditions.checkState(getLastAttribute() instanceof ListAttribute); + AttributeIfc innerAttribute = ((ListAttribute) getLastAttribute()).getInnerAttribute(); return new ArrayAttributeResolvingStrategy(prepareStrategy(innerAttribute), openType); } @Override protected AttributeResolvingStrategy> caseListDependeciesAttribute(ArrayType openType) { - Preconditions.checkState(lastAttribute instanceof ListDependenciesAttribute); + Preconditions.checkState(getLastAttribute() instanceof ListDependenciesAttribute); return new ArrayAttributeResolvingStrategy(caseDependencyAttribute(SimpleType.OBJECTNAME), openType); }