/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 1 ĠF ord ĠMotor ĠCompany Ċ Ġ* ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . ford . internal projects . people mo ver . tag . location Ċ Ċ import Ġcom . ford . internal projects . people mo ver . bas ere pository . exceptions . Entity AlreadyExists Exception Ċ import Ġcom . ford . internal projects . people mo ver . tag . Tag Request Ċ import Ġorg . springframework . dao . Data Integr ity Violation Exception Ċ import Ġorg . springframework . stereotype . Service Ċ Ċ @ Service Ċ class ĠLocation Service ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġspace Location Repository : ĠSpace Location Repository Ċ ) Ġ{ ĊĠĠĠ Ġfun Ġadd Location To Space ( space Uuid : ĠString , Ġlocation Add Request : ĠTag Request ): ĠSpace Location Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġspace Location To Save Ġ= ĠSpace Location ( name Ġ= Ġlocation Add Request . name . trim (), Ġspace Uuid Ġ= Ġspace Uuid ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspace Location Repository . findAll By Space Uuid And Name IgnoreCase ( space Uuid , Ġspace Location To Save . name )?. let Ġ{ Ġthrow ĠEntity AlreadyExists Exception () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspace Location Repository . create Entity AndUpdate Space LastModified ( space Location To Save ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠData Integr ity Violation Exception Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠEntity AlreadyExists Exception () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Locations For Space ( space Uuid : ĠString ): ĠSet < Space Location > Ġ= ĊĠĠĠĠĠĠĠ Ġspace Location Repository . findAll By Space Uuid ( space Uuid ) ĊĊĠĠĠ Ġfun Ġedit Location ( space Uuid : ĠString , Ġlocation Request : ĠTag Request , Ġlocation Id : ĠInt ): ĠSpace Location Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġspace Location To Edit Ġ= ĠSpace Location ( id Ġ= Ġlocation Id , Ġname Ġ= Ġlocation Request . name . trim (), Ġspace Uuid Ġ= Ġspace Uuid ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspace Location Repository . findAll By Space Uuid And Name IgnoreCase ( space Uuid , Ġspace Location To Edit . name )?. let Ġ{ Ġthrow ĠEntity AlreadyExists Exception () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspace Location Repository . update Entity AndUpdate Space LastModified ( space Location To Edit ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠData Integr ity Violation Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠEntity AlreadyExists Exception () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdelete Location ( location Id : ĠInt , Ġspace Uuid : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġspace Location Repository . delete Entity AndUpdate Space LastModified ( location Id , Ġspace Uuid ) ĊĠĠĠ Ġ} Ċ } Ċ