Improve verification message
[mdsal.git] / binding / yang-binding / src / main / java / org / opendaylight / yangtools / yang / binding / ResourceYangModuleInfo.java
index 5e493c4a88b25c04558adac279863b9145e61ea5..c351ee340b65a96fb83238e6fa6a3b1c65d68d73 100644 (file)
@@ -26,10 +26,16 @@ import org.eclipse.jdt.annotation.NonNullByDefault;
 public abstract class ResourceYangModuleInfo implements YangModuleInfo {
     @Override
     public final InputStream openYangTextStream() throws IOException {
-        final InputStream ret = ResourceYangModuleInfo.this.getClass()
-                .getResourceAsStream(verifyNotNull(resourceName()));
+        final Class<?> subclass = getClass();
+        final String name = verifyNotNull(resourceName(), "%s provided a null resource name", subclass);
+        final InputStream ret = subclass.getResourceAsStream(name);
         if (ret == null) {
-            throw new IOException("Failed to open resource " + resourceName());
+            String message = "Failed to open resource " + name + " in context of " + subclass;
+            final ClassLoader loader = subclass.getClassLoader();
+            if (!ResourceYangModuleInfo.class.getClassLoader().equals(loader)) {
+                message = message + " (loaded in " + loader + ")";
+            }
+            throw new IOException(message);
         }
         return ret;
     }