summaryrefslogtreecommitdiff
path: root/opendc-experiments
diff options
context:
space:
mode:
authormjkwiatkowski <mati.rewa@gmail.com>2026-02-15 14:05:11 +0100
committermjkwiatkowski <mati.rewa@gmail.com>2026-02-15 14:05:11 +0100
commit213130fdca719d9dc7f29fe7c11acde40e4f964e (patch)
tree1867ab74d8e9cd02aa1d714c2dc282462eff06ae /opendc-experiments
parent1d06261b38bf6a102d53df708155346b0a76ecb6 (diff)
fix: changed the database sqlite -> postgresql
Diffstat (limited to 'opendc-experiments')
-rw-r--r--opendc-experiments/opendc-experiments-base/build.gradle.kts8
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ConfigParser.kt33
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentCli.kt2
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}")