package Ġar . com . k ai ros lp . tri pt er . service Ċ Ċ import Ġar . com . k ai ros lp . tri pt er . model . Travel er Network Ċ import Ġar . com . k ai ros lp . tri pt er . persistence . repository . spring . Travel er Network Spring Repository Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . boot . context . event . Application Ready Event Ċ import Ġorg . springframework . context . annotation . Scope Ċ import Ġorg . springframework . context . event . EventListener Ċ import Ġorg . springframework . stereotype . Component Ċ import Ġjavax . transaction . Transactional Ċ Ċ @ Component Ċ @ Scope (" singleton ") Ċ class ĠTr avel er Network Service (@ Autowired Ġvar Ġtravel er Network Spring Repository : ĠTr avel er Network Spring Repository ) Ġ{ ĊĊĠĠĠ Ġvar Ġtravel er Network : ĠTr avel er Network ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġtravel er Network Id : ĠLong ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠOne Ġtime Ġinitialization Ġof Ġfirst Ġroot Ġobject Ġinstance . ĊĠĠĠĠ Ġ* ĠCould Ġbe Ġdone Ġby Ġa Ġscript Ġto Ġavoid Ġthis Ġcode , Ġbut Ġwas Ġeasier Ġthrough Ġcode ĊĠĠĠĠ Ġ* Ġspec ially Ġsince Ġno Ġspecific Ġpersistence Ġsolution Ġhas Ġbeen Ġchosen Ġyet . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ EventListener ( Application Ready Event :: class ) ĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġfun Ġinitialize Travel er Network () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtravel er Network Amount Ġ= Ġthis . travel er Network Spring Repository . count () ĊĠĠĠĠĠĠĠ Ġif Ġ( travel er Network Amount Ġ== Ġ 1 L ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtravel er Network Ġ= Ġthis . travel er Network Spring Repository . findAll ()[ 0 ] ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( travel er Network Amount Ġ== Ġ 0 L ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtravel er Network Ġ= Ġthis . travel er Network Spring Repository . save ( Travel er Network ()) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println (" There Ġshould Ġbe Ġonly Ġone Ġtravel er Ġnetwork !! ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// TODO Ġthrow Ġerror ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtravel er Network Id Ġ= Ġtravel er Network ?. id ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġfun Ġfind Travel er Network (): ĠTr avel er Network Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtravel er Network Spring Repository . getOne ( travel er Network Id !! ) ĊĠĠĠ Ġ} Ċ }