diff options
Diffstat (limited to 'opendc-experiments/opendc-experiments-base/src')
2 files changed, 17 insertions, 18 deletions
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ConfigParser.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ConfigParser.kt index 0e354cbd..26244544 100644 --- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ConfigParser.kt +++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ConfigParser.kt @@ -4,17 +4,12 @@ import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable import kotlinx.serialization.json.Json import kotlinx.serialization.json.decodeFromStream -import java.io.BufferedReader -import java.io.BufferedWriter + import java.io.File import java.io.IOException import java.io.InputStream -import java.io.InputStreamReader import java.io.OutputStream -import java.io.OutputStreamWriter -import java.net.ServerSocket import java.net.Socket -import java.net.SocketImpl import java.sql.Connection import java.sql.DriverManager import java.sql.SQLException @@ -29,16 +24,20 @@ import java.sql.SQLException */ @Serializable public data class Config( - var name: String = "", + val name: String = "", var backlog: Int = 0, - val databasePath: String = "", + val database: Int = 5342, val address: String = "", val port: Int = 8080, + val username : String = "", + val password : String = "", + val schema: String = "" ){ + public companion object{ public var input: InputStream? = null public var output: OutputStream? = null - public var database: Connection? = null + public var connection : Connection? = null public var socket: Socket? = null @@ -60,17 +59,17 @@ public data class Config( return output } - public fun setupDatabase(path : String) : Connection?{ - val url = "jdbc:sqlite:$path" + public fun setupDatabase(address : String, port : Int, dbUser : String, dbPassword : String, dbSchema : String){ + val dbUrl = "jdbc:postgresql://$address:$port/$dbSchema" + println(dbUrl) try { - this.database = DriverManager.getConnection(url) - return database - } catch (e : SQLException) { - print("${e.message}") - return null + connection = DriverManager.getConnection(dbUrl, dbUser, dbPassword) + } catch (e: SQLException) { + print("${e.message}") + } } + } - } } /** * Reads `config.json` into Config data class. diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentCli.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentCli.kt index b9395001..96eb3b21 100644 --- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentCli.kt +++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentCli.kt @@ -91,7 +91,7 @@ internal class ExperimentListener: CliktCommand(name = "listener") { try { serverSocket = ServerSocket(config.port, config.backlog, inetAddress) - Config.setupDatabase(config.databasePath) + Config.setupDatabase(config.address, config.database, config.username, config.password, config.schema) runListener(serverSocket) } catch (e: IOException) { println("${e.message}") |
