package Ġcom . dop pl ert ask . dop pl ert ask . domain . action . common Ċ Ċ import Ġcom . dop pl ert ask . dop pl ert ask . domain . ActionResult Ċ import Ġcom . dop pl ert ask . dop pl ert ask . domain . StatusCode Ċ import Ġcom . dop pl ert ask . dop pl ert ask . domain . Task Execution Ċ import Ġcom . dop pl ert ask . dop pl ert ask . domain . action . Action Ċ import Ġcom . dop pl ert ask . dop pl ert ask . domain . action . Action . Property Information . Property Information Type Ċ import Ġcom . dop pl ert ask . dop pl ert ask . service . Broadcast Listener Ċ import Ġcom . dop pl ert ask . dop pl ert ask . service . Task Service Ċ import Ġcom . dop pl ert ask . dop pl ert ask . service . Variable Extractor Util Ċ import Ġjava . io . IOException Ċ import Ġjavax . persistence .* Ċ Ċ @ Entity Ċ @ Table ( name Ġ= Ġ" Print Action ") Ċ @ Discriminator Value (" print _ action ") Ċ class ĠPrint Action Ġ: ĠAction Ġ{ ĊĠĠĠ Ġ@ L ob ĊĠĠĠ Ġ@ Column ( column Definition Ġ= Ġ" TEXT ") ĊĠĠĠ Ġvar Ġmessage : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġconstructor () Ġ{} ĊĠĠĠ Ġconstructor ( message : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . message Ġ= Ġmessage ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠ Ġoverride Ġfun Ġrun ( task Service : ĠTask Service , Ġexecution : ĠTask Execution , Ġvariable Extractor Util : ĠVariable Extractor Util , Ġbroadcast Listener : ĠBroadcast Listener ?): ĠActionResult Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmessage Variable Ġ= Ġvariable Extractor Util . extract ( message , Ġexecution , Ġscript Language ) ĊĠĠĠĠĠĠĠ Ġval Ġaction Result Ġ= ĠActionResult () ĊĠĠĠĠĠĠĠ Ġaction Result . is Broadcast Message Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( message Variable . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction Result . output Ġ= Ġmessage Variable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction Result . statusCode Ġ= ĠStatusCode . SUCCESS ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction Result . error Msg Ġ= Ġ" No Ġoutput " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction Result . statusCode Ġ= ĠStatusCode . FAILURE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġaction Result ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġaction Info : ĠMutable List < Property Information > ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaction Info Ġ= Ġsuper . action Info ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction Info . add ( Property Information (" message ", Ġ" Message ", ĠProperty Information Type . MULT IL INE )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġaction Info ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġdescription : ĠString Ġ= Ġ" Print Ġa Ġconsole Ġmessage " Ċ }