package Ġru . ag alk in . be holder . commands Ċ Ċ import Ġru . ag alk in . be holder . Be holder Ċ import Ġru . ag alk in . be holder . Be holder Exception Ċ import Ġru . ag alk in . be holder . Message Ċ import Ġru . ag alk in . be holder . config . Template Parser Ċ import Ġru . ag alk in . be holder . config . expressions . Arguments Ċ import Ġru . ag alk in . be holder . config . expressions . Leaf Command Abstract Ċ import Ġru . ag alk in . be holder . con veyor . Con veyor Ċ import Ġru . ag alk in . be holder . con veyor . Step Ċ import Ġru . ag alk in . be holder . con veyor . Step Result Ċ import Ġru . ag alk in . be holder . format ters .* Ċ Ċ class ĠSet Command ( app : ĠBe holder , Ġarguments : ĠArguments ) Ġ: ĠLeaf Command Abstract ( app , Ġarguments ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġfield Ġ= Ġarguments . shift FieldName (" First Ġargument Ġto Ġ` set ` Ġshould Ġbe Ġa Ġfield Ġname Ġ(` set Ġ\$ payload Ġ... `) ") ĊĠĠĠ Ġprivate Ġval Ġformatter : ĠFormatter ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġset Ġ$ field Ġfunction Ġ[... ] ĊĠĠĠĠĠĠĠ Ġ// Ġset Ġ$ field Ġ' interpol ated - value ' ĊĊĠĠĠĠĠĠĠ Ġval Ġarg Ġ= Ġarguments . shift Any Literal OrNull () ĊĠĠĠĠĠĠĠ Ġformatter Ġ= Ġwhen Ġ( arg ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" syslog " Ġ-> ĠSys log I et f Formatter ( app ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" prefix - with - length " Ġ-> ĠSys log Frame Formatter () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" syslog - frame " Ġ-> ĠSys log Frame Formatter () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" dump " Ġ-> ĠDump Formatter () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" time ", Ġ" date " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġformat : ĠTime Formatter . Format ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( arguments . shift Literal OrNull (" as ") Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġliteral Ġ= Ġarguments . shift Any Literal OrNull () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( literal Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnamed Format Ġ= ĠTime Formatter . getName d Format ( literal ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( named Format Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġformat Ġ= Ġnamed Format ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġformat Ġ= ĠTime Formatter . getSimple DateFormat ( literal ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstring Ġ= Ġarguments . shift Fixed String (" ` set Ġ... Ġ$ arg Ġas ` Ġneeds Ġa Ġstring ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġformat Ġ= ĠTime Formatter . getSimple DateFormat ( string ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġformat Ġ= Ġwhen Ġ( arg ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" time " Ġ-> ĠTime Formatter . FORMAT _ TIME ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" date " Ġ-> ĠTime Formatter . FORMAT _ DATE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠBe holder Exception (" Imp ossible ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdate Source : ĠTemplate Formatter ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( arguments . shift Literal OrNull (" in ") Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate Source Ġ= Ġarguments . shift String Template Strict Syntax (" ` set Ġ... Ġ$ arg Ġin ` Ġneeds Ġa Ġstring ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTime Formatter ( format , Ġdate Source ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" host " Ġ-> ĠHost Formatter () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" env " Ġ-> ĠEnv Formatter ( arguments . shift Fixed String (" ` set Ġ... Ġenv ` Ġneeds Ġan Ġenvironment Ġvariable Ġname ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" basename " Ġ-> ĠBas ename Formatter ( arguments . shift String Template Strict Syntax (" ` set Ġ... Ġbasename ` Ġneeds Ġa Ġfile Ġpath ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" severity - name " Ġ-> ĠSeverity Name Formatter ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments . shift String Template Strict Syntax (" ` set Ġ... Ġseverity - name ` Ġneeds Ġa Ġseverity Ġnumber "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments . shift Literal OrNull (" lowercase ") Ġ!= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" json " Ġ-> ĠJson Formatter ( null If Empty ( scan Arguments As Field Names ( arguments , Ġ"` set Ġ... Ġjson ` Ġarguments Ġmust Ġbe Ġfield Ġnames "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" field pack " Ġ-> ĠField pack Formatter ( null If Empty ( scan Arguments As Field Names ( arguments , Ġ"` set Ġ... Ġfield pack ` Ġarguments Ġmust Ġbe Ġfield Ġnames "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" replace " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġregexp Ġ= Ġarguments . shift Regexp (" ` replace ` Ġneeds Ġa Ġregexp ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġreplacement Template Ġ= Ġarguments . shift String Template F org iving Syntax (" ` replace ` Ġneeds Ġa Ġreplacement Ġstring ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsubject Template : ĠTemplate Formatter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( arguments . shift Literal OrNull (" in ") Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubject Template Ġ= Ġarguments . shift String Template Strict Syntax (" ` replace Ġ... Ġin ` Ġneeds Ġa Ġstring ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubject Template Ġ= ĠTemplate Formatter . of Field ( field ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠReplace Formatter ( regexp , Ġreplacement Template , Ġsubject Template ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġ-> Ġarguments . shift String Template Strict Syntax (" ` set ` Ġneeds Ġat Ġleast Ġtwo Ġarguments ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠTemplate Formatter . create ( Template Parser . parse ( arg , Ġfalse , Ġfalse )) Ġ// Ġfrom Ġan Ġunknown Ġliteral ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġarguments . end () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġscan Arguments As Field Names ( arguments : ĠArguments , ĠerrorMessage : ĠString ): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfields Ġ= Ġmutable ListOf < String >() ĊĠĠĠĠĠĠĠ Ġwhile Ġ( arguments . hasMore Tokens ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfields . add ( arguments . shift FieldName ( errorMessage )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfields ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġ< T > Ġnull If Empty ( list : ĠList < T >): ĠList < T >? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif ( list . isEmpty ()) Ġnull Ġelse Ġlist ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠSet Step Ġ: ĠStep Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġexecute ( message : ĠMessage ): ĠStep Result Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmessage . set FieldValue ( field , Ġformatter . format Message ( message )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠStep Result . CONTINUE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetDescription () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ= Ġget Definition ( include Sub commands Ġ= Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbuild Con veyor ( con veyor : ĠCon veyor ): ĠCon veyor Ġ{ ĊĠĠĠĠĠĠĠ Ġcon veyor . add Step ( Set Step ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġcon veyor ĊĠĠĠ Ġ} Ċ } Ċ