X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Fui-server%2Fui-services%2FUIService001.ts;h=ddbd54e9250ba9d4d4d3d27c0bdffddaa3692ab6;hb=d3195f0a57d61e2afd211f30092f8f1afe6c5245;hp=57c34c2239a6ee573d7462d5e57c96b1157f2cfc;hpb=10db00b2276f4cc7a88dd18e8f6f80593d6458b3;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/ui-server/ui-services/UIService001.ts b/src/charging-station/ui-server/ui-services/UIService001.ts index 57c34c22..ddbd54e9 100644 --- a/src/charging-station/ui-server/ui-services/UIService001.ts +++ b/src/charging-station/ui-server/ui-services/UIService001.ts @@ -9,111 +9,89 @@ import type { AbstractUIServer } from '../AbstractUIServer'; import AbstractUIService from './AbstractUIService'; export default class UIService001 extends AbstractUIService { + private static readonly ProcedureNameToBroadCastChannelProcedureNameMap: Omit< + Record, + 'startSimulator' | 'stopSimulator' | 'listChargingStations' + > = { + [ProcedureName.START_CHARGING_STATION]: BroadcastChannelProcedureName.START_CHARGING_STATION, + [ProcedureName.STOP_CHARGING_STATION]: BroadcastChannelProcedureName.STOP_CHARGING_STATION, + [ProcedureName.CLOSE_CONNECTION]: BroadcastChannelProcedureName.CLOSE_CONNECTION, + [ProcedureName.OPEN_CONNECTION]: BroadcastChannelProcedureName.OPEN_CONNECTION, + [ProcedureName.START_AUTOMATIC_TRANSACTION_GENERATOR]: + BroadcastChannelProcedureName.START_AUTOMATIC_TRANSACTION_GENERATOR, + [ProcedureName.STOP_AUTOMATIC_TRANSACTION_GENERATOR]: + BroadcastChannelProcedureName.STOP_AUTOMATIC_TRANSACTION_GENERATOR, + [ProcedureName.START_TRANSACTION]: BroadcastChannelProcedureName.START_TRANSACTION, + [ProcedureName.STOP_TRANSACTION]: BroadcastChannelProcedureName.STOP_TRANSACTION, + [ProcedureName.AUTHORIZE]: BroadcastChannelProcedureName.AUTHORIZE, + [ProcedureName.STATUS_NOTIFICATION]: BroadcastChannelProcedureName.STATUS_NOTIFICATION, + [ProcedureName.HEARTBEAT]: BroadcastChannelProcedureName.HEARTBEAT, + [ProcedureName.METER_VALUES]: BroadcastChannelProcedureName.METER_VALUES, + }; + constructor(uiServer: AbstractUIServer) { super(uiServer, ProtocolVersion['0.0.1']); this.requestHandlers.set( ProcedureName.START_CHARGING_STATION, - this.handleStartChargingStation.bind(this) as ProtocolRequestHandler + this.handleProtocolRequest.bind(this) as ProtocolRequestHandler ); this.requestHandlers.set( ProcedureName.STOP_CHARGING_STATION, - this.handleStopChargingStation.bind(this) as ProtocolRequestHandler + this.handleProtocolRequest.bind(this) as ProtocolRequestHandler ); this.requestHandlers.set( ProcedureName.OPEN_CONNECTION, - this.handleOpenConnection.bind(this) as ProtocolRequestHandler + this.handleProtocolRequest.bind(this) as ProtocolRequestHandler ); this.requestHandlers.set( ProcedureName.CLOSE_CONNECTION, - this.handleCloseConnection.bind(this) as ProtocolRequestHandler + this.handleProtocolRequest.bind(this) as ProtocolRequestHandler ); this.requestHandlers.set( - ProcedureName.START_TRANSACTION, - this.handleStartTransaction.bind(this) as ProtocolRequestHandler + ProcedureName.START_AUTOMATIC_TRANSACTION_GENERATOR, + this.handleProtocolRequest.bind(this) as ProtocolRequestHandler ); this.requestHandlers.set( - ProcedureName.STOP_TRANSACTION, - this.handleStopTransaction.bind(this) as ProtocolRequestHandler + ProcedureName.STOP_AUTOMATIC_TRANSACTION_GENERATOR, + this.handleProtocolRequest.bind(this) as ProtocolRequestHandler ); this.requestHandlers.set( - ProcedureName.START_AUTOMATIC_TRANSACTION_GENERATOR, - this.handleStartAutomaticTransactionGenerator.bind(this) as ProtocolRequestHandler + ProcedureName.START_TRANSACTION, + this.handleProtocolRequest.bind(this) as ProtocolRequestHandler ); this.requestHandlers.set( - ProcedureName.STOP_AUTOMATIC_TRANSACTION_GENERATOR, - this.handleStopAutomaticTransactionGenerator.bind(this) as ProtocolRequestHandler + ProcedureName.STOP_TRANSACTION, + this.handleProtocolRequest.bind(this) as ProtocolRequestHandler + ); + this.requestHandlers.set( + ProcedureName.AUTHORIZE, + this.handleProtocolRequest.bind(this) as ProtocolRequestHandler ); this.requestHandlers.set( ProcedureName.STATUS_NOTIFICATION, - this.handleStatusNotification.bind(this) as ProtocolRequestHandler + this.handleProtocolRequest.bind(this) as ProtocolRequestHandler ); this.requestHandlers.set( ProcedureName.HEARTBEAT, - this.handleHeartbeat.bind(this) as ProtocolRequestHandler + this.handleProtocolRequest.bind(this) as ProtocolRequestHandler ); - } - - private handleStartChargingStation(uuid: string, payload: RequestPayload): void { - this.sendBroadcastChannelRequest( - uuid, - BroadcastChannelProcedureName.START_CHARGING_STATION, - payload - ); - } - - private handleStopChargingStation(uuid: string, payload: RequestPayload): void { - this.sendBroadcastChannelRequest( - uuid, - BroadcastChannelProcedureName.STOP_CHARGING_STATION, - payload - ); - } - - private handleOpenConnection(uuid: string, payload: RequestPayload): void { - this.sendBroadcastChannelRequest(uuid, BroadcastChannelProcedureName.OPEN_CONNECTION, payload); - } - - private handleCloseConnection(uuid: string, payload: RequestPayload): void { - this.sendBroadcastChannelRequest(uuid, BroadcastChannelProcedureName.CLOSE_CONNECTION, payload); - } - - private handleStartTransaction(uuid: string, payload: RequestPayload): void { - this.sendBroadcastChannelRequest( - uuid, - BroadcastChannelProcedureName.START_TRANSACTION, - payload - ); - } - - private handleStopTransaction(uuid: string, payload: RequestPayload): void { - this.sendBroadcastChannelRequest(uuid, BroadcastChannelProcedureName.STOP_TRANSACTION, payload); - } - - private handleStartAutomaticTransactionGenerator(uuid: string, payload: RequestPayload): void { - this.sendBroadcastChannelRequest( - uuid, - BroadcastChannelProcedureName.START_AUTOMATIC_TRANSACTION_GENERATOR, - payload - ); - } - - private handleStopAutomaticTransactionGenerator(uuid: string, payload: RequestPayload): void { - this.sendBroadcastChannelRequest( - uuid, - BroadcastChannelProcedureName.STOP_AUTOMATIC_TRANSACTION_GENERATOR, - payload + this.requestHandlers.set( + ProcedureName.METER_VALUES, + this.handleProtocolRequest.bind(this) as ProtocolRequestHandler ); } - private handleStatusNotification(uuid: string, payload: RequestPayload): void { + private handleProtocolRequest( + uuid: string, + procedureName: ProcedureName, + payload: RequestPayload + ): void { this.sendBroadcastChannelRequest( uuid, - BroadcastChannelProcedureName.STATUS_NOTIFICATION, + UIService001.ProcedureNameToBroadCastChannelProcedureNameMap[ + procedureName + ] as BroadcastChannelProcedureName, payload ); } - - private handleHeartbeat(uuid: string, payload: RequestPayload): void { - this.sendBroadcastChannelRequest(uuid, BroadcastChannelProcedureName.HEARTBEAT, payload); - } }