in src/main/java/org/apache/sling/hc/support/impl/ScriptedHealthCheck.java [252:266]
public ScriptEngine getScriptEngine(ScriptEngineManager scriptEngineManager, String language) {
List<ScriptEngineFactory> engineFactories = scriptEngineManager.getEngineFactories();
ScriptEngine scriptEngine = engineFactories.stream()
.filter(s -> language.equalsIgnoreCase(s.getLanguageName()))
.findFirst()
.map(ScriptEngineFactory::getScriptEngine)
.orElse(null);
if(scriptEngine == null) {
Set<String> availableLanguages = engineFactories.stream()
.map(ScriptEngineFactory::getLanguageName)
.collect(Collectors.toSet());
throw new IllegalArgumentException("No ScriptEngineFactory found for language " + language + " (available languages: " + availableLanguages + ")");
}
return scriptEngine;
}