[java-support] 09/10: JSPT-95 fallback to private JSR203 providers

Rod Widdowson rdw at steadingsoftware.com
Wed Jun 10 14:21:58 UTC 2020


This is an automated email from the git hooks/post-receive script.

rdw pushed a commit to branch master
in repository java-support.

View the commit online:
http://git.shibboleth.net/view/?p=java-support.git;a=commit;h=6344fb63baaf76816648e44cc4b2eb55ea1ae4e0

commit 6344fb63baaf76816648e44cc4b2eb55ea1ae4e0
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Wed Apr 8 09:13:30 2020 +0100

    JSPT-95 fallback to private JSR203 providers
    
    https://issues.shibboleth.net/jira/browse/JSPT-95
---
 .../utilities/java/support/scripting/EvaluableScript.java     | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/main/java/net/shibboleth/utilities/java/support/scripting/EvaluableScript.java b/src/main/java/net/shibboleth/utilities/java/support/scripting/EvaluableScript.java
index 31511af..5fa4546 100644
--- a/src/main/java/net/shibboleth/utilities/java/support/scripting/EvaluableScript.java
+++ b/src/main/java/net/shibboleth/utilities/java/support/scripting/EvaluableScript.java
@@ -32,6 +32,9 @@ import javax.script.ScriptEngine;
 import javax.script.ScriptEngineManager;
 import javax.script.ScriptException;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import net.shibboleth.utilities.java.support.annotation.ParameterName;
 import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
@@ -61,6 +64,9 @@ public final class EvaluableScript extends AbstractInitializableComponent {
 
     /** The compiled form of the script, if the script engine supports compiling. */
     @Nullable private CompiledScript compiledScript;
+    
+    /** The log. */
+    @Nonnull private final Logger log = LoggerFactory.getLogger(EvaluableScript.class);
 
     /**
      * Constructor.
@@ -394,6 +400,11 @@ public final class EvaluableScript extends AbstractInitializableComponent {
 
         final ScriptEngineManager engineManager = new ScriptEngineManager();
         scriptEngine = engineManager.getEngineByName(scriptLanguage);
+        if (scriptEngine == null) {
+            // fallback into our private implementations?
+            log.debug("Native support for {} not found, trying shibboleth-{}", scriptLanguage, scriptLanguage);
+            scriptEngine = engineManager.getEngineByName("shibboleth-" + scriptLanguage);
+        }
         Constraint.isNotNull(scriptEngine, "No scripting engine associated with scripting language " + scriptLanguage);
 
         if (scriptEngine instanceof Compilable) {

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list