From: Tomas Cere Date: Mon, 1 Jun 2015 14:58:20 +0000 (+0200) Subject: BUG 2596: Use base service name in service serialization. X-Git-Tag: release/beryllium~531 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=43644d24aa56d5b9055d0bcffc3e31112ca1e5fe;hp=e88c91b2e705b7400cd702bcd04167e6f07fc4c9 BUG 2596: Use base service name in service serialization. Serialization of config was incorrectly using derived service name instead of the name that was configured in xml. Change-Id: Idf455f62b1ade06a3e52e4936227f485f74c8ef3 Signed-off-by: Tomas Cere --- 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 463e98100c..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 @@ -43,10 +43,8 @@ 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) { - serviceNameOfDepAttr = ((ListDependenciesAttribute)attributeIfc).getDependency().getSie().getQName().getLocalName(); namespaceOfDepAttr = ((ListDependenciesAttribute)attributeIfc).getDependency().getSie().getQName().getNamespace().toString(); } @@ -110,14 +108,12 @@ public class ObjectMapper extends AttributeIfcSwitchStatement> caseDependencyAttribute( SimpleType openType) { - return new ObjectNameAttributeMappingStrategy(openType, - serviceNameOfDepAttr, namespaceOfDepAttr); + return new ObjectNameAttributeMappingStrategy(openType, namespaceOfDepAttr); } @Override 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 b827a5b039..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 @@ -14,16 +14,15 @@ 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 String serviceName; private final String namespace; - public ObjectNameAttributeMappingStrategy(SimpleType openType, String serviceName, String namespace) { + public ObjectNameAttributeMappingStrategy(SimpleType openType, String namespace) { super(openType); - this.serviceName = serviceName; this.namespace = namespace; } @@ -43,7 +42,9 @@ public class ObjectNameAttributeMappingStrategy extends String refName = ObjectNameUtil.getReferenceName(on); - return Optional.of(new MappedDependency(namespace, serviceName, refName)); + //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 {