All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.codelibs.elasticsearch.velocity.VelocityPlugin Maven / Gradle / Ivy

package org.codelibs.elasticsearch.velocity;

import java.nio.file.Path;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;

import org.codelibs.elasticsearch.velocity.script.VelocityScriptEngine;
import org.elasticsearch.common.settings.Setting;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.plugins.Plugin;
import org.elasticsearch.plugins.ScriptPlugin;
import org.elasticsearch.script.ScriptContext;
import org.elasticsearch.script.ScriptEngine;

public class VelocityPlugin extends Plugin implements ScriptPlugin {

    private Path configPath;

    public VelocityPlugin(final Settings settings, Path configPath) {
        this.configPath = configPath;
    }

    @Override
    public ScriptEngine getScriptEngine(Settings settings, Collection> contexts) {
        return new VelocityScriptEngine(settings, configPath);
    }

    @Override
    public List> getSettings() {
        return Arrays.asList(VelocityScriptEngine.SETTING_SCRIPT_VELOCITY_PROPS,
                VelocityScriptEngine.SETTING_SCRIPT_VELOCITY_CONTEXT_PROPS);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy