private ScriptableObject createContext ( final ScriptableObject initialScope ) { final Context context = getContext ( ) ; context . setOptimizationLevel ( - 1 ) ; // TODO redirect errors from System.err to LOG.error() context . setErrorReporter ( new ToolErrorReporter ( false ) ) ; context . setLanguageVersion ( Context . VERSION_1_8 ) ; InputStream script = null ; final ScriptableObject scriptCommon = ( ScriptableObject ) context . initStandardObjects ( initialScope ) ; try { script = new AutoCloseInputStream ( getClass ( ) . getResourceAsStream ( "commons.js" ) ) ; context . evaluateReader ( scriptCommon , new InputStreamReader ( script ) , "commons.js" , 1 , null ) ; } catch ( final IOException e ) { throw new RuntimeException ( "Problem while evaluationg commons script." , e ) ; } finally { IOUtils . closeQuietly ( script ) ; } return scriptCommon ; }
Initialize the context .