package Ġxyz . aj ann . iod os Ċ Ċ import Ġch . qos . log back . classic . Level Ċ import Ġorg . apache . commons . codec . digest . Digest Utils Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . springframework . core . io . Default Resource Loader Ċ import Ġjava . io .* Ċ import Ġorg . apache . commons . io . FileUtils Ċ import Ġorg . json . simple . JSONObject Ċ import Ġjava . io . IOException Ċ Ċ val Ġresource Loader Ġ= ĠDefault Resource Loader () Ċ Ċ fun Ġget Server Query JSON (): ĠString Ġ{ ĊĠĠĠ Ġval Ġjson Ġ= ĠJSONObject () ĊĠĠĠ Ġjson . put (" software ", ĠI od os Server . SOFTWARE ) ĊĠĠĠ Ġjson . put (" version ", ĠI od os Server . SOFTWARE _ VERSION ) ĊĠĠĠ Ġjson . put (" api Major ", ĠI od os Server . API _ VERSION _ MAJOR ) ĊĠĠĠ Ġjson . put (" api Minor ", ĠI od os Server . API _ VER IS ON _ MINOR ) ĊĠĠĠ Ġreturn Ġjson . toJSON String () Ċ } Ċ Ċ fun Ġget Configuration Directory (): ĠString Ġ{ ĊĠĠĠ Ġval Ġuse System Dirs Ġ= ĠSystem . getenv (" IO DOS _ USE _ SYSTEM _ DIRS "). to Boolean () ĊĠĠĠ Ġval Ġos Ġ= ĠSystem . getProperty (" os . name "). toLowerCase () ĊĊĠĠĠ Ġif ( use System Dirs ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( os . contains (" windows ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" C :\\ I od os - Server " ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif ( os . contains (" linux ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ"/ etc / iod os - server " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn ĠSystem . getProperty (" user . dir ") Ċ } Ċ Ċ fun Ġset Mongo Log Levels () Ġ{ ĊĠĠĠ Ġif (! System . getenv (" NECT AR _ MONGO _ DEBUG "). to Boolean ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġ( LoggerFactory . getLogger (" org . mongodb . driver . protocol . command ") Ġas Ġch . qos . log back . classic . Logger ). level Ġ= ĠLevel . OFF ĊĠĠĠĠĠĠĠ Ġ( LoggerFactory . getLogger (" org . mongodb . driver . cluster ") Ġas Ġch . qos . log back . classic . Logger ). level Ġ= ĠLevel . OFF ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠCop ies Ġa Ġ" resource " Ġfile Ġfrom Ġthe ĠJ AR Ġor Ġresource Ġfolder Ġto Ċ Ġ* Ġthe Ġfilesystem . Ċ Ġ* Ġ@ param Ġresource ĠThe Ġresource Ġfile Ġname . Ċ Ġ* Ġ@ param Ġcopy Location ĠThe Ġlocation Ġto Ġcopy Ġthe Ġresource Ġto Ġon Ġthe Ċ Ġ* Ġfilesystem . Ċ Ġ* Ġ@ throws ĠIOException ĠIf Ġthere Ġis Ġan Ġexception Ġwhile Ġattempting Ġto Ċ Ġ* Ġcopy Ġthe Ġfile . Ċ Ġ*/ Ċ @ Throws ( IOException :: class ) Ċ fun Ġcopy Resource To ( resource : ĠString , Ġcopy Location : ĠFile ) Ġ{ ĊĠĠĠ Ġval Ġin 1 Ġ= Ġresource Loader . getResource ( resource ). inputStream ĊĠĠĠ ĠFileUtils . copy InputStream ToFile ( in 1 , Ġcopy Location ) Ċ } Ċ Ċ /** Ċ Ġ* ĠRead Ġthe Ġfull Ġcontents Ġof Ġa Ġ" resource " Ġfile Ġas Ċ Ġ* Ġa ĠString . Ċ Ġ* Ġ@ param Ġresource ĠThe Ġname Ġof Ġthe Ġresource Ġfile . Ċ Ġ* Ġ@ return ĠThe Ġfull Ġcontents Ġof Ġthe Ġresource Ġfile Ġas Ġa ĠString . Ċ Ġ*/ Ċ @ Throws ( IOException :: class ) Ċ fun ĠgetResource Contents ( resource : ĠString ): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġget Contents ( resource Loader . getResource ( resource ). inputStream ) Ċ } Ċ Ċ /** Ċ Ġ* ĠRead Ġthe Ġfull Ġcontents Ġof Ġa Ġfile Ġon Ġthe Ġfilesystem . Ċ Ġ*/ Ċ @ Throws ( IOException :: class ) Ċ fun ĠgetFile Contents ( file : ĠFile ): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġget Contents ( FileInputStream ( file )) Ċ } Ċ Ċ fun Ġget Contents ( in 1 : ĠInputStream ): ĠString Ġ{ ĊĠĠĠ Ġval Ġreader Ġ= ĠBufferedReader ( InputStream Reader ( in 1 )) ĊĊĠĠĠ Ġvar Ġline : ĠString ? ĊĠĠĠ Ġval Ġsb Ġ= ĠStringBuilder () ĊĠĠĠ Ġwhile Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠ Ġline Ġ= Ġreader . readLine () ĊĠĠĠĠĠĠĠ Ġif ( line Ġ== Ġnull ) Ġbreak ĊĊĠĠĠĠĠĠĠ Ġsb . append ( line ). append ("\ n ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreader . close () ĊĊĠĠĠ Ġreturn Ġsb . toString () Ċ }