diff options
Diffstat (limited to 'opendc-experiments')
3 files changed, 23 insertions, 20 deletions
diff --git a/opendc-experiments/opendc-experiments-base/build.gradle.kts b/opendc-experiments/opendc-experiments-base/build.gradle.kts index ea764d4b..3b1280e4 100644 --- a/opendc-experiments/opendc-experiments-base/build.gradle.kts +++ b/opendc-experiments/opendc-experiments-base/build.gradle.kts @@ -40,8 +40,9 @@ dependencies { implementation(libs.progressbar) implementation(project(mapOf("path" to ":opendc-simulator:opendc-simulator-core"))) - //@Mateusz: for the sqlite database - implementation("org.xerial:sqlite-jdbc:3.36.0") + //@Mateusz: for the postgresql database + implementation("org.postgresql:postgresql:42.7.10") + implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-workload"))) implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-topology"))) implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-carbon"))) @@ -83,3 +84,6 @@ distributions { } } } +repositories { + mavenCentral() +} 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}") |
