package Ġde . tum . www 1 . or ion . build . in structor Ċ Ċ import Ġcom . intellij . execution . Runner And Configuration Settings Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġde . tum . www 1 . or ion . enumeration . Programming Language Ċ import Ġde . tum . www 1 . or ion . util . selected Programming Language Ċ import Ġjava . io . File . separator Char Ċ Ċ /** Ċ Ġ* ĠProvides Ġrun Ġconfigurations Ġby Ġdeleg ating Ġto Ġthe Ġcorrect ĠProvider Ġdepending Ġon Ġthe Ġlanguage Ċ Ġ*/ Ċ object ĠOr ion Local Run Configuration Settings Factory Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreates Ġa Ġrun Ġconfiguration Ġfor Ġmaven Ġclean Ġtest Ġworking Ġin Ġthe Ġmerged _ test Ġdirectory ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġproject Ġproject Ġto Ġgenerate Ġthe Ġconfiguration Ġfor ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġconfiguration ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġrun Configuration For In structor ( project : ĠProject ): ĠRunner And Configuration Settings Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( project . selected Programming Language ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠProgramming Language . JAVA Ġ-> ĠJava Run Configuration Provider ( project ). provide Build And Test Run Configuration ("${ project . basePath !! }$ separator Char ${ Or ion In structor Build Util . LOCAL _ TEST _ DIRECTORY }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" Unsupported Ġprogramming Ġlanguage Ġfor Ġrun Ġconfiguration Ġ" Ġ+ Ġproject . selected Programming Language ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreates Ġa Ġrun Ġconfiguration Ġfor Ġmaven Ġclean Ġtest Ġworking Ġin Ġthe Ġbase Ġdirectory ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġproject Ġproject Ġto Ġgenerate Ġthe Ġconfiguration Ġfor ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġconfiguration ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġrun Configuration For T utor ( project : ĠProject ): ĠRunner And Configuration Settings Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( project . selected Programming Language ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġmaven Ġclean Ġtest Ġshould Ġwork Ġfor Ġany Ġlanguage ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠJava Run Configuration Provider ( project ). provide Build And Test Run Configuration ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject . basePath !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ