package Ġnet . nem eros a . on track . model . structure Ċ Ċ import Ġcom . fasterxml . jackson . annotation . JsonIgnore Ċ import Ġcom . fasterxml . jackson . annotation . JsonProperty Ċ import Ġcom . fasterxml . jackson . annotation . Json View Ċ import Ġjava . time . LocalDateTime Ċ Ċ /** Ċ Ġ* Ġ@ property Ġrun Order ĠThe Ġrun Ġorder Ġis Ġthe Ġorder Ġof Ġrun Ġfor Ġthe Ġbuild . ĠIt Ġstarts Ġwith Ġ 1 Ġfor Ġthe Ġfirst Ġrun . Ċ Ġ* Ġ@ property Ġvalidation Run Statuses ĠMust Ġalways Ġcontain Ġat Ġleast Ġone Ġvalidation Ġrun Ġstatus Ġat Ġcreation Ġtime . Ċ Ġ* Ġ@ property Ġdata ĠData Ġused Ġfor Ġthe Ġlink Ġto Ġan Ġoptional Ġ[ Validation DataType ] Ġand Ġits Ġdata Ċ Ġ*/ Ċ data Ġclass ĠValidation Run ( ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġid : ĠID , ĊĠĠĠĠĠĠĠ Ġ@ Json View ( value Ġ= Ġ[ Validation Run :: class , ĠValidation Stamp Run View :: class ]) ĊĠĠĠĠĠĠĠ Ġval Ġbuild : ĠBuild , ĊĠĠĠĠĠĠĠ Ġ@ Json View ( value Ġ= Ġ[ Validation Run :: class , ĠBuild :: class ]) ĊĠĠĠĠĠĠĠ Ġval Ġvalidation Stamp : ĠValidation Stamp , ĊĠĠĠĠĠĠĠ Ġval Ġrun Order : ĠInt , ĊĠĠĠĠĠĠĠ Ġval Ġdata : ĠValidation Run Data < *> ?, ĊĠĠĠĠĠĠĠ Ġ@ Json View ( value Ġ= Ġ[ Validation Run :: class , ĠBranch Build View :: class , ĠBuild :: class , ĠValidation Stamp Run View :: class ]) ĊĠĠĠĠĠĠĠ Ġval Ġvalidation Run Statuses : ĠList < Validation Run Status > Ċ ) Ġ: ĠRunnable Entity Ġ{ ĊĊĠĠĠ Ġ@ JsonIgnore ĊĠĠĠ Ġoverride Ġval Ġrunnable EntityType : ĠRunnable EntityType Ġ= ĠRunnable EntityType . validation _ run ĊĊĠĠĠ Ġoverride Ġval Ġrun Metric Name : ĠString ĊĠĠĠĠĠĠĠ Ġ@ JsonIgnore ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġbuild . name ĊĊĠĠĠ Ġoverride Ġval Ġrun Metric Tags : ĠMap < String , ĠString > ĊĠĠĠĠĠĠĠ Ġ@ JsonIgnore ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" project " Ġto Ġvalidation Stamp . branch . project . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" branch " Ġto Ġvalidation Stamp . branch . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" validation Stamp " Ġto Ġvalidation Stamp . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" status " Ġto Ġlast Status Id ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġval Ġrun Time : ĠLocalDateTime ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġsignature . time ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġvalidation Ġrun , Ġas Ġsuch , Ġas Ġno Ġdescription , Ġbecause Ġit 's Ġmanaged Ġat Ġvalidation Ġrun Ġstatus Ġlevel . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġval Ġdescription : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġthe Ġname Ġof Ġthe Ġlast Ġstatus ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġlast Status Id : ĠString Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( validation Run Statuses . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalidation Run Statuses . first (). status ID . id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwith Data ( data : ĠValidation Run Data < *> ?) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠValidation Run ( id , Ġbuild , Ġvalidation Stamp , Ġrun Order , Ġdata , Ġvalidation Run Statuses ) ĊĊĠĠĠ Ġfun Ġadd ( status : ĠValidation Run Status ): ĠValidation Run Ġ= ĠValidation Run ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalidation Stamp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun Order , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( status ) Ġ+ Ġvalidation Run Statuses ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġval Ġproject : ĠProject ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġbuild . project ĊĊĠĠĠ Ġoverride Ġval Ġproject EntityType : ĠProject EntityType Ġ= ĠProject EntityType . VALIDATION _ RUN ĊĊĠĠĠ Ġoverride Ġval Ġentity DisplayName : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ" Validation Ġrun Ġ${ validation Stamp . name } # ${ run Order } Ġfor Ġ${ build . branch . project . name }/${ build . branch . name }/${ build . name }" ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġof ( build : ĠBuild , Ġvalidation Stamp : ĠValidation Stamp , Ġrun Order : ĠInt , Ġstatuses : ĠList < Validation Run Status >) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠValidation Run ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠID . NONE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalidation Stamp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrun Order , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalidation Run Statuses Ġ= Ġstatuses ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġof ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild : ĠBuild , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalidation Stamp : ĠValidation Stamp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrun Order : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsignature : ĠSignature , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalidation Run Status ID : ĠValidation Run Status ID , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription : ĠString ? ĊĠĠĠĠĠĠĠ Ġ) Ġ= Ġof ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalidation Stamp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrun Order , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠValidation Run Status ( ID . NONE , Ġsignature , Ġvalidation Run Status ID , Ġdescription ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwith Id ( id : ĠID ) Ġ= ĠValidation Run ( id , Ġbuild , Ġvalidation Stamp , Ġrun Order , Ġdata , Ġvalidation Run Statuses ) ĊĊĠĠĠ Ġ@ JsonProperty (" passed ") ĊĠĠĠ Ġval Ġis Passed : ĠBoolean Ġ= Ġlast Status . is Passed ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġlast Ġstatus Ġ(" last " Ġfrom Ġa Ġbusiness Ġpoint Ġof Ġview ) Ġis Ġactually Ġthe Ġfirst Ġone Ġin Ġthe Ġlist Ġof Ġstatuses Ġbecause ĊĠĠĠĠ Ġ* Ġstatuses Ġare Ġsorted Ġfrom Ġthe Ġmost Ġrecent Ġone Ġto Ġthe Ġleast Ġrecent Ġone . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġlast Status : ĠValidation Run Status ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġvalidation Run Statuses . first () ĊĊĠĠĠ Ġoverride Ġval Ġsignature : ĠSignature ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġlast Status . signature Ċ Ċ } Ċ