SLING-11601 use the LazyBindings (#39)
SLING-11601 use the LazyBindings
diff --git a/pom.xml b/pom.xml
index 5ce4e6b..4b7e1ed 100644
--- a/pom.xml
+++ b/pom.xml
@@ -140,7 +140,7 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.api</artifactId>
- <version>2.4.0</version>
+ <version>2.21.0</version>
<scope>provided</scope>
</dependency>
<dependency>
diff --git a/src/main/java/org/apache/sling/models/impl/ExportServlet.java b/src/main/java/org/apache/sling/models/impl/ExportServlet.java
index 29c980e..736ba10 100644
--- a/src/main/java/org/apache/sling/models/impl/ExportServlet.java
+++ b/src/main/java/org/apache/sling/models/impl/ExportServlet.java
@@ -32,12 +32,13 @@
import java.util.HashMap;
import java.util.Map;
-import javax.script.SimpleBindings;
+import javax.script.Bindings;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletResponse;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.SlingHttpServletResponse;
+import org.apache.sling.api.scripting.LazyBindings;
import org.apache.sling.api.scripting.SlingBindings;
import org.apache.sling.api.scripting.SlingScriptHelper;
import org.apache.sling.api.servlets.SlingSafeMethodsServlet;
@@ -125,7 +126,7 @@
private void addScriptBindings(SlingScriptHelper scriptHelper, SlingHttpServletRequest request, SlingHttpServletResponse response)
throws IOException {
- SimpleBindings bindings = new SimpleBindings();
+ Bindings bindings = new LazyBindings();
bindings.put(SLING, scriptHelper);
bindings.put(RESOURCE, request.getResource());
bindings.put(SlingModelsScriptEngineFactory.RESOLVER, request.getResource().getResourceResolver());
diff --git a/src/main/java/org/apache/sling/models/impl/ResourceOverridingRequestWrapper.java b/src/main/java/org/apache/sling/models/impl/ResourceOverridingRequestWrapper.java
index 803e040..c37e588 100644
--- a/src/main/java/org/apache/sling/models/impl/ResourceOverridingRequestWrapper.java
+++ b/src/main/java/org/apache/sling/models/impl/ResourceOverridingRequestWrapper.java
@@ -24,7 +24,7 @@
import static org.apache.sling.api.scripting.SlingBindings.RESPONSE;
import static org.apache.sling.api.scripting.SlingBindings.SLING;
-import javax.script.SimpleBindings;
+import javax.script.Bindings;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.adapter.AdapterManager;
@@ -40,7 +40,7 @@
private final Resource resource;
private final AdapterManager adapterManager;
- private final SlingBindings bindings;
+ private final Bindings bindings;
ResourceOverridingRequestWrapper(SlingHttpServletRequest wrappedRequest, Resource resource,
AdapterManager adapterManager, SlingModelsScriptEngineFactory scriptEngineFactory,
@@ -51,7 +51,7 @@
SlingBindings existingBindings = (SlingBindings) wrappedRequest.getAttribute(SlingBindings.class.getName());
- SimpleBindings bindings = new SimpleBindings();
+ bindings = new SlingBindings();
if (existingBindings != null) {
bindings.put(SLING, existingBindings.getSling());
bindings.put(RESPONSE, existingBindings.getResponse());
@@ -64,12 +64,6 @@
bindings.put(SlingModelsScriptEngineFactory.RESOLVER, resource.getResourceResolver());
scriptEngineFactory.invokeBindingsValuesProviders(bindingsValuesProvidersByContext, bindings);
-
- SlingBindings slingBindings = new SlingBindings();
- slingBindings.putAll(bindings);
-
- this.bindings = slingBindings;
-
}
@Override
diff --git a/src/main/java/org/apache/sling/models/impl/SlingModelsScriptEngineFactory.java b/src/main/java/org/apache/sling/models/impl/SlingModelsScriptEngineFactory.java
index 0b81609..bd6d40d 100644
--- a/src/main/java/org/apache/sling/models/impl/SlingModelsScriptEngineFactory.java
+++ b/src/main/java/org/apache/sling/models/impl/SlingModelsScriptEngineFactory.java
@@ -23,9 +23,9 @@
import org.osgi.framework.Bundle;
import org.osgi.framework.Constants;
+import javax.script.Bindings;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineFactory;
-import javax.script.SimpleBindings;
import java.util.Arrays;
import java.util.Collection;
@@ -74,7 +74,7 @@
return null;
}
- void invokeBindingsValuesProviders(BindingsValuesProvidersByContext bindingsValuesProvidersByContext, SimpleBindings bindings) {
+ void invokeBindingsValuesProviders(BindingsValuesProvidersByContext bindingsValuesProvidersByContext, Bindings bindings) {
final Collection<BindingsValuesProvider> bindingsValuesProviders =
bindingsValuesProvidersByContext.getBindingsValuesProviders(this, SlingModelsScriptEngineFactory.BINDINGS_CONTEXT);