in src/main/java/com/epam/gmp/service/GroovyScriptEngineService.java [169:203]
public <R> ScriptResult<R> runScript(ScriptContext scriptContext) throws ScriptExecutionException {
try {
// fix issue with jackson caching
JsonMapper.getInstance().cleanCache();
Script script = createScript(scriptContext);
if (script != null) {
if (logger.isInfoEnabled()) {
logger.info("Start script: <{}>", scriptContext.getScriptId());
}
Object scriptResult = script.run();
ScriptResult<R> result;
logger.info("Script finished: <{}>={}", scriptContext.getScriptId(), scriptResult == null ? NULL_RESULT : scriptResult.toString());
if (scriptResult instanceof ScriptResult) {
result = (ScriptResult<R>) scriptResult;
} else {
result = new ScriptResult(scriptResult);
}
putResult(result, scriptContext);
return result;
}
} catch (Exception e) {
if (logger.isErrorEnabled()) {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
logger.error("Unable to run: '{}' message: {}", scriptContext.getScriptName(), sw);
putResult(1, scriptContext);
}
throw new ScriptExecutionException(e);
}
return null;
}