package Ġcom . ml ree f . rest . api . v 1 . dto Ċ Ċ import Ġcom . ml ree f . rest . domain . Experiment Ċ import Ġcom . ml ree f . rest . domain . File Location Ċ import Ġcom . ml ree f . rest . domain . Processor Instance Ċ import Ġcom . ml ree f . rest . domain . helpers . Data Class With Id Ċ import Ġcom . ml ree f . rest . exceptions . Internal Exception Ċ import Ġjava . util . UUID Ċ import Ġjavax . validation . Valid Ċ import Ġjavax . validation . constraints . NotEmpty Ċ Ċ class ĠExperiment Dto ( ĊĠĠĠ Ġoverride Ġval Ġid : ĠUUID , ĊĠĠĠ Ġval Ġdata ProjectId : ĠUUID , ĊĠĠĠ Ġval Ġdata InstanceId : ĠUUID ?, ĊĠĠĠ Ġval Ġslug : ĠString , ĊĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠ Ġval Ġnumber : ĠInt , ĊĠĠĠ Ġ@ get : NotEmpty Ġval Ġsource Branch : ĠString , ĊĠĠĠ Ġ@ get : NotEmpty Ġval Ġtarget Branch : ĠString , ĊĠĠĠ Ġval Ġstatus : ĠString , ĊĠĠĠ Ġval Ġpipeline Job Info : ĠPipeline Job Info Dto ? Ġ= Ġnull , ĊĠĠĠ Ġ@ get : Valid Ġval Ġinput Files : ĠList < File Location Dto >? Ġ= Ġarray ListOf (), ĊĠĠĠ Ġ@ get : Valid Ġval Ġprocessing : ĠProcessor Instance Dto ? Ġ= Ġnull , ĊĠĠĠ Ġ@ get : Valid Ġval Ġpost Processing : ĠList < Processor Instance Dto >? Ġ= Ġarray ListOf (), ĊĠĠĠ Ġval Ġjson Blob : ĠString Ġ= Ġ"", ĊĠĠĠ Ġval Ġcreated By : ĠUUID ? Ġ= Ġnull , Ċ ) Ġ: ĠData Class With Id Ċ Ċ internal Ġfun ĠExperiment . to Dto (): ĠExperiment Dto Ġ= ĊĠĠĠ ĠExperiment Dto ( ĊĠĠĠĠĠĠĠ Ġid Ġ= Ġthis . id , ĊĠĠĠĠĠĠĠ Ġdata ProjectId Ġ= Ġthis . data Project ?. id Ġ?: Ġthrow ĠInternal Exception (" Experiment Ġ${ this . id } Ġis Ġnot Ġattached Ġto Ġdata Ġprocessor "), ĊĠĠĠĠĠĠĠ Ġdata InstanceId Ġ= Ġthis . pipeline ?. id , ĊĠĠĠĠĠĠĠ Ġslug Ġ= Ġthis . slug , ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġthis . name , ĊĠĠĠĠĠĠĠ Ġnumber Ġ= Ġthis . number Ġ?: Ġ 0 , ĊĠĠĠĠĠĠĠ Ġsource Branch Ġ= Ġthis . source Branch , ĊĠĠĠĠĠĠĠ Ġtarget Branch Ġ= Ġthis . target Branch , ĊĠĠĠĠĠĠĠ Ġinput Files Ġ= Ġthis . input Files . map ( File Location :: to Dto ), ĊĠĠĠĠĠĠĠ Ġstatus Ġ= Ġthis . status . name , ĊĠĠĠĠĠĠĠ Ġjson Blob Ġ= Ġthis . json Blob , ĊĠĠĠĠĠĠĠ Ġpipeline Job Info Ġ= Ġthis . pipeline Job Info ?. to Dto (), ĊĠĠĠĠĠĠĠ Ġpost Processing Ġ= Ġthis . post Processing . map ( Processor Instance :: to Dto ), ĊĠĠĠĠĠĠĠ Ġprocessing Ġ= Ġthis . get Processor ()?. to Dto (), ĊĠĠĠĠĠĠĠ Ġcreated By Ġ= Ġthis . creator ?. id , ĊĠĠĠ Ġ)