```kotlin object Database { private val edwPa...
# tornadofx
t
Copy code
kotlin
object Database {

    private val edwPassword by lazy {
        Observable.fromCallable { PasswordInput("Enter your EDW Password").toObservable() }.subscribeOnFx().blockingFirst()
    }

    val CSEDW by lazy {
        Class.forName("com.teradata.jdbc.TeraDriver")
        val config = HikariConfig().apply {
            jdbcUrl = "jdbc:<teradata://server>"
            username = System.getProperty("user.name")
            password = edwPassword.blockingFirst()
            minimumIdle = 1
            maximumPoolSize = 5
    }

        HikariDataSource(config)
    }

    val SPNEP by lazy {
        Class.forName("oracle.jdbc.OracleDriver")
        val config = HikariConfig().apply {
            driverClassName = "oracle.jdbc.OracleDriver"
            jdbcUrl = "jdbc:oracle:thin:@//servername"
            username = "xxx"
            password = "xxx"
            minimumIdle = 1
            maximumPoolSize = 5
        }
        HikariDataSource(config)
    }
}