package Ġio . plugin . ts node . execution Ċ Ċ import Ġcom . intellij . execution . Run Manager Ex Ċ import Ġcom . intellij . execution . configuration . Configuration Factory Ex Ċ import Ġcom . intellij . execution . configurations . Run Configuration Ċ import Ġcom . intellij . execution . configurations . Run Configuration Module Ċ import Ġcom . intellij . execution . configurations . Configuration Factory Ċ import Ġcom . intellij . execution . configuration . Run Configuration Extension Base Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġio . plugin . ts node . lib . Ts Log Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* Ġ@ todo ĠConfiguration Factory Ex Ġis Ġdeprecated Ġin Ġjava Ċ Ġ*/ Ċ class ĠTs Configuration Factory ( configuration Type : ĠTs Configuration Type ) Ġ: ĠConfiguration Factory Ex < Ts Run Configuration >( configuration Type ) Ċ { Ċ ĉ val ĠLOG Ġ= ĠTs Log ( java Class ) ĊĊ ĉ override Ġfun Ġon New Configuration Created ( configuration : ĠTs Run Configuration ) Ċ ĉ { Ċĉ ĉ // LOG . info ("[ on New Configuration Created ] Ġ$ configuration ") ĊĊĉ ĉ // the Ġlast Ġparam Ġhas Ġto Ġbe Ġfalse Ġbecause Ġwe Ġdo Ġnot Ġwant Ġa Ġfallback Ġto Ġthe Ġtemplate Ġ( we 're Ġcreating Ġit Ġright Ġnow ) Ġ( avoid ing Ġa ĠSO E ) Ċĉ ĉ Run Manager Ex . getInstance Ex ( configuration . project ) Ċĉĉ ĉ . set Before Run Tasks ( configuration , ĠCollections . emptyList ()) Ċ ĉ } ĊĊ ĉ override Ġfun Ġcreate Template Configuration ( project : ĠProject ): ĠRun Configuration Ċ ĉ { Ċĉ ĉ val Ġconfiguration Ġ= ĠTs Run Configuration ( getModule ( project ), Ġthis , Ġ"") ĊĊĉ ĉ // LOG . info ("[ on New Configuration Created ] Ġ$ configuration ") ĊĊĉ ĉ return Ġconfiguration Ċ ĉ } ĊĊ ĉ fun Ġget Module ( project : ĠProject ): ĠRun Configuration Module Ċ ĉ { Ċĉ ĉ return ĠRun Configuration Module ( project ) Ċ ĉ } ĊĊ ĉ override Ġfun ĠgetId (): ĠString Ċ ĉ { Ċĉ ĉ return Ġthis . name Ċ ĉ } Ċ Ċ } Ċ