/* Ċ Ġ* ĠĠĠ ĠCopyright Ġ 2 0 1 9 ĠNim rod ĠDay an Ġn im ro dd ay an . com Ċ Ġ* Ċ Ġ* ĠĠĠ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* ĠĠĠ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠĠĠ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠĠĠ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* ĠĠĠ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠĠĠ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠĠĠ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* ĠĠĠ Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ*/ Ċ Ċ package Ġcom . nim ro dd ay an . build metrics . cache Ċ Ċ import Ġcom . squareup . sql de light . sqlite . driver . Jdbc Sqlite Driver Ċ import Ġmu . Kotlin Logging Ċ Ċ private Ġval Ġlog Ġ= ĠKotlin Logging . logger Ġ{} Ċ Ċ internal Ġclass ĠDatabase Helper ( ĊĠĠĠ Ġdb File : ĠString ? Ġ= Ġ". build metrics " Ċ ) Ġ{ ĊĠĠĠ Ġval Ġdatabase : ĠBuild Metrics Db ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠClass . forName (" org . sqlite . JDBC ") Ġ// Ġfix Ġfor Ġ" no Ġdriver Ġfound " ĊĠĠĠĠĠĠĠ Ġval Ġdriver Ġ= ĠJdbc Sqlite Driver (" jdbc : sqlite :${ db File Ġ?: Ġ"" }") ĊĠĠĠĠĠĠĠ Ġdatabase Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . debug Ġ{ Ġ" At tempting Ġto Ġcreate Ġdatabase " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBuild Metrics Db . Schema . create ( driver ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . debug Ġ{ Ġ" Database Ġcreated Ġsuccessfully , Ġreturning Ġdatabase Ġinstance " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBuild Metrics Db ( driver ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . debug Ġ{ Ġ" Database Ġalready Ġexists , Ġreturning Ġinstance " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBuild Metrics Db ( driver ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ