[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