Merge "Fix a few eclipse-reported warnings"
[controller.git] / opendaylight / netconf / config-netconf-connector / src / main / java / org / opendaylight / controller / netconf / confignetconfconnector / mapping / attributes / mapping / ObjectNameAttributeMappingStrategy.java
index 1febf02a2dc971b7d7fd884d2e62ff1ff57600ac..83e8086eef2507b648d918cf4592d9d7c553c1b6 100644 (file)
@@ -10,7 +10,8 @@ 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.config.api.jmx.ObjectNameUtil;
+import org.opendaylight.controller.netconf.confignetconfconnector.mapping.config.ServiceRegistryWrapper;
 import org.opendaylight.controller.netconf.confignetconfconnector.util.Util;
 
 import javax.management.ObjectName;
@@ -19,13 +20,15 @@ import javax.management.openmbean.SimpleType;
 public class ObjectNameAttributeMappingStrategy extends
         AbstractAttributeMappingStrategy<ObjectNameAttributeMappingStrategy.MappedDependency, SimpleType<?>> {
 
-    private final Services tracker;
+    private final ServiceRegistryWrapper tracker;
     private final String serviceName;
+    private final String namespace;
 
-    public ObjectNameAttributeMappingStrategy(SimpleType<?> openType, Services dependencyTracker, String serviceName) {
+    public ObjectNameAttributeMappingStrategy(SimpleType<?> openType, ServiceRegistryWrapper dependencyTracker, String serviceName, String namespace) {
         super(openType);
         this.tracker = dependencyTracker;
         this.serviceName = serviceName;
+        this.namespace = namespace;
     }
 
     @Override
@@ -40,17 +43,19 @@ public class ObjectNameAttributeMappingStrategy extends
         Util.checkType(value, ObjectName.class);
 
         ObjectName on = (ObjectName) value;
-        String refName = tracker.addServiceEntry(serviceName, on);
 
-        return Optional.of(new MappedDependency(serviceName, refName));
+        String refName = ObjectNameUtil.getReferenceName(on);
+
+        return Optional.of(new MappedDependency(namespace, serviceName, refName));
     }
 
     public static class MappedDependency {
-        private final String serviceName, refName;
+        private final String namespace, serviceName, refName;
 
-        public MappedDependency(String serviceName, String refName) {
+        public MappedDependency(String namespace, String serviceName, String refName) {
             this.serviceName = serviceName;
             this.refName = refName;
+            this.namespace = namespace;
         }
 
         public String getServiceName() {
@@ -61,10 +66,15 @@ public class ObjectNameAttributeMappingStrategy extends
             return refName;
         }
 
+        public String getNamespace() {
+            return namespace;
+        }
+
         @Override
         public String toString() {
             final StringBuffer sb = new StringBuffer("MappedDependency{");
-            sb.append("serviceName='").append(serviceName).append('\'');
+            sb.append("namespace='").append(namespace).append('\'');
+            sb.append(", serviceName='").append(serviceName).append('\'');
             sb.append(", refName='").append(refName).append('\'');
             sb.append('}');
             return sb.toString();