1
0

changes (still bugs :c)

This commit is contained in:
Jose
2025-03-14 01:30:08 +01:00
parent 7eef98e870
commit 4014b1fd0a
6 changed files with 52 additions and 49 deletions

View File

@@ -65,9 +65,9 @@ public class ConfigManager {
public String getBaseDir() { public String getBaseDir() {
return getHomeDir() + return getHomeDir() +
(getOS() == OSType.WINDOWS ? ".contaminus" : (getOS() == OSType.WINDOWS ? ".contaminus/" :
getOS() == OSType.LINUX ? ".config/contaminus" : getOS() == OSType.LINUX ? ".config/contaminus/" :
".contaminus"); ".contaminus/");
} }
public static OSType getOS() { public static OSType getOS() {

View File

@@ -1,40 +1,28 @@
package net.miarma.contaminus.database; package net.miarma.contaminus.database;
import io.vertx.core.Future;
import io.vertx.core.Handler;
import io.vertx.core.Vertx;
import io.vertx.core.json.JsonObject;
import io.vertx.jdbcclient.JDBCPool;
import io.vertx.sqlclient.Row;
import io.vertx.sqlclient.RowSet;
import net.miarma.contaminus.common.ConfigManager;
import net.miarma.contaminus.common.Constants;
import java.lang.reflect.Constructor; import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import io.vertx.core.Future;
import io.vertx.core.Handler;
import io.vertx.jdbcclient.JDBCPool;
import io.vertx.sqlclient.Row;
import io.vertx.sqlclient.RowSet;
import net.miarma.contaminus.common.Constants;
public class DatabaseManager { public class DatabaseManager {
private static DatabaseManager instance; private static DatabaseManager instance;
private final JDBCPool pool; private final JDBCPool pool;
private DatabaseManager(JDBCPool pool) {
this.pool = pool;
}
@SuppressWarnings("deprecation") public static synchronized DatabaseManager getInstance(JDBCPool pool) {
private DatabaseManager(Vertx vertx) {
ConfigManager config = ConfigManager.getInstance();
JsonObject dbConfig = new JsonObject()
.put("jdbcUrl", config.getJdbcUrl())
.put("username", config.getStringProperty("db.user"))
.put("password", config.getStringProperty("db.pwd"))
.put("max_pool_size", config.getIntProperty("db.poolSize"));
pool = JDBCPool.pool(vertx, dbConfig);
}
public static synchronized DatabaseManager getInstance(Vertx vertx) {
if (instance == null) { if (instance == null) {
instance = new DatabaseManager(vertx); instance = new DatabaseManager(pool);
} }
return instance; return instance;
} }

View File

@@ -4,9 +4,6 @@ import java.util.Arrays;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import io.vertx.core.AbstractVerticle; import io.vertx.core.AbstractVerticle;
import io.vertx.core.Promise; import io.vertx.core.Promise;
import io.vertx.core.http.HttpMethod; import io.vertx.core.http.HttpMethod;
@@ -14,19 +11,29 @@ import io.vertx.ext.web.Router;
import io.vertx.ext.web.RoutingContext; import io.vertx.ext.web.RoutingContext;
import io.vertx.ext.web.handler.BodyHandler; import io.vertx.ext.web.handler.BodyHandler;
import io.vertx.ext.web.handler.CorsHandler; import io.vertx.ext.web.handler.CorsHandler;
import io.vertx.jdbcclient.JDBCPool;
import net.miarma.contaminus.common.ConfigManager; import net.miarma.contaminus.common.ConfigManager;
import net.miarma.contaminus.common.Constants; import net.miarma.contaminus.common.Constants;
import net.miarma.contaminus.database.DatabaseManager; import net.miarma.contaminus.database.DatabaseManager;
@SuppressWarnings("unused") @SuppressWarnings("unused")
public class DataLayerAPIVerticle extends AbstractVerticle { public class DataLayerAPIVerticle extends AbstractVerticle {
private DatabaseManager dbManager = DatabaseManager.getInstance(vertx); private JDBCPool pool;
private Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create(); private DatabaseManager dbManager;
private ConfigManager configManager = ConfigManager.getInstance(); private ConfigManager configManager;
public DataLayerAPIVerticle(JDBCPool pool) {
this.pool = pool;
}
@Override @Override
public void start(Promise<Void> startPromise) { public void start(Promise<Void> startPromise) {
dbManager = DatabaseManager.getInstance(pool);
configManager = ConfigManager.getInstance();
Constants.LOGGER.info("📡 Iniciando DataLayerAPIVerticle..."); Constants.LOGGER.info("📡 Iniciando DataLayerAPIVerticle...");
Router router = Router.router(vertx); Router router = Router.router(vertx);
Set<HttpMethod> allowedMethods = new HashSet<>( Set<HttpMethod> allowedMethods = new HashSet<>(
@@ -64,7 +71,7 @@ public class DataLayerAPIVerticle extends AbstractVerticle {
router.route(HttpMethod.PUT, Constants.PUT_ACTUATOR_BY_ID).handler(this::updateActuator); router.route(HttpMethod.PUT, Constants.PUT_ACTUATOR_BY_ID).handler(this::updateActuator);
dbManager.testConnection() dbManager.testConnection()
.onSuccess(rows -> { .onSuccess(_rows -> {
Constants.LOGGER.info("✅ Database connection ok"); Constants.LOGGER.info("✅ Database connection ok");
vertx.createHttpServer() vertx.createHttpServer()
.requestHandler(router) .requestHandler(router)

View File

@@ -1,13 +1,9 @@
package net.miarma.contaminus.server; package net.miarma.contaminus.server;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import io.vertx.core.AbstractVerticle; import io.vertx.core.AbstractVerticle;
import io.vertx.core.Promise; import io.vertx.core.Promise;
import io.vertx.core.http.HttpMethod; import io.vertx.core.http.HttpMethod;
@@ -17,16 +13,14 @@ import io.vertx.ext.web.handler.BodyHandler;
import io.vertx.ext.web.handler.CorsHandler; import io.vertx.ext.web.handler.CorsHandler;
import net.miarma.contaminus.common.ConfigManager; import net.miarma.contaminus.common.ConfigManager;
import net.miarma.contaminus.common.Constants; import net.miarma.contaminus.common.Constants;
import net.miarma.contaminus.database.DatabaseManager;
@SuppressWarnings("unused")
public class LogicLayerAPIVerticle extends AbstractVerticle { public class LogicLayerAPIVerticle extends AbstractVerticle {
private DatabaseManager dbManager = DatabaseManager.getInstance(vertx); private ConfigManager configManager;
private Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
private ConfigManager configManager = ConfigManager.getInstance();
@Override @Override
public void start(Promise<Void> startPromise) { public void start(Promise<Void> startPromise) {
configManager = ConfigManager.getInstance();
Constants.LOGGER.info("📡 Iniciando LogicApiVerticle..."); Constants.LOGGER.info("📡 Iniciando LogicApiVerticle...");
Router router = Router.router(vertx); Router router = Router.router(vertx);

View File

@@ -10,13 +10,25 @@ import io.vertx.core.AbstractVerticle;
import io.vertx.core.DeploymentOptions; import io.vertx.core.DeploymentOptions;
import io.vertx.core.Promise; import io.vertx.core.Promise;
import io.vertx.core.ThreadingModel; import io.vertx.core.ThreadingModel;
import io.vertx.core.json.JsonObject;
import io.vertx.jdbcclient.JDBCPool;
import net.miarma.contaminus.common.ConfigManager; import net.miarma.contaminus.common.ConfigManager;
import net.miarma.contaminus.common.Constants; import net.miarma.contaminus.common.Constants;
public class MainVerticle extends AbstractVerticle { public class MainVerticle extends AbstractVerticle {
static ConfigManager configManager = ConfigManager.getInstance(); static ConfigManager configManager;
private JDBCPool pool;
private void init() { @SuppressWarnings("deprecation")
private void init() {
configManager = ConfigManager.getInstance();
JsonObject dbConfig = new JsonObject()
.put("jdbcUrl", configManager.getJdbcUrl())
.put("username", configManager.getStringProperty("db.user"))
.put("password", configManager.getStringProperty("db.pwd"))
.put("max_pool_size", configManager.getIntProperty("db.poolSize"));
pool = JDBCPool.pool(vertx, dbConfig);
initializeDirectories(); initializeDirectories();
copyDefaultConfig(); copyDefaultConfig();
} }
@@ -50,8 +62,8 @@ public class MainVerticle extends AbstractVerticle {
final DeploymentOptions options = new DeploymentOptions(); final DeploymentOptions options = new DeploymentOptions();
options.setThreadingModel(ThreadingModel.WORKER); options.setThreadingModel(ThreadingModel.WORKER);
vertx.deployVerticle(new DataLayerAPIVerticle(), options, result -> { vertx.deployVerticle(new DataLayerAPIVerticle(pool), options, result -> {
if(result.succeeded()) { if(result.succeeded()) {
Constants.LOGGER.info(String.format( Constants.LOGGER.info(String.format(
"🟢 DataLayerAPIVerticle desplegado. (http://%s:%d)", "🟢 DataLayerAPIVerticle desplegado. (http://%s:%d)",

View File

@@ -8,10 +8,12 @@ import net.miarma.contaminus.common.ConfigManager;
import net.miarma.contaminus.common.Constants; import net.miarma.contaminus.common.Constants;
public class WebServerVerticle extends AbstractVerticle { public class WebServerVerticle extends AbstractVerticle {
private final ConfigManager configManager = ConfigManager.getInstance(); private ConfigManager configManager;
@Override @Override
public void start(Promise<Void> startPromise) { public void start(Promise<Void> startPromise) {
configManager = ConfigManager.getInstance();
Constants.LOGGER.info("📡 Iniciando WebServerVerticle..."); Constants.LOGGER.info("📡 Iniciando WebServerVerticle...");
Router router = Router.router(vertx); Router router = Router.router(vertx);