Switch to more efficient 'direct servlet' internal requests
diff --git a/org.apache.sling.graphql.samples.website/src/main/java/org/apache/sling/scripting/handlebars/HandlebarsScriptEngine.java b/org.apache.sling.graphql.samples.website/src/main/java/org/apache/sling/scripting/handlebars/HandlebarsScriptEngine.java
index 677f7e6..4333813 100644
--- a/org.apache.sling.graphql.samples.website/src/main/java/org/apache/sling/scripting/handlebars/HandlebarsScriptEngine.java
+++ b/org.apache.sling.graphql.samples.website/src/main/java/org/apache/sling/scripting/handlebars/HandlebarsScriptEngine.java
@@ -38,9 +38,10 @@
 
 import org.apache.commons.io.IOUtils;
 import org.apache.sling.api.resource.Resource;
-import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.api.scripting.SlingBindings;
-import org.apache.sling.servlethelpers.internalrequests.InternalRequest;
+import org.apache.sling.servlethelpers.internalrequests.ServletInternalRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /** Minimal script engine for server-side rendering
  *  using Handlebars templates. Might need some changes if
@@ -55,6 +56,7 @@
  */
 public class HandlebarsScriptEngine extends AbstractScriptEngine {
 
+    private final Logger log = LoggerFactory.getLogger(getClass());
     private final HandlebarsScriptEngineFactory factory;
 
     public HandlebarsScriptEngine(HandlebarsScriptEngineFactory factory) {
@@ -89,20 +91,21 @@
         // Request resource.json and convert the result to Maps
         String jsonString = null;
         try {
-            jsonString = InternalRequest
-                .slingRequest(r.getResourceResolver(), factory.getSlingRequestProcessor(), r.getPath())
+            jsonString =
+                new ServletInternalRequest(factory.getServletResolver(), r)
                 .withExtension("json")
-                .withResourceType(r.getResourceType())
-                .withResourceSuperType(r.getResourceSuperType())
                 .execute()
                 .getResponseAsString()
             ;
         } catch(Exception e) {
             final ScriptException up = new ScriptException("Internal request failed");
             up.initCause(e);
+            log.info("getData() failed", up);
             throw up;
         }
-        return JsonReader.jsonToMaps(jsonString);
+        final Map<?, ?> result = JsonReader.jsonToMaps(jsonString);
+        log.debug("getData() returns a Map with {} keys", result.keySet().size());
+        return result;
     }
 
     @Override
diff --git a/org.apache.sling.graphql.samples.website/src/main/java/org/apache/sling/scripting/handlebars/HandlebarsScriptEngineFactory.java b/org.apache.sling.graphql.samples.website/src/main/java/org/apache/sling/scripting/handlebars/HandlebarsScriptEngineFactory.java
index 78f90e1..a212acf 100644
--- a/org.apache.sling.graphql.samples.website/src/main/java/org/apache/sling/scripting/handlebars/HandlebarsScriptEngineFactory.java
+++ b/org.apache.sling.graphql.samples.website/src/main/java/org/apache/sling/scripting/handlebars/HandlebarsScriptEngineFactory.java
@@ -22,7 +22,7 @@
 import javax.script.ScriptEngine;
 import javax.script.ScriptEngineFactory;
 
-import org.apache.sling.engine.SlingRequestProcessor;
+import org.apache.sling.api.servlets.ServletResolver;
 import org.apache.sling.scripting.api.AbstractScriptEngineFactory;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
@@ -50,7 +50,7 @@
     public static final String LANGUAGE_VERSION = "Sling:Handlebars:0.1";
 
     @Reference
-    private SlingRequestProcessor requestProcessor;
+    private ServletResolver servletResolver;
 
     @Activate
     private void activate(final HandlebarsScriptEngineFactoryConfig config, final BundleContext ctx) {
@@ -74,7 +74,7 @@
         return new HandlebarsScriptEngine(this);
     }
 
-    SlingRequestProcessor getSlingRequestProcessor() {
-        return requestProcessor;
+    ServletResolver getServletResolver() {
+        return servletResolver;
     }
 }
\ No newline at end of file
diff --git a/org.apache.sling.graphql.samples.website/src/main/resources/features/feature-graphql-example-website.json b/org.apache.sling.graphql.samples.website/src/main/resources/features/feature-graphql-example-website.json
index c5c1d99..ce08a2f 100644
--- a/org.apache.sling.graphql.samples.website/src/main/resources/features/feature-graphql-example-website.json
+++ b/org.apache.sling.graphql.samples.website/src/main/resources/features/feature-graphql-example-website.json
@@ -32,13 +32,15 @@
     },
     "org.apache.sling.commons.log.LogManager.factory.config~debug.log" : {
       "org.apache.sling.commons.log.file": "logs/debug.log",
-      "org.apache.sling.commons.log.level": "DEBUG",
+      "org.apache.sling.commons.log.level": "INFO",
       "org.apache.sling.commons.log.names":
         [
           "org.apache.sling.engine",
           "org.apache.sling.servlet",
           "org.apache.sling.servlets",
-          "org.apache.sling.servlethelpers.internalrequests"
+          "org.apache.sling.servlethelpers.internalrequests",
+          "org.apache.sling.graphql",
+          "org.apache.sling.scripting"
         ],
       "org.apache.sling.commons.log.pattern": "%-5level [%-50logger{50}] %message ## %mdc{sling.InternalRequest} %n"
     }