preparing journal module
This commit is contained in:
7
journal/build.gradle.kts
Normal file
7
journal/build.gradle.kts
Normal file
@@ -0,0 +1,7 @@
|
||||
description = "Umbrella : Journal"
|
||||
|
||||
dependencies{
|
||||
implementation(project(":bus"))
|
||||
implementation(project(":core"))
|
||||
}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
/* © SRSoftware 2025 */
|
||||
package de.srsoftware.umbrella.journal;
|
||||
|
||||
public class Constants {
|
||||
public static final String CONFIG_DATABASE = "umbrella.modules.journal.database";
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package de.srsoftware.umbrella.journal;
|
||||
|
||||
public interface JournalDb {
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package de.srsoftware.umbrella.journal;
|
||||
|
||||
import de.srsoftware.configuration.Configuration;
|
||||
import de.srsoftware.umbrella.core.BaseHandler;
|
||||
import de.srsoftware.umbrella.core.ModuleRegistry;
|
||||
import de.srsoftware.umbrella.messagebus.EventListener;
|
||||
import de.srsoftware.umbrella.messagebus.events.Event;
|
||||
|
||||
import static de.srsoftware.umbrella.core.ConnectionProvider.connect;
|
||||
import static de.srsoftware.umbrella.core.exceptions.UmbrellaException.missingFieldException;
|
||||
import static de.srsoftware.umbrella.journal.Constants.CONFIG_DATABASE;
|
||||
|
||||
|
||||
public class JournalModule extends BaseHandler implements EventListener {
|
||||
|
||||
private final SqliteDb journalDb;
|
||||
|
||||
public JournalModule(Configuration config){
|
||||
super();
|
||||
var dbFile = config.get(CONFIG_DATABASE).orElseThrow(() -> missingFieldException(CONFIG_DATABASE))
|
||||
journalDb = new SqliteDb(connect(dbFile));
|
||||
ModuleRegistry.add(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEvent(Event event) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package de.srsoftware.umbrella.journal;
|
||||
|
||||
import de.srsoftware.umbrella.core.BaseDb;
|
||||
|
||||
import java.sql.Connection;
|
||||
|
||||
public class SqliteDb extends BaseDb implements JournalDb{
|
||||
public SqliteDb(Connection connection) {
|
||||
super(connection);
|
||||
}
|
||||
|
||||
protected int createTables() {
|
||||
int currentVersion = createSettingsTable();
|
||||
switch (currentVersion){
|
||||
case 0:
|
||||
createJournalTable();
|
||||
}
|
||||
|
||||
return setCurrentVersion(1);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user