preparing file service

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
2025-09-26 08:47:22 +02:00
parent ae84a806d1
commit 8dd8a9ed66
10 changed files with 69 additions and 12 deletions

View File

@@ -0,0 +1,5 @@
package de.srsoftware.umbrella.files;
public class Constants {
public static final String CONFIG_DATABASE = "umbrella.modules.files.database";
}

View File

@@ -0,0 +1,4 @@
package de.srsoftware.umbrella.files;
public interface FileDb {
}

View File

@@ -0,0 +1,24 @@
package de.srsoftware.umbrella.files;
import de.srsoftware.configuration.Configuration;
import de.srsoftware.umbrella.core.BaseHandler;
import de.srsoftware.umbrella.core.ModuleRegistry;
import de.srsoftware.umbrella.core.api.FileService;
import de.srsoftware.umbrella.core.exceptions.UmbrellaException;
import static de.srsoftware.umbrella.core.ConnectionProvider.connect;
import static de.srsoftware.umbrella.core.exceptions.UmbrellaException.missingFieldException;
import static de.srsoftware.umbrella.files.Constants.CONFIG_DATABASE;
public class FileModule extends BaseHandler implements FileService {
FileDb fileDb;
public FileModule(Configuration config) throws UmbrellaException {
super();
var dbFile = config.get(CONFIG_DATABASE).orElseThrow(() -> missingFieldException(CONFIG_DATABASE));
fileDb = new SqliteDb(connect(dbFile));
ModuleRegistry.add(this);
}
}

View File

@@ -0,0 +1,11 @@
package de.srsoftware.umbrella.files;
import java.sql.Connection;
public class SqliteDb implements FileDb {
private final Connection db;
public SqliteDb(Connection conn) {
this.db = conn;
}
}