/** Ċ Ġ* ĠCopyright Ġ 2 0 1 0 Ġ- Ġ 2 0 2 1 ĠJetBrains Ġs . r . o . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġjet brains . ex od us . javascript Ċ Ċ import Ġjet brains . ex od us . env . Transactional Executable Ċ import Ġorg . mozilla . javascript . Context Ċ import Ġorg . mozilla . javascript . Script Ċ import Ġorg . mozilla . javascript . Script able Ċ import Ġorg . mozilla . javascript . Script ableObject Ċ Ċ internal Ġclass ĠEnvironment Rh ino Command ( config : ĠMap < String , Ġ* >) Ġ: ĠR h ino Command ( config ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġeval Transactional Script ( cx : ĠContext , Ġscript : ĠScript , Ġinter op : ĠInter op , Ġscope : ĠScript able ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġenv Ġ= Ġinter op . env ĊĠĠĠĠĠĠĠ Ġif Ġ( env Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenv . execute In Transaction ( Transactional Executable Ġ{ Ġtxn Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠScript ableObject . put Property ( scope , ĠTX N _ PARAM , ĠContext . java To JS ( txn , Ġscope )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocess Script ( interop , Ġscript , Ġcx , Ġscope ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprocess Script ( interop , Ġscript , Ġcx , Ġscope ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġeval Init Scripts ( cx : ĠContext , Ġscope : ĠScript able ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . eval Init Scripts ( cx , Ġscope ) ĊĠĠĠĠĠĠĠ Ġeval Resource Scripts ( cx , Ġscope , Ġ" environments . js ") ĊĠĠĠ Ġ} Ċ }