package Ġdao Ċ Ċ import Ġdomain . Location Ċ import Ġlogger Ċ import Ġutils . Open Ċ import Ġjavax . e jb . State less Ċ import Ġjavax . persistence . EntityManager Ċ import Ġjavax . persistence . Persistence Context Ċ Ċ @ Open Ċ @ State less Ċ class ĠLocation Dao Ġ{ ĊĠĠĠ Ġ@ Persistence Context ĊĠĠĠ Ġlateinit Ġvar Ġem : ĠEntity Manager ĊĊĠĠĠ Ġfun Ġcreate Location ( location : ĠLocation ) Ġ{ ĊĠĠĠĠĠĠĠ Ġem . merge ( location ) ĊĠĠĠĠĠĠĠ Ġem . merge ( location . point ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġupdate Location ( location : ĠLocation ) Ġ= Ġem . merge ( location ) ĊĠĠĠ Ġfun Ġget Location ( location Id : ĠString ): ĠLocation ? Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġem . createQuery (" select Ġl Ġfrom ĠLocation Ġl ĠWHERE Ġl . uuid ĠLIKE Ġ: uuid ", ĠLocation :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setParameter (" uuid ", Ġlocation Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. single Result ĊĠĠĠ Ġ} Ġcatch Ġ( ex : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . warn (" Failed Ġto Ġretrieve Ġlocation Ġfor Ġid Ġ$ location Id ") ĊĠĠĠĠĠĠĠ Ġnull ĊĠĠĠ Ġ} Ċ } Ċ