public void init()

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);
        }
    }