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%2FObjectNameAttributeMappingStrategy.java;h=b0569dec6276a8a851e6f3965a52afb1f76267cd;hp=f4d88c7c8e371e0bbc8fd8614c76b79bc69a7a50;hb=43644d24aa56d5b9055d0bcffc3e31112ca1e5fe;hpb=371bb07d5c970798f247170130c93147890708e8 diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/mapping/ObjectNameAttributeMappingStrategy.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/mapping/ObjectNameAttributeMappingStrategy.java index f4d88c7c8e..b0569dec62 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/mapping/ObjectNameAttributeMappingStrategy.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/mapping/ObjectNameAttributeMappingStrategy.java @@ -10,30 +10,27 @@ package org.opendaylight.controller.netconf.confignetconfconnector.mapping.attri import com.google.common.base.Optional; import com.google.common.base.Preconditions; -import org.opendaylight.controller.netconf.confignetconfconnector.mapping.config.Services; -import org.opendaylight.controller.netconf.confignetconfconnector.util.Util; - import javax.management.ObjectName; import javax.management.openmbean.SimpleType; +import org.opendaylight.controller.config.api.jmx.ObjectNameUtil; +import org.opendaylight.controller.netconf.confignetconfconnector.util.Util; +import org.opendaylight.yangtools.yang.common.QName; public class ObjectNameAttributeMappingStrategy extends AbstractAttributeMappingStrategy> { - private final Services tracker; - private final String serviceName; private final String namespace; - public ObjectNameAttributeMappingStrategy(SimpleType openType, Services dependencyTracker, String serviceName, String namespace) { + public ObjectNameAttributeMappingStrategy(SimpleType openType, String namespace) { super(openType); - this.tracker = dependencyTracker; - this.serviceName = serviceName; this.namespace = namespace; } @Override public Optional mapAttribute(Object value) { - if (value == null) + if (value == null){ return Optional.absent(); + } String expectedClass = getOpenType().getClassName(); String realClass = value.getClass().getName(); @@ -42,9 +39,12 @@ public class ObjectNameAttributeMappingStrategy extends Util.checkType(value, ObjectName.class); ObjectName on = (ObjectName) value; - String refName = tracker.addServiceEntry(namespace, serviceName, on); - return Optional.of(new MappedDependency(namespace, serviceName, refName)); + String refName = ObjectNameUtil.getReferenceName(on); + + //we want to use the exact service name that was configured in xml so services that are referencing it can be resolved + return Optional.of(new MappedDependency(namespace, + QName.create(ObjectNameUtil.getServiceQName(on)).getLocalName(), refName)); } public static class MappedDependency {