summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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
-rw-r--r--resources/data/databasebin8192 -> 0 bytes
-rw-r--r--resources/experiments/config.json5
5 files changed, 27 insertions, 21 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}")
diff --git a/resources/data/database b/resources/data/database
deleted file mode 100644
index e47bac3d..00000000
--- a/resources/data/database
+++ /dev/null
Binary files differ
diff --git a/resources/experiments/config.json b/resources/experiments/config.json
index a40d3a66..af2b553f 100644
--- a/resources/experiments/config.json
+++ b/resources/experiments/config.json
@@ -3,5 +3,8 @@
"port": "8080",
"backlog": 20,
"address": "127.0.0.1",
- "databasePath" : "resources/data/database"
+ "database" : "5432",
+ "username" : "matt",
+ "password" : "admin",
+ "schema" : "opendc"
}