You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 10:11:03 UTC
[sling-org-apache-sling-scripting-sightly-js-provider] 06/18:
SLING-4241 Improve JS execution performance
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.scripting.sightly.js.provider-1.0.0
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-scripting-sightly-js-provider.git
commit ca30d507a105cfb982c4f1f7d327d5ffa9172b4d
Author: Felix Meschberger <fm...@apache.org>
AuthorDate: Mon Dec 15 13:35:27 2014 +0000
SLING-4241 Improve JS execution performance
(apply patch by Radu Cotescu; thanks a lot)
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/contrib/scripting/sightly/js-use-provider@1645656 13f79535-47bb-0310-9956-ffa450edef68
---
.../sling/scripting/sightly/js/impl/JsUseProvider.java | 5 +++++
.../sightly/js/impl/jsapi/SlyBindingsValuesProvider.java | 12 ++++--------
2 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/src/main/java/org/apache/sling/scripting/sightly/js/impl/JsUseProvider.java b/src/main/java/org/apache/sling/scripting/sightly/js/impl/JsUseProvider.java
index fa8b0ec..b779c81 100644
--- a/src/main/java/org/apache/sling/scripting/sightly/js/impl/JsUseProvider.java
+++ b/src/main/java/org/apache/sling/scripting/sightly/js/impl/JsUseProvider.java
@@ -34,6 +34,7 @@ import org.apache.sling.api.resource.ResourceResolverFactory;
import org.apache.sling.api.scripting.SlingScriptHelper;
import org.apache.sling.scripting.sightly.js.impl.async.AsyncContainer;
import org.apache.sling.scripting.sightly.js.impl.async.AsyncExtractor;
+import org.apache.sling.scripting.sightly.js.impl.jsapi.SlyBindingsValuesProvider;
import org.apache.sling.scripting.sightly.js.impl.rhino.JsValueAdapter;
import org.apache.sling.scripting.sightly.render.RenderContext;
import org.apache.sling.scripting.sightly.use.ProviderOutcome;
@@ -74,9 +75,13 @@ public class JsUseProvider implements UseProvider {
@Reference
private ResourceResolverFactory rrf = null;
+ @Reference
+ private SlyBindingsValuesProvider slyBindingsValuesProvider = null;
+
@Override
public ProviderOutcome provide(String identifier, RenderContext renderContext, Bindings arguments) {
Bindings globalBindings = renderContext.getBindings();
+ slyBindingsValuesProvider.processBindings(globalBindings);
if (!Utils.isJsScript(identifier)) {
return ProviderOutcome.failure();
}
diff --git a/src/main/java/org/apache/sling/scripting/sightly/js/impl/jsapi/SlyBindingsValuesProvider.java b/src/main/java/org/apache/sling/scripting/sightly/js/impl/jsapi/SlyBindingsValuesProvider.java
index 72b99a2..6731ed4 100644
--- a/src/main/java/org/apache/sling/scripting/sightly/js/impl/jsapi/SlyBindingsValuesProvider.java
+++ b/src/main/java/org/apache/sling/scripting/sightly/js/impl/jsapi/SlyBindingsValuesProvider.java
@@ -45,7 +45,6 @@ import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ResourceResolverFactory;
import org.apache.sling.api.scripting.SlingBindings;
import org.apache.sling.commons.osgi.PropertiesUtil;
-import org.apache.sling.scripting.api.BindingsValuesProvider;
import org.apache.sling.scripting.sightly.js.impl.JsEnvironment;
import org.apache.sling.scripting.sightly.js.impl.Variables;
import org.apache.sling.scripting.sightly.js.impl.async.AsyncContainer;
@@ -65,16 +64,14 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
- * Provides the {@code sly} and {@code aem} namespaces for usage in Sightly & JS scripts
+ * Provides the {@code sightly} namespace for usage in Sightly & JS scripts
* called from Sightly
*/
@Component(metatype = true, label = "Apache Sling Scripting Sightly JavaScript Bindings Provider",
description = "The Apache Sling Scripting Sightly JavaScript Bindings Provider loads the JS Use-API and makes it available in the" +
" bindings map.")
-@Service(BindingsValuesProvider.class)
+@Service(SlyBindingsValuesProvider.class)
@Properties({
- @Property(name = "javax.script.name", value = "sightly", propertyPrivate = true),
- @Property(name = "service.ranking", intValue = 100),
@Property(
name = SlyBindingsValuesProvider.SCR_PROP_JS_BINDING_IMPLEMENTATIONS,
value = {
@@ -87,7 +84,7 @@ import org.slf4j.LoggerFactory;
)
})
@SuppressWarnings("unused")
-public class SlyBindingsValuesProvider implements BindingsValuesProvider {
+public class SlyBindingsValuesProvider {
public static final String SCR_PROP_JS_BINDING_IMPLEMENTATIONS = "org.apache.sling.scripting.sightly.js.bindings";
@@ -113,8 +110,7 @@ public class SlyBindingsValuesProvider implements BindingsValuesProvider {
private Script qScript;
private final ScriptableObject qScope = createQScope();
- @Override
- public void addBindings(Bindings bindings) {
+ public void processBindings(Bindings bindings) {
if (needsInit()) {
init(bindings);
}
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.