From 2f16cb0f48eca4453e3e894b3d45a3aa09e6dcc0 Mon Sep 17 00:00:00 2001 From: mjkwiatkowski Date: Mon, 16 Feb 2026 15:18:21 +0100 Subject: feat: opendc -> kafka -> postgresql works; added protobuf encoding --- .../kotlin/org/opendc/common/utils/PostgresqlDB.kt | 39 +++++++++++++++------- 1 file changed, 27 insertions(+), 12 deletions(-) (limited to 'opendc-common/src/main/kotlin/org/opendc/common/utils/PostgresqlDB.kt') diff --git a/opendc-common/src/main/kotlin/org/opendc/common/utils/PostgresqlDB.kt b/opendc-common/src/main/kotlin/org/opendc/common/utils/PostgresqlDB.kt index 3dc7a0e4..69314ef3 100644 --- a/opendc-common/src/main/kotlin/org/opendc/common/utils/PostgresqlDB.kt +++ b/opendc-common/src/main/kotlin/org/opendc/common/utils/PostgresqlDB.kt @@ -4,25 +4,40 @@ import java.sql.Connection import java.sql.DriverManager import java.sql.SQLException -public class PostgresqlDB { - public var connection : Connection? = null - public var dbUrl : String = "" - public var user : String = "" - public var password : String = "" +/** + * Represents the Postgresql database. + * On setup cleans the entire database and creates empty tables. + * + * @author Mateusz + * + * @param address ipv4 address + * @param port postgres post + * @param dbName database name + * @param user + * @param password + */ +public class PostgresqlDB( + address : String, + port : Int, + dbName : String, + private var user : String, + private var password : String, +) { + private var connection : Connection? = null + private var dbUrl : String = "" - public fun setupDatabase(address : String, port : Int, dbUser : String, dbPassword : String, db : String){ - dbUrl = "jdbc:postgresql://$address:$port/$db" - user = dbUser - password = dbPassword + init { + dbUrl = "jdbc:postgresql://$address:$port/$dbName" println(dbUrl) try { - connection = DriverManager.getConnection(dbUrl, dbUser, dbPassword) + connection = DriverManager.getConnection(dbUrl, user, password) + clear() + setup() } catch (e: SQLException) { print("${e.message}") } } - - public fun create(){ + public fun setup(){ val CREATE_TABLE = """ CREATE TABLE metrics ( id SERIAL PRIMARY KEY, -- cgit v1.2.3