package Ġcom . samples . verifier . internal . utils Ċ Ċ import Ġcom . fasterxml . jackson . module . kotlin . jackson ObjectMapper Ċ import Ġcom . samples . verifier . Call Exception Ċ import Ġcom . samples . verifier . Code Snippet Ċ import Ġcom . samples . verifier . Kotlin Env Ċ import Ġcom . samples . verifier . internal . api . Samples Verifier Service Ċ import Ġcom . samples . verifier . model .* Ċ import Ġretrofit 2 . Response Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . jackson . Jack son Converter Factory Ċ import Ġretrofit 2 . converter . jax b . Jax b Converter Factory Ċ import Ġjava . io . IOException Ċ Ċ const Ġval ĠNUMBER _ OF _ REQUEST S Ġ= Ġ 3 Ċ Ċ internal Ġclass ĠExecution Helper ( baseUrl : ĠString , Ġprivate Ġval Ġkotlin Env : ĠKotlin Env ) Ġ{ ĊĊĠ Ġprivate Ġval Ġservice : ĠSamples Verifier Service Ġ= ĠRet rofit . Builder () ĊĠĠĠ Ġ. baseUrl ( baseUrl ) ĊĠĠĠ Ġ. add Converter Factory ( Jax b Converter Factory . create ()) ĊĠĠĠ Ġ. add Converter Factory ( Jack son Converter Factory . create ( jackson ObjectMapper ())) ĊĠĠĠ Ġ. build () ĊĠĠĠ Ġ. create ( Samples Verifier Service :: class . java ) ĊĊĠ Ġfun Ġexecute Code ( ĊĠĠĠ Ġcode Snippet : ĠCode Snippet ĊĠ Ġ): ĠExecution Result Ġ{ ĊĠĠĠ Ġreturn Ġwhen Ġ( kotlin Env ) Ġ{ ĊĠĠĠĠĠ ĠKotlin Env . JVM Ġ-> Ġexecute Code JVM ( code Snippet ) ĊĠĠĠĠĠ ĠKotlin Env . JS Ġ-> Ġexecute Code JS ( code Snippet ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġexecute Code JVM ( code Snippet : ĠCode Snippet ): ĠExecution Result Ġ{ ĊĠĠĠ Ġval Ġproject Ġ= ĠProject ("", ĠlistOf ( Kotlin File (" filename . kt ", Ġcode Snippet . code ))) ĊĠĠĠ Ġvar Ġresponse : ĠResponse < Execution Response >? Ġ= Ġnull ĊĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. NUMBER _ OF _ REQUEST S ) Ġ{ ĊĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġresponse Ġ= Ġservice . execute Code JVM ( project ). execute () ĊĠĠĠĠĠĠĠ Ġif Ġ( response !!. is Successful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( i Ġ== ĠNUMBER _ OF _ REQUEST S ) Ġthrow Ġe ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġif Ġ( response !!. is Successful ) Ġ{ ĊĠĠĠĠĠ Ġval Ġr Ġ= Ġresponse . body () !! ĊĠĠĠĠĠ ĠExecution Result ( ĊĠĠĠĠĠĠĠ Ġr . errors [" filename . kt "] Ġ?: Ġerror (" unexpected Ġresponse Ġstructure "), ĊĠĠĠĠĠĠĠ Ġr . exception , ĊĠĠĠĠĠĠĠ Ġr . text , ĊĠĠĠĠĠĠĠ Ġcode Snippet . filename ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ġelse Ġthrow ĠCall Exception ( response . error Body () !!. string ()) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġexecute Code JS ( code Snippet : ĠCode Snippet ): ĠExecution Result Ġ{ ĊĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") ĊĠ Ġ} Ċ } Ċ Ċ internal Ġdata Ġclass ĠExecution Response ( ĊĠ Ġval Ġerrors : ĠMap < String , ĠList < Error Descriptor >>, ĊĠ Ġval Ġexception : ĠException Descriptor ?, ĊĠ Ġval Ġtext : ĠString Ċ )