fix: fix configuration section caching
[e-mobility-charging-stations-simulator.git] / src / charging-station / ui-server / UIServerFactory.ts
index e0f4a78e25ac62ac9d27a8ea24329d222e8f4cbb..2a6b521e42446cf0713b3a138db2051bf5eb53ba 100644 (file)
@@ -4,7 +4,7 @@ import type { AbstractUIServer } from './AbstractUIServer';
 import { UIHttpServer } from './UIHttpServer';
 import { UIServerUtils } from './UIServerUtils';
 import { UIWebSocketServer } from './UIWebSocketServer';
-import { ApplicationProtocol, type UIServerConfiguration } from '../../types';
+import { ApplicationProtocol, ConfigurationSection, type UIServerConfiguration } from '../../types';
 import { Configuration } from '../../utils';
 
 export class UIServerFactory {
@@ -22,11 +22,25 @@ export class UIServerFactory {
         ),
       );
     }
-    switch (uiServerConfiguration?.type ?? Configuration.getUIServer().type) {
+    switch (
+      uiServerConfiguration?.type ??
+      Configuration.getConfigurationSection<UIServerConfiguration>(ConfigurationSection.uiServer)
+        .type
+    ) {
       case ApplicationProtocol.WS:
-        return new UIWebSocketServer(uiServerConfiguration ?? Configuration.getUIServer());
+        return new UIWebSocketServer(
+          uiServerConfiguration ??
+            Configuration.getConfigurationSection<UIServerConfiguration>(
+              ConfigurationSection.uiServer,
+            ),
+        );
       case ApplicationProtocol.HTTP:
-        return new UIHttpServer(uiServerConfiguration ?? Configuration.getUIServer());
+        return new UIHttpServer(
+          uiServerConfiguration ??
+            Configuration.getConfigurationSection<UIServerConfiguration>(
+              ConfigurationSection.uiServer,
+            ),
+        );
       default:
         return null;
     }