Improve error reporting in ServiceRegistry 36/13536/3
authorMaros Marsalek <mmarsale@cisco.com>
Wed, 10 Dec 2014 13:12:17 +0000 (14:12 +0100)
committerMaros Marsalek <mmarsale@cisco.com>
Mon, 15 Dec 2014 15:22:25 +0000 (16:22 +0100)
Change-Id: Ia2619921a8c5dab2d0613a7e6ba724512f077bfa
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/config/ServiceRegistryWrapper.java

index 8c2c74f2ac58d1c2144a1e8194cb46e15eb279b9..9ce550e505a7c01b32a70800f3dee5e76a6752c6 100644 (file)
@@ -24,24 +24,30 @@ public class ServiceRegistryWrapper {
         this.configServiceRefRegistry = configServiceRefRegistry;
     }
 
-    public ObjectName getByServiceAndRefName(String namespace, String serviceName, String refName) {
-        Map<String, Map<String, String>> serviceNameToRefNameToInstance = getMappedServices().get(namespace);
+    public ObjectName getByServiceAndRefName(String namespace, String serviceType, String refName) {
+        Map<String, Map<String, Map<String, String>>> mappedServices = getMappedServices();
+        Map<String, Map<String, String>> serviceNameToRefNameToInstance = mappedServices.get(namespace);
 
-        Preconditions.checkNotNull(serviceNameToRefNameToInstance, "No serviceInstances mapped to " + namespace);
+        Preconditions.checkArgument(serviceNameToRefNameToInstance != null,
+                "No service mapped to %s:%s:%s. Wrong namespace, available namespaces: %s",
+                namespace, serviceType, refName, mappedServices.keySet());
 
-        Map<String, String> refNameToInstance = serviceNameToRefNameToInstance.get(serviceName);
-        Preconditions.checkNotNull(refNameToInstance, "No serviceInstances mapped to " + serviceName + " , "
-                + serviceNameToRefNameToInstance.keySet());
+        Map<String, String> refNameToInstance = serviceNameToRefNameToInstance.get(serviceType);
+        Preconditions.checkArgument(refNameToInstance != null,
+                "No service mapped to %s:%s:%s. Wrong service type, available service types: %s"
+                , namespace, serviceType, refName, serviceNameToRefNameToInstance.keySet());
 
         String instanceId = refNameToInstance.get(refName);
-        Preconditions.checkArgument(instanceId != null, "No serviceInstances mapped to " + serviceName + ":"
-                + refName + ", " + serviceNameToRefNameToInstance.keySet());
+        Preconditions.checkArgument(instanceId != null,
+                "No service mapped to %s:%s:%s. Wrong ref name, available ref names: %s"
+                ,namespace, serviceType, refName, refNameToInstance.keySet());
 
         Services.ServiceInstance serviceInstance = Services.ServiceInstance.fromString(instanceId);
-        Preconditions.checkArgument(serviceInstance != null, "No serviceInstance mapped to " + refName
-                + " under service name " + serviceName + " , " + refNameToInstance.keySet());
+        Preconditions.checkArgument(serviceInstance != null,
+                "No service mapped to %s:%s:%s. Wrong ref name, available ref names: %s"
+                ,namespace, serviceType, refName, refNameToInstance.keySet());
 
-        String qNameOfService = configServiceRefRegistry.getServiceInterfaceName(namespace, serviceName);
+        String qNameOfService = configServiceRefRegistry.getServiceInterfaceName(namespace, serviceType);
         try {
             /*
              Remove transaction name as this is redundant - will be stripped in DynamicWritableWrapper,
@@ -51,7 +57,7 @@ public class ServiceRegistryWrapper {
                     configServiceRefRegistry.getServiceReference(qNameOfService, refName));
         } catch (InstanceNotFoundException e) {
             throw new IllegalArgumentException("No serviceInstance mapped to " + refName
-                    + " under service name " + serviceName + " , " + refNameToInstance.keySet(), e);
+                    + " under service name " + serviceType + " , " + refNameToInstance.keySet(), e);
 
         }
     }