refactored ModuleRegistry to singleton system

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
2025-09-12 00:38:28 +02:00
parent e8e215f24c
commit bfe87f53a8
23 changed files with 140 additions and 163 deletions

View File

@@ -4,6 +4,8 @@ package de.srsoftware.umbrella.legacy;
import static de.srsoftware.tools.Optionals.nullable;
import static de.srsoftware.umbrella.core.Constants.TOKEN;
import static de.srsoftware.umbrella.core.ModuleRegistry.companyService;
import static de.srsoftware.umbrella.core.ModuleRegistry.userService;
import static de.srsoftware.umbrella.core.Paths.JSON;
import static de.srsoftware.umbrella.core.Util.mapValues;
@@ -20,11 +22,10 @@ import java.util.Map;
import java.util.Optional;
public class CompanyLegacy extends BaseHandler {
private final Configuration config;
public CompanyLegacy(ModuleRegistry registry, Configuration config) {
super(registry);
this.config = config.subset("umbrella.modules").orElseThrow(() -> new RuntimeException("Missing configuration: umbrella.modules"));
public CompanyLegacy(Configuration config) {
super();
ModuleRegistry.add(this);
}
@Override

View File

@@ -5,6 +5,8 @@ package de.srsoftware.umbrella.legacy;
import static de.srsoftware.tools.Optionals.nullable;
import static de.srsoftware.umbrella.core.Constants.TOKEN;
import static de.srsoftware.umbrella.core.Constants.URI;
import static de.srsoftware.umbrella.core.ModuleRegistry.noteService;
import static de.srsoftware.umbrella.core.ModuleRegistry.userService;
import static de.srsoftware.umbrella.core.Util.markdown;
import static de.srsoftware.umbrella.core.exceptions.UmbrellaException.invalidFieldException;
@@ -24,11 +26,9 @@ import java.util.Map;
import java.util.Optional;
public class NotesLegacy extends BaseHandler {
private final Configuration config;
public NotesLegacy(ModuleRegistry registry, Configuration config) {
super(registry);
this.config = config.subset("umbrella.modules").orElseThrow(() -> new RuntimeException("Missing configuration: umbrella.modules"));
public NotesLegacy(Configuration config) {
super();
}
@Override

View File

@@ -4,6 +4,8 @@ package de.srsoftware.umbrella.legacy;
import static de.srsoftware.tools.Optionals.nullable;
import static de.srsoftware.umbrella.core.Constants.*;
import static de.srsoftware.umbrella.core.ModuleRegistry.projectService;
import static de.srsoftware.umbrella.core.ModuleRegistry.userService;
import static de.srsoftware.umbrella.core.Paths.JSON;
import static de.srsoftware.umbrella.core.Util.mapValues;
@@ -20,11 +22,9 @@ import java.util.Map;
import java.util.Optional;
public class ProjectLegacy extends BaseHandler {
private final Configuration config;
public ProjectLegacy(ModuleRegistry registry, Configuration config) {
super(registry);
this.config = config.subset("umbrella.modules").orElseThrow(() -> new RuntimeException("Missing configuration: umbrella.modules"));
public ProjectLegacy(Configuration config) {
super();
}
@Override

View File

@@ -6,12 +6,13 @@ package de.srsoftware.umbrella.legacy;
import static de.srsoftware.tools.Optionals.nullable;
import static de.srsoftware.umbrella.core.Constants.DESCRIPTION;
import static de.srsoftware.umbrella.core.Constants.TOKEN;
import static de.srsoftware.umbrella.core.ModuleRegistry.taskService;
import static de.srsoftware.umbrella.core.ModuleRegistry.userService;
import static de.srsoftware.umbrella.core.Paths.JSON;
import static de.srsoftware.umbrella.core.Util.mapValues;
import static de.srsoftware.umbrella.core.exceptions.UmbrellaException.unprocessable;
import com.sun.net.httpserver.HttpExchange;
import de.srsoftware.configuration.Configuration;
import de.srsoftware.tools.Path;
import de.srsoftware.tools.SessionToken;
import de.srsoftware.umbrella.core.BaseHandler;
@@ -24,11 +25,9 @@ import java.util.Map;
import java.util.Optional;
public class TaskLegacy extends BaseHandler {
private final Configuration config;
public TaskLegacy(ModuleRegistry registry, Configuration config) {
super(registry);
this.config = config.subset("umbrella.modules").orElseThrow(() -> new RuntimeException("Missing configuration: umbrella.modules"));
public TaskLegacy() {
super();
}
@Override

View File

@@ -5,6 +5,7 @@ import static de.srsoftware.tools.MimeType.MIME_FORM_URL;
import static de.srsoftware.tools.Query.decode;
import static de.srsoftware.umbrella.core.Constants.*;
import static de.srsoftware.umbrella.core.Constants.TOKEN;
import static de.srsoftware.umbrella.core.ModuleRegistry.userService;
import static de.srsoftware.umbrella.core.Paths.*;
import static de.srsoftware.umbrella.core.Util.request;
import static de.srsoftware.umbrella.user.Paths.*;
@@ -34,8 +35,8 @@ public class UserLegacy extends BaseHandler {
private final Configuration config;
private final String messageUrl;
public UserLegacy(ModuleRegistry registry, Configuration config) {
super(registry);
public UserLegacy(Configuration config) {
super();
this.config = config.subset("umbrella.modules").orElseThrow(() -> new RuntimeException("Missing configuration: umbrella.modules"));
this.messageUrl = null;
}