/* Ċ Ġ* ĠCopyright Ġ( c ) ĠMicrosoft ĠCorporation Ċ Ġ* Ċ Ġ* ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ* ĠMIT ĠLicense Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ġof Ġthis Ġsoftware Ġand Ġassociated Ċ Ġ* Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ċ Ġ* Ġthe Ġrights Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ġcopies Ġof Ġthe ĠSoftware , Ġand Ċ Ġ* Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ġcopies Ġor Ġsubstantial Ġportions Ġof Ċ Ġ* Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ* AS ĠIS *, ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO Ċ Ġ* ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , Ċ Ġ* ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE Ċ Ġ* ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġcom . microsoft . azure . project arc ad ia . spark . console Ċ Ċ import Ġcom . intellij . execution . configurations . Runtime Configuration Error Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . microsoft . azure . arc ad ia . sdk . common . li vy . interactive . Arc ad ia Spark Session Ċ import Ġcom . microsoft . azure . hdinsight . common . logger . I Logger Ċ import Ġcom . microsoft . azure . hdinsight . sdk . cluster . IC l uster Detail Ċ import Ġcom . microsoft . azure . hdinsight . sdk . common . li vy . interactive . Spark Session Ċ import Ġcom . microsoft . azure . hdinsight . spark . console . Spark Scala L ivy Console Run Configuration Ċ import Ġcom . microsoft . azure . hdinsight . spark . console . Spark Scala L ivy Console Run Configuration Factory Ċ import Ġcom . microsoft . azure . hdinsight . spark . run . configuration . Arc ad ia Spark Submit Model Ċ import Ġcom . microsoft . azure . hdinsight . spark . run . configuration . L ivy Spark Batch Job Run Configuration Ċ import Ġcom . microsoft . azure . project arc ad ia . common . Arc ad ia Spark Compute Ċ import Ġcom . microsoft . azure . project arc ad ia . common . Arc ad ia Spark Compute Manager Ċ import Ġjava . net . URI Ċ import Ġjava . util .* Ċ Ċ class ĠArc ad ia Spark Scala L ivy Console Run Configuration ( project : ĠProject , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfiguration Factory : ĠSpark Scala L ivy Console Run Configuration Factory , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbatch Run Configuration : ĠL ivy Spark Batch Job Run Configuration ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname : ĠString ) ĊĠĠĠ Ġ: ĠSpark Scala L ivy Console Run Configuration ( ĊĠĠĠĠĠĠĠ Ġproject , Ġconfiguration Factory , Ġbatch Run Configuration , Ġname ), ĠILogger Ġ{ ĊĠĠĠ Ġoverride Ġval Ġrun Configuration TypeName : ĠString Ġ= Ġ" Syn apse ĠSpark ĠRun ĠConfiguration " ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Session ( spark Cluster : ĠI Cluster Detail ): ĠSpark Session Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġli vy Url Ġ= Ġspark Cluster . connection Url Ġ?: Ġthrow ĠRuntime Configuration Error ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Can 't Ġprepare ĠSyn apse ĠSpark Ġinteractive Ġsession Ġsince ĠL ivy ĠURL Ġis Ġempty ") ĊĊĠĠĠĠĠĠĠ Ġreturn ĠArc ad ia Spark Session ( name , ĠURI . create ( li vy Url ), Ġspark Cluster . subscription . tenantId ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfind Cluster ( cluster Name : ĠString ): ĠArc ad ia Spark Compute Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġar cad ia Model Ġ= Ġ( submit Model Ġas ? ĠArc ad ia Spark Submit Model )?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( spark Compute Ġ== Ġnull Ġ|| Ġtenant Id Ġ== Ġnull Ġ|| Ġspark Workspace Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog (). warn (" Syn apse ĠSpark Ġpool Ġis Ġnot Ġselected . Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Spark Ġpool : Ġ$ spark Compute , Ġtenant Ġid : Ġ$ tenantId , Ġspark Ġworkspace : Ġ$ spark Workspace ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntime Configuration Error (" Syn apse ĠSpark Ġpool Ġis Ġnot Ġselected ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġ?: Ġthrow ĠRuntime Configuration Error (" Can 't Ġcast Ġsubmit Model Ġto ĠArc ad ia Spark Submit Model ") ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArc ad ia Spark Compute Manager . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. find Compute ( arc ad ia Model . tenantId , Ġar cad ia Model . spark Workspace , Ġar cad ia Model . spark Compute ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Blocking () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. first () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠNoSuch ElementException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntime Configuration Error ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Can 't Ġfind ĠSyn apse ĠSpark Ġpool Ġ(${ arc ad ia Model . spark Workspace }:${ arc ad ia Model . spark Compute })" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ" Ġat Ġtenant Ġ${ arc ad ia Model . tenantId }. ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }