package Ġcom . github . afe zer ia . simple scheduler Ċ Ċ import Ġorg . intellij . lang . annotations . Language Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġjava . sql .* Ċ Ċ /** Ċ Ġ* Ġ@ author Ġa fe zer ia Ċ Ġ*/ Ċ private Ġval Ġlogger Ġ= ĠLoggerFactory . getLogger (" com . github . afe zer ia . simple scheduler . Jdbc Extension ") Ċ Ċ internal Ġfun ĠConnection . execute ( ĊĠĠĠ Ġ@ Language (" sql ") Ġsql : ĠString , ĊĠĠĠ Ġvar arg Ġparams : ĠAny ? Ċ ): ĠMutable List < Mutable Map < String , ĠAny ? >> Ġ{ ĊĠĠĠ Ġif Ġ( logger . isDebugEnabled ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . debug ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsql : Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparameters : Ġ{} ĊĠĠĠĠĠĠĠ Ġ"" ", Ġsql , Ġparams ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġif Ġ( params . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġprepare Statement ( sql ). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams . forEach Indexed Ġ{ Ġindex , Ġany Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . set Object ( index Ġ+ Ġ 1 , Ġany ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . execute () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( logger . isDebugEnabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġwarnings Ġ= Ġit . warnings ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( warnings Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . debug ( warnings . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwarnings Ġ= Ġwarnings . next Warning ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġit . resultSet . toList () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( logger . isDebugEnabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . debug (" result : Ġ{}", Ġlist ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Statement (). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . execute ( sql ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( logger . isDebugEnabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġwarnings Ġ= Ġit . warnings ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( warnings Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . debug ( warnings . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwarnings Ġ= Ġwarnings . next Warning ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġit . resultSet . toList () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( logger . isDebugEnabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . debug (" result : Ġ{}", Ġlist ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġfun ĠResultSet ?. toList (): ĠMutable List < Mutable Map < String , ĠAny ? >> Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull ) Ġreturn Ġmutable ListOf () ĊĠĠĠ Ġval ĠmetaData Ġ= Ġthis . metaData ĊĠĠĠ Ġval Ġlist Ġ= Ġmutable ListOf < Mutable Map < String , ĠAny ? >>() ĊĠĠĠ Ġwhile Ġ( next ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmap Ġ= Ġmutable Map Of < String , ĠAny ?> () ĊĠĠĠĠĠĠĠ Ġ( 1 .. metaData . column Count ). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġany Ġ= ĠgetObject ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap [ metaData . get ColumnName ( it )] Ġ= Ġwhen Ġ( any ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġ-> Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠTime Ġ-> Ġany . to Local Time () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠDate Ġ-> Ġany . to LocalDate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠTimestamp Ġ-> Ġany . to LocalDateTime () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġany ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlist . add ( map ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġlist Ċ }