You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ol...@apache.org on 2019/09/15 15:31:31 UTC
[sling-org-apache-sling-scripting-core] branch master updated:
SLING-4330 Select script engines in SlingScriptAdapterFactory via mapping
This is an automated email from the ASF dual-hosted git repository.
olli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-scripting-core.git
The following commit(s) were added to refs/heads/master by this push:
new 9f6efcc SLING-4330 Select script engines in SlingScriptAdapterFactory via mapping
9f6efcc is described below
commit 9f6efcc30342736cb02895ad40558920c79ce2c0
Author: Oliver Lietz <ol...@apache.org>
AuthorDate: Sun Sep 15 17:31:23 2019 +0200
SLING-4330 Select script engines in SlingScriptAdapterFactory via mapping
Do not use picker when no or only one engine is available per script extension
---
.../sling/scripting/core/impl/SlingScriptAdapterFactory.java | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/main/java/org/apache/sling/scripting/core/impl/SlingScriptAdapterFactory.java b/src/main/java/org/apache/sling/scripting/core/impl/SlingScriptAdapterFactory.java
index 4f64f5d..c7bc766 100644
--- a/src/main/java/org/apache/sling/scripting/core/impl/SlingScriptAdapterFactory.java
+++ b/src/main/java/org/apache/sling/scripting/core/impl/SlingScriptAdapterFactory.java
@@ -94,7 +94,14 @@ public class SlingScriptAdapterFactory implements AdapterFactory, MimeTypeProvid
final String extension = path.substring(path.lastIndexOf('.') + 1);
final List<ScriptEngine> engines = scriptEngineManager.getEnginesByExtension(extension);
- final ScriptEngine engine = scriptEnginePicker.pickScriptEngine(engines, resource, extension);
+ final ScriptEngine engine;
+ if (engines.size() == 0) {
+ return null;
+ } else if (engines.size() == 1) {
+ engine = engines.get(0);
+ } else {
+ engine = scriptEnginePicker.pickScriptEngine(engines, resource, extension);
+ }
if (engine != null) {
final Collection<BindingsValuesProvider> bindingsValuesProviders = bindingsValuesProviderTracker.getBindingsValuesProviders(engine.getFactory(), BINDINGS_CONTEXT);
// unchecked cast