summaryrefslogtreecommitdiff
path: root/opendc-common/src/main/kotlin/org/opendc/common/utils/PostgresqlDB.kt
diff options
context:
space:
mode:
Diffstat (limited to 'opendc-common/src/main/kotlin/org/opendc/common/utils/PostgresqlDB.kt')
-rw-r--r--opendc-common/src/main/kotlin/org/opendc/common/utils/PostgresqlDB.kt39
1 files changed, 27 insertions, 12 deletions
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,