Package org.apache.sling.scripting.core.impl.helper

Examples of org.apache.sling.scripting.core.impl.helper.SlingScriptEngineManager


     * Refresh the script engine manager.
     */
    private void refreshScriptEngineManager() {
        // create (empty) script engine manager
        final ClassLoader loader = getClass().getClassLoader();
        final SlingScriptEngineManager tmp = new SlingScriptEngineManager(loader);

        // register script engines from bundles
        final SortedSet<Object> extensions = new TreeSet<Object>();
        synchronized (this.engineSpiBundles) {
            for (final Bundle bundle : this.engineSpiBundles) {
                extensions.addAll(registerFactories(tmp, bundle));
            }
        }

        // register script engines from registered services
        synchronized (this.engineSpiServices) {
            for (final Map.Entry<ScriptEngineFactory, Map<Object, Object>> factory : this.engineSpiServices.entrySet()) {
                extensions.addAll(registerFactory(tmp, factory.getKey(),
                    factory.getValue()));
            }
        }

        scriptEngineManager.setDelegatee(tmp);

        // Log messages to verify which ScriptEngine is actually used
        // for our registered extensions
        if (log.isInfoEnabled()) {
            for (Object o : extensions) {
                final String ext = o.toString();
                final ScriptEngine e = tmp.getEngineByExtension(ext);
                if (e == null) {
                    log.warn("No ScriptEngine found for extension '{}' that was just registered", ext);
                } else {
                    log.info("Script extension '{}' is now handled by ScriptEngine '{}', version='{}', class='{}'", new Object[] { ext,
                            e.getFactory().getEngineName(), e.getFactory().getEngineVersion(), e.getClass().getName() });
View Full Code Here


    /* package */ ScriptEngineManager getScriptEngineManager() {
        if (scriptEngineManager == null) {

            // create (empty) script engine manager
            ClassLoader loader = getClass().getClassLoader();
            SlingScriptEngineManager tmp = new SlingScriptEngineManager(loader);

            // register script engines from bundles
            final SortedSet<Object> extensions = new TreeSet<Object>();
            for (Bundle bundle : engineSpiBundles) {
                extensions.addAll(registerFactories(tmp, bundle));
View Full Code Here

TOP

Related Classes of org.apache.sling.scripting.core.impl.helper.SlingScriptEngineManager

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.