throw new ScriptCompilationException(script, "Execution failure", ex);
}
}
protected ScriptEngine discoverEngine(ScriptSource script, Map<String, Object> arguments) {
ScriptEngineManager engineManager = new ScriptEngineManager(classLoader);
ScriptEngine engine = null;
if (StringUtils.hasText(language)) {
engine = engineManager.getEngineByName(language);
}
else {
// make use the extension (enhanced ScriptSource interface)
Assert.hasText(extension, "no language or extension specified");
engine = engineManager.getEngineByExtension(extension);
}
Assert.notNull(engine, "No suitable engine found for "
+ (StringUtils.hasText(language) ? "language " + language : "extension " + extension));