SLING-9216 - Allow capabilities to provide lists of resource types
diff --git a/src/main/java/org/apache/sling/scripting/bundle/tracker/internal/BundledScriptFinder.java b/src/main/java/org/apache/sling/scripting/bundle/tracker/internal/BundledScriptFinder.java
index 162c89d..bbe9973 100644
--- a/src/main/java/org/apache/sling/scripting/bundle/tracker/internal/BundledScriptFinder.java
+++ b/src/main/java/org/apache/sling/scripting/bundle/tracker/internal/BundledScriptFinder.java
@@ -40,12 +40,15 @@
 import org.osgi.framework.wiring.BundleWiring;
 import org.osgi.service.component.annotations.Component;
 import org.osgi.service.component.annotations.Reference;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 @Component(
         service = BundledScriptFinder.class
 )
 public class BundledScriptFinder {
 
+    private static final Logger LOGGER = LoggerFactory.getLogger(BundledScriptFinder.class);
     private static final String NS_JAVAX_SCRIPT_CAPABILITY = "javax.script";
     private static final String SLASH = "/";
     private static final String DOT = ".";
@@ -79,14 +82,18 @@
                             } else {
                                 bundledScriptURL =
                                         provider.getBundle()
-                                                .getEntry(NS_JAVAX_SCRIPT_CAPABILITY + SLASH + match + DOT + scriptEngineExtension);
+                                                .getEntry(NS_JAVAX_SCRIPT_CAPABILITY + (match.startsWith("/") ? "" : SLASH) + match + DOT + scriptEngineExtension);
                                 if (bundledScriptURL != null) {
                                     return new Script(provider.getBundle(), bundledScriptURL, scriptEngine);
                                 }
                             }
                         }
                     }
+                } else {
+                    LOGGER.error("Cannot find a script engine for short name {}.", scriptEngineName);
                 }
+            } else {
+                LOGGER.error("Cannot find a script engine name for {}.", provider);
             }
         }
         return null;
diff --git a/src/main/java/org/apache/sling/scripting/bundle/tracker/internal/TypeProvider.java b/src/main/java/org/apache/sling/scripting/bundle/tracker/internal/TypeProvider.java
index 7332102..c8cda53 100644
--- a/src/main/java/org/apache/sling/scripting/bundle/tracker/internal/TypeProvider.java
+++ b/src/main/java/org/apache/sling/scripting/bundle/tracker/internal/TypeProvider.java
@@ -77,4 +77,9 @@
         }
         return false;
     }
+
+    @Override
+    public String toString() {
+        return String.format("TypeProvider{ resourceTypes=%s; bundle=%s }", resourceTypes, bundle.getSymbolicName());
+    }
 }