package Ġio . ark it ik . cle f . workflow . api . use case . domain . element . main Ċ Ċ import Ġio . ark it ik . cle f . workflow . api . common . error . Element Responses Ċ import Ġio . ark it ik . cle f . workflow . api . common . error . Shared Errors Ċ import Ġio . ark it ik . cle f . workflow . api . domain . element . Element Identity Ċ import Ġio . ark it ik . cle f . workflow . api . domain . shared . embedded . Identity Status Ċ import Ġio . ark it ik . cle f . workflow . api . store . element . query . Element Store Query Ċ import Ġio . ark it ik . cle f . workflow . api . use case . factory . element . domain . request . Element Key Request Ċ import Ġio . ark it ik . radix . develop . shared . exception . Resource NotFoundException Ċ import Ġio . ark it ik . radix . develop . shared . ext . not Found Ċ import Ġio . ark it ik . radix . develop . use case . adapter . Response Adapter Ċ import Ġio . ark it ik . radix . develop . use case . validation . functional . Validation Functional UseCase Ċ Ċ /** Ċ Ġ* ĠCreated ĠBy Ġ[** I br ah im ĠAl - T am imi Ġ ï £ ¿ **]( https :// www . linkedin . com / in / ilo om /) < br ></ br > Ċ Ġ* ĠCreated ĠAt Ġ** 2 0 **, Ġ** Fri ĠMar , Ġ 2 0 2 0 ** Ċ Ġ* ĠProject Ġ** cle f - workflow ** Ġ[ ark it ik . IO ]( https :// ark it ik . io /) < br ></ br > Ċ Ġ*/ Ċ class ĠFind Element ByKey UseCase ( ĊĠĠĠ Ġprivate Ġval Ġelement Store Query : ĠElement Store Query , Ċ ) Ġ: ĠValidation Functional UseCase < Element Key Request , ĠResponse Adapter < Element Identity >>() Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠElement Key Request . do Process (): ĠResponse Adapter < Element Identity > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġelement Identity Ġ= Ġelement Store Query . findBy Key ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdomain Key ĊĠĠĠĠĠĠĠ Ġ) Ġ?: Ġthrow ĠElement Responses . Errors . ELEMENT _ DO ES _ NOT _ EXIST . not Found () ĊĠĠĠĠĠĠĠ Ġelement Identity . validate ( shouldBe Disabled ) ĊĠĠĠĠĠĠĠ Ġreturn ĠResponse Adapter ( element Identity ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠElement Identity . validate ( shouldBe Disabled : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( identity Status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIdentity Status . DELETED Ġ-> Ġthrow ĠResource NotFoundException ( Shared Errors . Identity Access Api . IDENTITY _ DELETED _ ERROR ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIdentity Status . ENABLED Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( shouldBe Disabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠResource NotFoundException ( Shared Errors . Identity Status Api . RECORD _ AL READY _ ENABLED _ ERROR ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIdentity Status . DISABLED Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! shouldBe Disabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠResource NotFoundException ( Shared Errors . Identity Access Api . IDENTITY _ DISABLED _ ERROR ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ