in extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/FactoryEngines.java [46:96]
public void init() throws IOException
{
//loadEnginesDynamically();
ScriptingEngine javaEngine = new EngineJava();
ScriptingEngine groovyEngine = null;
ScriptingEngine scalaEngine = null;
ScriptingEngine jrubyEngine = null;
try
{
ClassUtils.getContextClassLoader().loadClass("groovy.lang.GroovyObject");
groovyEngine = (ScriptingEngine) ReflectUtil.instantiate("org.apache.myfaces.extensions.scripting.core" +
".engine.EngineGroovy");
}
catch (Exception ex)
{
}
try
{
ClassUtils.getContextClassLoader().loadClass("scala.ScalaObject");
scalaEngine = (ScriptingEngine) ReflectUtil.instantiate("org.apache.myfaces.extensions.scripting.core" +
".engine.EngineScala");
}
catch (Exception ex)
{
}
try
{
ClassUtils.getContextClassLoader().loadClass("org.jruby.RubyObject");
jrubyEngine = (ScriptingEngine) ReflectUtil.instantiate("org.apache.myfaces.extensions.scripting.core" +
".engine.EngineJRuby");
}
catch (Exception ex)
{
}
if (_engines.isEmpty())
{
//We now add the keys as linked hashmap keys
//so that java always is last hence the class
//detection has to work from top to bottom
if (groovyEngine != null)
_engines.put(groovyEngine.getEngineType(), groovyEngine);
if (scalaEngine != null)
_engines.put(scalaEngine.getEngineType(), scalaEngine);
if (jrubyEngine != null) {
_engines.put(jrubyEngine.getEngineType(), jrubyEngine);
}
_engines.put(javaEngine.getEngineType(), javaEngine);
}
}