Search in sources :

Example 1 with ScriptNotFoundException

use of org.craftercms.engine.exception.ScriptNotFoundException in project engine by craftercms.

the class GroovyScript method execute.

@Override
public Object execute(Map<String, Object> variables) throws ScriptException {
    Map<String, Object> allVariables = new HashMap<String, Object>();
    if (MapUtils.isNotEmpty(globalVariables)) {
        allVariables.putAll(globalVariables);
    }
    if (MapUtils.isNotEmpty(variables)) {
        allVariables.putAll(variables);
    }
    MDC.put(SCRIPT_URL_MDC_KEY, scriptUrl);
    try {
        return scriptEngine.run(scriptUrl, new Binding(allVariables));
    } catch (Exception e) {
        Throwable cause = e.getCause();
        if (e instanceof ResourceException && cause instanceof FileNotFoundException) {
            throw new ScriptNotFoundException(cause.getMessage(), cause);
        } else {
            throw new ScriptException(e.getMessage(), e);
        }
    } finally {
        MDC.remove(SCRIPT_URL_MDC_KEY);
    }
}
Also used : Binding(groovy.lang.Binding) ScriptException(org.craftercms.engine.exception.ScriptException) HashMap(java.util.HashMap) FileNotFoundException(java.io.FileNotFoundException) ResourceException(groovy.util.ResourceException) ScriptNotFoundException(org.craftercms.engine.exception.ScriptNotFoundException) ScriptException(org.craftercms.engine.exception.ScriptException) ResourceException(groovy.util.ResourceException) ScriptNotFoundException(org.craftercms.engine.exception.ScriptNotFoundException) FileNotFoundException(java.io.FileNotFoundException)

Aggregations

Binding (groovy.lang.Binding)1 ResourceException (groovy.util.ResourceException)1 FileNotFoundException (java.io.FileNotFoundException)1 HashMap (java.util.HashMap)1 ScriptException (org.craftercms.engine.exception.ScriptException)1 ScriptNotFoundException (org.craftercms.engine.exception.ScriptNotFoundException)1