/** Ċ < s late _ header > Ċ author : ĠK ish ore ĠRed dy Ċ url : Ġwww . github . com / code - helix / s late kit Ċ copyright : Ġ 2 0 1 6 ĠK ish ore ĠRed dy Ċ license : Ġwww . github . com / code - helix / s late kit / blob / master / LICENSE . md Ċ desc : ĠA Ġtool - kit , Ġutility Ġlibrary Ġand Ġserver - backend Ċ usage : ĠPlease Ġrefer Ġto Ġlicense Ġon Ġgithub Ġfor Ġmore Ġinfo . Ċ </ s late _ header > Ċ Ġ*/ Ċ Ċ package Ġs late kit . examples ĊĊ Ċ // < doc : import _ required > Ċ import Ġs late kit . entities . Entities Ċ import Ġs late kit . entities . core . Entity Context Ċ // </ doc : import _ required > Ċ Ċ // < doc : import _ examples > Ċ import Ġs late kit . results . Try Ċ import Ġs late kit . results . Success Ċ import Ġs late kit . common . conf . Conf Funcs Ċ import Ġs late kit . common . data . Db Con String Ċ import Ġs late kit . common . data . Connections Ċ import Ġs late kit . common . data . Vendor ĊĊ Ċ import Ġs late kit . db . Db Ċ import Ġs late kit . entities . core . Entity Info Ċ import Ġs late kit . examples . common . User Ċ import Ġs late kit . examples . common . UserRepository Ċ import Ġs late kit . examples . common . UserService Ċ import Ġs late kit . meta . models . Model Mapper Ċ import Ġs late kit . orm . orm Ċ import Ġs late kit . orm . databases . vendors . MySql Mapper Ċ import Ġs late kit . orm . databases . vendors . MySql Repo Ċ Ċ // </ doc : import _ examples > ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby Ġk re ddy Ġon Ġ 3 / 1 5 / 2 0 1 6 . Ċ Ġ*/ Ċ class ĠExample _ Entities _ Reg Ġ: ĠCommand (" types ") Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġexecute ( request : ĠCommand Request ): ĠTry < Any > Ġ{ ĊĠĠĠĠĠĠĠ Ġ// < doc : setup > ĊĠĠĠĠĠĠĠ Ġ// ĠThe Ġentities Ġare Ġdependent Ġon Ġthe Ġdatabase Ġconnections Ġsetup . ĊĠĠĠĠĠĠĠ Ġ// ĠSee ĠExample _ Database . kt Ġfor Ġmore Ġinfo ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 1 . ĠRegister Ġthe Ġdefault Ġconnection ĊĠĠĠĠĠĠĠ Ġval Ġdb s Ġ= ĠConnection s . of ( Conf Funcs . read Db Con (" user :// . s late / db _ default . txt ") !! ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 2 . ĠRegister Ġa Ġnamed Ġconnection ĊĠĠĠĠĠĠĠ Ġ// val Ġdb s Ġ= ĠConnection s . named ((" user _ db ", ĠDb Utils . load From User Folder (". s late ", Ġ" db _ default . txt ")) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 3 : ĠRegister Ġconnection Ġas Ġa Ġshard Ġand Ġlink Ġto Ġa Ġgroup ĊĠĠĠĠĠĠĠ Ġ// val Ġdb s Ġ= ĠConnection s . grouped D bs ((" group 1 ", ĠList [( String , Db Con String )]( (" shard 1 ", ĠDb Utils . load From User Folder (". s late ", Ġ" db _ default . txt ")) ))) ĊĠĠĠĠĠĠĠ Ġ// </ doc : setup > ĊĊĠĠĠĠĠĠĠ Ġ// < doc : examples > ĊĠĠĠĠĠĠĠ Ġ// ĠThe Ġentities Ġcan Ġbe Ġregistered Ġand Ġset Ġup Ġin Ġmultiple Ġways . ĊĠĠĠĠĠĠĠ Ġ// ĠThey Ġcan Ġbe Ġregistered Ġto Ġ: ĊĠĠĠĠĠĠĠ Ġ// ĊĠĠĠĠĠĠĠ Ġ// Ġ- Ġuse Ġin - memory Ġrepository Ġor Ġa Ġsql Ġ( Ġmysql Ġ) Ġrepository ĊĠĠĠĠĠĠĠ Ġ// Ġ- Ġuse Ġthe Ġdefault ĠEntity Service [ T ] Ġor Ġa Ġcustom ĠEntity Service ĊĠĠĠĠĠĠĠ Ġ// Ġ- Ġuse Ġa Ġsingleton Ġinstance Ġor Ġnew Ġinstance ĊĠĠĠĠĠĠĠ Ġ// Ġ- Ġuse Ġa Ġcertain Ġtype Ġof Ġdatabase Ġ( Ġmysql Ġonly Ġfor Ġnow Ġ) ĊĠĠĠĠĠĠĠ Ġ// Ġ- Ġuse Ġthe Ġdefault ĠEntity Repository Ġ( Ġmysql Ġ) Ġor Ġa Ġcustom Ġrepository ĊĠĠĠĠĠĠĠ Ġ// Ġ- Ġuse Ġa Ġsupplied ĠEntity Mapper Ġor Ġa Ġcustom Ġmapper ĊĠĠĠĠĠĠĠ Ġval Ġentities Ġ= ĠEntities ({ Ġcon Ġ-> ĠDb ( con ) Ġ}) ĊĊĠĠĠĠĠĠĠ Ġ// ĠCase Ġ 1 : ĠIn - memory ĊĠĠĠĠĠĠĠ Ġshow Results (" Case Ġ 1 ", Ġentities . prototype < User >( User :: class )) ĊĊĠĠĠĠĠĠĠ Ġ// ĠCase Ġ 2 : ĠIn - memory Ġ+ Ġwith Ġcustom Ġservice ĊĠĠĠĠĠĠĠ Ġshow Results (" Case Ġ 2 ", Ġentities . prototype < User >( User :: class , ĠUserService :: class )) ĊĊĠĠĠĠĠĠĠ Ġ// ĠCase Ġ 3 : ĠEntity Service < T Id , ĠT > ĊĠĠĠĠĠĠĠ Ġ// ĠNOTE : ĠThis Ġis Ġthe ĠEntities Ġapproach Ġ( Ġyou Ġhandle Ġthe ĠRepo / ĠMapper Ġimplementation Ġ) ĊĠĠĠĠĠĠĠ Ġshow Results (" Case Ġ 3 ", Ġentities . register ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUser :: class , ĠLong :: class , ĠUserService ( entities , ĠUser Repository ()), ĠVendor . Memory )) ĊĊĠĠĠĠĠĠĠ Ġ// ĠCase Ġ 4 : ĠORM Ġ: ĠEntity Service < T Id , ĠT > Ġwith Ġsupplied ĠMySql Repo , ĠO rm Mapper ĊĠĠĠĠĠĠĠ Ġshow Results (" Case Ġ 3 ", Ġentities . orm < Long , ĠUser >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVendor . MySql , ĠUser :: class , ĠLong :: class , Ġ" users ", ĠUserService :: class )) ĊĊĠĠĠĠĠĠĠ Ġ// ĠCase Ġ 5 : ĠManual Ġsetup ĊĠĠĠĠĠĠĠ Ġval Ġcon Ġ= ĠDb Con String (" com . mysql . jdbc . Driver ", Ġ" jdbc : mysql :// localhost / my db ", Ġ" user ", Ġ" password ") ĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= ĠDb ( con ) ĊĠĠĠĠĠĠĠ Ġval Ġmodel Ġ= ĠModelMapper . load Schema ( User :: class ) ĊĠĠĠĠĠĠĠ Ġval Ġmapper Ġ= ĠMySql Mapper < Long , ĠUser >( model , Ġdb , ĠEntity Info ( Long :: class , ĠUser :: class , Ġ" users ")) ĊĠĠĠĠĠĠĠ Ġval Ġrepo Ġ= ĠMySql Repo < Long , ĠUser >( db , ĠEntity Info ( Long :: class , ĠUser :: class , Ġ" users "), Ġmapper ) ĊĠĠĠĠĠĠĠ Ġval Ġservice Ġ= ĠUserService ( entities , Ġrepo ) ĊĠĠĠĠĠĠĠ Ġshow Results (" Case Ġ 3 ", Ġentities . register ( User :: class , ĠLong :: class , Ġservice , ĠVendor . Memory )) ĊĊĠĠĠĠĠĠĠ Ġ// </ doc : setup > ĊĊĠĠĠĠĠĠĠ Ġ// < doc : examples > ĊĠĠĠĠĠĠĠ Ġ// ĠUse Ġcase Ġ 1 : ĠGet Ġrepository ĊĠĠĠĠĠĠĠ Ġval Ġrepo 2 Ġ= Ġentities . get Repo < Long , ĠUser >( User :: class ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠUse Ġcase Ġ 2 : ĠGet Ġthe Ġservice ĊĠĠĠĠĠĠĠ Ġval Ġsvc Ġ= Ġentities . getS vc < Long , ĠUser >( User :: class ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠUse Ġcase Ġ 3 : ĠGet Ġthe Ġentity Ġmapper ĊĠĠĠĠĠĠĠ Ġval Ġmapper 2 Ġ= Ġentities . get Mapper < Long , User >( User :: class ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠUse Ġcase Ġ 4 : ĠGet Ġthe Ġrepo Ġfor Ġa Ġspecific Ġshard ĊĠĠĠĠĠĠĠ Ġval Ġrepo Shard Ġ= Ġentities . get Repo < Long , ĠUser >( User :: class ) ĊĠĠĠĠĠĠĠ Ġ// </ doc : examples > ĊĊĠĠĠĠĠĠĠ Ġreturn ĠSuccess ("") ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġshow Results ( desc : ĠString , Ġreg Info : ĠEntity Context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( desc ) ĊĠĠĠĠĠĠĠ Ġprintln () ĊĠĠĠ Ġ} Ċ } Ċ