package Ġjet brains . build Server . agent . runner ĊĊ Ċ class ĠParameters ServiceImpl ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġ_ build Step Context : ĠBuild Step Context ) Ġ: ĠParameters Service Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġtry Get Parameter ( parameter Type : ĠParameter Type , Ġparameter Name : ĠString ) Ġ= Ġwhen Ġ( parameter Type ) Ġ{ ĊĠĠĠĠĠĠĠ ĠParameter Type . Runner Ġ-> Ġ_ build Step Context . runner Context . runner Parameters [ parameter Name ] ĊĠĠĠĠĠĠĠ ĠParameter Type . Configuration Ġ-> Ġ_ build Step Context . runner Context . config Parameters [ parameter Name ] ĊĠĠĠĠĠĠĠ ĠParameter Type . Environment Ġ-> Ġ_ build Step Context . runner Context . build Parameters . environment Variables [ parameter Name ] ĊĠĠĠĠĠĠĠ ĠParameter Type . System Ġ-> Ġ_ build Step Context . runner Context . build Parameters . system Properties [ parameter Name ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Parameter Names ( parameter Type : ĠParameter Type ) Ġ= Ġwhen Ġ( parameter Type ) Ġ{ ĊĠĠĠĠĠĠĠ ĠParameter Type . Runner Ġ-> Ġget Names (_ build Step Context . runner Context . runner Parameters ) ĊĠĠĠĠĠĠĠ ĠParameter Type . Configuration Ġ-> Ġget Names (_ build Step Context . runner Context . config Parameters ) ĊĠĠĠĠĠĠĠ ĠParameter Type . Environment Ġ-> Ġget Names (_ build Step Context . runner Context . build Parameters . environment Variables ) ĊĠĠĠĠĠĠĠ ĠParameter Type . System Ġ-> Ġget Names (_ build Step Context . runner Context . build Parameters . system Properties ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtry Get Build Feature Parameter ( build Feature Type : ĠString , Ġparameter Name : ĠString ): ĠString ? Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ build Step Context . runner Context . build ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Build Features OfType ( build Feature Type ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġbuild Feature Type . equals ( it . type , Ġtrue ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . parameters [ parameter Name ] Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. first OrNull () ĊĊĠĠĠ Ġprivate Ġfun Ġget Names ( map : ĠMap < String ?, ĠString ?> ): ĠSequence < String > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap . keys . filter Ġ{ Ġit Ġ!= Ġnull Ġ}. map Ġ{ Ġit Ġas ĠString Ġ}. as Sequence () Ċ }