refactor(ui): revert wrongly introduced code to handle multiples UI
authorJérôme Benoit <jerome.benoit@sap.com>
Mon, 19 Feb 2024 15:20:34 +0000 (16:20 +0100)
committerJérôme Benoit <jerome.benoit@sap.com>
Mon, 19 Feb 2024 15:20:34 +0000 (16:20 +0100)
      Server

Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
ui/web/src/composables/UIClient.ts
ui/web/src/main.ts
ui/web/src/types/ConfigurationType.ts

index e2266855de0fc18c65a90879cd8d586dafdb7ca4..9a6920418d3adb255f64a8e97e50be35e9586640 100644 (file)
@@ -16,7 +16,7 @@ type ResponseHandler = {
 }
 
 export class UIClient {
-  private static readonly instances: Map<number, UIClient> = new Map<number, UIClient>()
+  private static instance: UIClient | null = null
 
   private ws!: WebSocket
   private responseHandlers: Map<string, ResponseHandler>
@@ -26,16 +26,11 @@ export class UIClient {
     this.responseHandlers = new Map<string, ResponseHandler>()
   }
 
-  public static getInstance(
-    serverId: number,
-    uiServerConfiguration?: UIServerConfigurationSection
-  ): UIClient {
-    if (!UIClient.instances.has(serverId) && uiServerConfiguration != null) {
-      UIClient.instances.set(serverId, new UIClient(uiServerConfiguration))
-    } else if (!UIClient.instances.has(serverId)) {
-      throw new Error(`UI client instance not found for server id: ${serverId}`)
+  public static getInstance(uiServerConfiguration: UIServerConfigurationSection): UIClient {
+    if (UIClient.instance === null) {
+      UIClient.instance = new UIClient(uiServerConfiguration)
     }
-    return UIClient.instances.get(serverId)!
+    return UIClient.instance
   }
 
   public registerWSEventListener<K extends keyof WebSocketEventMap>(
index ddef6f364e4786ad7e14d4c13a0a20f75641f407..97f0167a740f8b5390eee6c1882f31933d287101 100644 (file)
@@ -14,10 +14,7 @@ const initializeApp = (config: ConfigurationData) => {
     console.info('Error info:', info)
     // TODO: add code for UI notifications or other error handling logic
   }
-  if (Array.isArray(config.uiServer)) {
-    throw new Error('Multiple UI server configurations is not yet supported')
-  }
-  app.config.globalProperties.$uiClient = UIClient.getInstance(0, config.uiServer)
+  app.config.globalProperties.$uiClient = UIClient.getInstance(config.uiServer)
   app.config.globalProperties.$uiClient.registerWSEventListener('open', () => {
     app.config.globalProperties.$uiClient
       .listChargingStations()
index 51bd21388b82b6c4260c5d1e2931f8611f45bac2..5d0f76797141ec280f4e3cc597a3de2f52e5b36c 100644 (file)
@@ -1,7 +1,7 @@
 import type { AuthenticationType, Protocol, ProtocolVersion } from './UIProtocol'
 
 export type ConfigurationData = {
-  uiServer: UIServerConfigurationSection | UIServerConfigurationSection[]
+  uiServer: UIServerConfigurationSection
 }
 
 export type UIServerConfigurationSection = {