package Ġutility Ċ Ċ import Ġmodel . neo 4 j . Graph Entity Ċ import Ġorg . neo 4 j . og m . config . Configuration Ċ import Ġorg . neo 4 j . og m . cy pher . Filter Ċ import Ġorg . neo 4 j . og m . cy pher . Filters Ċ import Ġorg . neo 4 j . og m . model . Result Ċ import Ġorg . neo 4 j . og m . session . Session Ċ import Ġorg . neo 4 j . og m . session . SessionFactory ĊĊ Ċ @ Suppress (" unused ", Ġ" Member Visibility Can Be Private ") Ċ object ĠNeo 4 j Connector Ġ{ ĊĠĠĠ Ġprivate Ġconst Ġval ĠNeo 4 J Host EnvironmentVariable Key Ġ= Ġ" NE O 4 J _ HOST " ĊĠĠĠ Ġprivate Ġconst Ġval ĠNeo 4 J Port EnvironmentVariable Key Ġ= Ġ" NE O 4 J _ PORT " ĊĠĠĠ Ġprivate Ġconst Ġval ĠNode Model Package Identifier Ġ= Ġ" model . neo 4 j . node " ĊĠĠĠ Ġprivate Ġconst Ġval ĠRelationship Model Package Identifier Ġ= Ġ" model . neo 4 j . relationship " ĊĠĠĠ Ġprivate Ġval ĠNeo 4 JB olt Connection Uri Ġ= Ġ" bolt ://${ retrieve Neo 4 J Host ()} :${ retrieve Neo 4 J Port () }" ĊĠĠĠ Ġprivate Ġval Ġconfiguration : ĠConfiguration Ġ= ĠConfiguration . Builder (). uri ( Neo 4 JB olt Connection Uri ). build () !! ĊĠĠĠ Ġprivate Ġval Ġsession Factory : ĠSession Factory Ġ= ĠSession Factory ( configuration , ĠNode Model Package Identifier , ĠRelationship Model Package Identifier ) ĊĊĠĠĠ Ġfun Ġsave Entity ( entity : ĠGraph Entity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsession Ġ= Ġcreate Session () ĊĠĠĠĠĠĠĠ Ġsession . save ( entity ) ĊĠĠĠĠĠĠĠ Ġsession . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsave Entities ( entities : ĠIterable < Graph Entity >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsession Ġ= Ġcreate Session () ĊĠĠĠĠĠĠĠ Ġsession . save ( entities ) ĊĠĠĠĠĠĠĠ Ġsession . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġretrieve Entity ( entity Class : ĠClass < out ĠGraph Entity >, Ġfilter : ĠFilter ): ĠGraph Entity ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġretrieve Entities ( entity Class , Ġfilter ). first OrNull () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġretrieve Entity ( entity Class : ĠClass < out ĠGraph Entity >, Ġfilters : ĠFilters ): ĠGraph Entity ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġretrieve Entities ( entity Class , Ġfilters ). first OrNull () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġretrieve Entities ( entity Class : ĠClass < out ĠGraph Entity >, Ġfilter : ĠFilter ): ĠCollection < Graph Entity > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsession Ġ= Ġcreate Session () ĊĠĠĠĠĠĠĠ Ġval Ġentities Ġ= Ġsession . load All ( entity Class , Ġfilter ) ĊĠĠĠĠĠĠĠ Ġsession . clear () ĊĠĠĠĠĠĠĠ Ġreturn Ġentities ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġretrieve Entities ( entity Class : ĠClass < out ĠGraph Entity >, Ġfilters : ĠFilters ): ĠCollection < Graph Entity > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsession Ġ= Ġcreate Session () ĊĠĠĠĠĠĠĠ Ġval Ġentities Ġ= Ġsession . load All ( entity Class , Ġfilters ) ĊĠĠĠĠĠĠĠ Ġsession . clear () ĊĠĠĠĠĠĠĠ Ġreturn Ġentities ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġexecute Cy pher ( cy pher : ĠString ): ĠResult Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsession Ġ= Ġcreate Session () ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġsession . query ( cy pher , Ġmap Of ("" Ġto Ġ"")) ĊĠĠĠĠĠĠĠ Ġsession . clear () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Session (): ĠSession Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsession Factory . open Session () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġretrieve Neo 4 J Host (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSystem . getenv ( Neo 4 J Host EnvironmentVariable Key ) Ġ?: Ġ" localhost " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġretrieve Neo 4 J Port (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSystem . getenv ( Neo 4 J Port EnvironmentVariable Key ) Ġ?: Ġ" 7 6 8 7 " ĊĠĠĠ Ġ} Ċ } Ċ