From f1c5199d89508454efc860a1c9d558675af81bf0 Mon Sep 17 00:00:00 2001 From: adb Date: Wed, 17 Mar 2021 19:56:42 +0100 Subject: [PATCH] add class DBConfig --- example.config.json | 2 +- .../sh/adb/sensorCommunityAPI/DBConfig.java | 35 +++++++++++++++++++ .../sh/adb/sensorCommunityAPI/DBHandler.java | 12 +++++++ .../adb/sensorCommunityAPI/DataStoreBot.java | 7 ++-- .../java/sh/adb/sensorCommunityAPI/Main.java | 9 +++-- .../sh/adb/sensorCommunityAPI/dbHandler.java | 27 -------------- 6 files changed, 59 insertions(+), 33 deletions(-) create mode 100644 src/main/java/sh/adb/sensorCommunityAPI/DBConfig.java create mode 100644 src/main/java/sh/adb/sensorCommunityAPI/DBHandler.java delete mode 100644 src/main/java/sh/adb/sensorCommunityAPI/dbHandler.java diff --git a/example.config.json b/example.config.json index 40a1ee5..798d787 100644 --- a/example.config.json +++ b/example.config.json @@ -2,7 +2,7 @@ "storePath": "./data/", "apiURL": "https://data.sensor.community/airrohr/v1/sensor/35943/", "interval": 150, - "sqlConnection": { + "dbConfig": { "db": "", "pw": "", "user": "", diff --git a/src/main/java/sh/adb/sensorCommunityAPI/DBConfig.java b/src/main/java/sh/adb/sensorCommunityAPI/DBConfig.java new file mode 100644 index 0000000..25e4687 --- /dev/null +++ b/src/main/java/sh/adb/sensorCommunityAPI/DBConfig.java @@ -0,0 +1,35 @@ +package sh.adb.sensorCommunityAPI; + +import org.json.simple.JSONObject; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; + +public class DBConfig { + String pw; + String db; + String user; + int port; + String server; + + void setConfig(String pw, String db, String user, int port, String server){ + this.pw = pw; + this.db = db; + this.user = user; + this.port = port; + this.server = server; + } + void setJsonConfig(JSONObject config){ + this.pw = (String) config.get("pw"); + this.db = (String) config.get("db"); + this.user = (String) config.get("user"); + this.port = (Integer) config.get("port"); + this.server = (String) config.get("server"); + } + Connection getDbConnection() throws SQLException { + return DriverManager.getConnection( + "jdbc:mariadb://"+this.server+":"+String.valueOf(this.port)+"/"+this.db+"?user="+this.user+"&password="+this.pw + ); + } +} diff --git a/src/main/java/sh/adb/sensorCommunityAPI/DBHandler.java b/src/main/java/sh/adb/sensorCommunityAPI/DBHandler.java new file mode 100644 index 0000000..7d611e2 --- /dev/null +++ b/src/main/java/sh/adb/sensorCommunityAPI/DBHandler.java @@ -0,0 +1,12 @@ +package sh.adb.sensorCommunityAPI; + +import java.sql.Connection; +import java.sql.SQLException; + +public class DBHandler { + Connection connection; + + DBHandler(DBConfig config) throws SQLException { + this.connection = config.getDbConnection(); + } +} diff --git a/src/main/java/sh/adb/sensorCommunityAPI/DataStoreBot.java b/src/main/java/sh/adb/sensorCommunityAPI/DataStoreBot.java index 4b97022..d11b7ae 100644 --- a/src/main/java/sh/adb/sensorCommunityAPI/DataStoreBot.java +++ b/src/main/java/sh/adb/sensorCommunityAPI/DataStoreBot.java @@ -6,6 +6,7 @@ import org.json.simple.parser.ParseException; import java.io.IOException; import java.net.MalformedURLException; +import java.sql.Connection; import java.sql.SQLException; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; @@ -16,13 +17,13 @@ public class DataStoreBot { String apiURL; APIParser api; DataStore store; - dbHandler db; - DataStoreBot(String storePath, String apiURL) throws MalformedURLException, SQLException { + DBHandler db; + DataStoreBot(String storePath, String apiURL, DBConfig dbConfig) throws MalformedURLException, SQLException { this.storePath = storePath; this.apiURL = apiURL; this.api = new APIParser(this.apiURL); this.store = new DataStore(); - this.db = new dbHandler((JSONObject) store.readJSON("config.json").get("sqlConnection")); + this.db = new DBHandler(dbConfig); } public void setInterval(int seconds) { ScheduledExecutorService ses = Executors.newScheduledThreadPool(1); diff --git a/src/main/java/sh/adb/sensorCommunityAPI/Main.java b/src/main/java/sh/adb/sensorCommunityAPI/Main.java index 5fc80f3..a218b71 100644 --- a/src/main/java/sh/adb/sensorCommunityAPI/Main.java +++ b/src/main/java/sh/adb/sensorCommunityAPI/Main.java @@ -3,16 +3,21 @@ package sh.adb.sensorCommunityAPI; import org.json.simple.JSONObject; import java.io.IOException; +import java.sql.SQLException; public class Main { - public static void main(String[] args) throws IOException { + public static void main(String[] args) throws IOException, SQLException { DataStore store = new DataStore(); JSONObject config = store.readJSON("config.json"); if (config == null) config = store.readJSON("example.config.json"); + DBConfig dbConfig = new DBConfig(); + dbConfig.setJsonConfig((JSONObject) config.get("dbConfig")); + DataStoreBot bot = new DataStoreBot( config.get("storePath").toString(), - config.get("apiURL").toString() + config.get("apiURL").toString(), + dbConfig ); bot.setInterval((int)(long) config.get("interval")); } diff --git a/src/main/java/sh/adb/sensorCommunityAPI/dbHandler.java b/src/main/java/sh/adb/sensorCommunityAPI/dbHandler.java deleted file mode 100644 index c94bed6..0000000 --- a/src/main/java/sh/adb/sensorCommunityAPI/dbHandler.java +++ /dev/null @@ -1,27 +0,0 @@ -package sh.adb.sensorCommunityAPI; - -import org.json.simple.JSONObject; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.SQLException; - -public class dbHandler { - String pw; - String db; - String user; - int port; - String server; - Connection connection; - - dbHandler(JSONObject config) throws SQLException { - this.pw = (String) config.get("pw"); - this.db = (String) config.get("db"); - this.user = (String) config.get("user"); - this.port = (Integer) config.get("port"); - this.server = (String) config.get("server"); - Connection connection = DriverManager.getConnection( - "jdbc:mariadb://"+this.server+":"+this.port+"/"+this.db+"?user="+this.user+"&password="+this.pw - ); - } -}