X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2FBootstrap.ts;h=3993ae1f2a34a23ea3113b04b447512deb6474b9;hb=45a9839313c9bd8e81d61349bde0ea3bb69adf6a;hp=9e24c8b845e258351e1087cd36fab590a572fa98;hpb=e375708d902de515fb56e00c0fefd377cbd0469c;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/Bootstrap.ts b/src/charging-station/Bootstrap.ts index 9e24c8b8..3993ae1f 100644 --- a/src/charging-station/Bootstrap.ts +++ b/src/charging-station/Bootstrap.ts @@ -67,7 +67,7 @@ export class Bootstrap extends EventEmitter { private workerImplementation?: WorkerAbstract private readonly uiServer?: AbstractUIServer private storage?: Storage - private readonly chargingStationsByTemplate: Map + private readonly templatesChargingStations: Map private readonly version: string = version private initializedCounters: boolean private started: boolean @@ -85,7 +85,7 @@ export class Bootstrap extends EventEmitter { this.started = false this.starting = false this.stopping = false - this.chargingStationsByTemplate = new Map() + this.templatesChargingStations = new Map() this.uiServer = UIServerFactory.getUIServerImplementation( Configuration.getConfigurationSection(ConfigurationSection.uiServer) ) @@ -106,11 +106,11 @@ export class Bootstrap extends EventEmitter { } public get numberOfChargingStationTemplates (): number { - return this.chargingStationsByTemplate.size + return this.templatesChargingStations.size } public get numberOfConfiguredChargingStations (): number { - return [...this.chargingStationsByTemplate.values()].reduce( + return [...this.templatesChargingStations.values()].reduce( (accumulator, value) => accumulator + value.configured, 0 ) @@ -118,7 +118,7 @@ export class Bootstrap extends EventEmitter { public getLastIndex (templateName: string): number { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - const indexes = [...this.chargingStationsByTemplate.get(templateName)!.indexes] + const indexes = [...this.templatesChargingStations.get(templateName)!.indexes] .concat(0) .sort((a, b) => a - b) for (let i = 0; i < indexes.length - 1; i++) { @@ -134,14 +134,14 @@ export class Bootstrap extends EventEmitter { } private get numberOfAddedChargingStations (): number { - return [...this.chargingStationsByTemplate.values()].reduce( + return [...this.templatesChargingStations.values()].reduce( (accumulator, value) => accumulator + value.added, 0 ) } private get numberOfStartedChargingStations (): number { - return [...this.chargingStationsByTemplate.values()].reduce( + return [...this.templatesChargingStations.values()].reduce( (accumulator, value) => accumulator + value.started, 0 ) @@ -196,8 +196,8 @@ export class Bootstrap extends EventEmitter { for (const stationTemplateUrl of Configuration.getStationTemplateUrls()!) { try { const nbStations = - this.chargingStationsByTemplate.get(parse(stationTemplateUrl.file).name) - ?.configured ?? stationTemplateUrl.numberOfStations + this.templatesChargingStations.get(parse(stationTemplateUrl.file).name)?.configured ?? + stationTemplateUrl.numberOfStations for (let index = 1; index <= nbStations; index++) { await this.addChargingStation(index, stationTemplateUrl.file) } @@ -412,10 +412,11 @@ export class Bootstrap extends EventEmitter { private readonly workerEventDeleted = (data: ChargingStationData): void => { this.uiServer?.chargingStations.delete(data.stationInfo.hashId) // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - --this.chargingStationsByTemplate.get(data.stationInfo.templateName)!.added - this.chargingStationsByTemplate - .get(data.stationInfo.templateName) - ?.indexes.delete(data.stationInfo.templateIndex) + const templateChargingStations = this.templatesChargingStations.get( + data.stationInfo.templateName + )! + --templateChargingStations.added + templateChargingStations.indexes.delete(data.stationInfo.templateIndex) logger.info( `${this.logPrefix()} ${moduleName}.workerEventDeleted: Charging station ${ data.stationInfo.chargingStationId @@ -428,7 +429,7 @@ export class Bootstrap extends EventEmitter { private readonly workerEventStarted = (data: ChargingStationData): void => { this.uiServer?.chargingStations.set(data.stationInfo.hashId, data) // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - ++this.chargingStationsByTemplate.get(data.stationInfo.templateName)!.started + ++this.templatesChargingStations.get(data.stationInfo.templateName)!.started logger.info( `${this.logPrefix()} ${moduleName}.workerEventStarted: Charging station ${ data.stationInfo.chargingStationId @@ -441,7 +442,7 @@ export class Bootstrap extends EventEmitter { private readonly workerEventStopped = (data: ChargingStationData): void => { this.uiServer?.chargingStations.set(data.stationInfo.hashId, data) // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - --this.chargingStationsByTemplate.get(data.stationInfo.templateName)!.started + --this.templatesChargingStations.get(data.stationInfo.templateName)!.started logger.info( `${this.logPrefix()} ${moduleName}.workerEventStopped: Charging station ${ data.stationInfo.chargingStationId @@ -477,7 +478,7 @@ export class Bootstrap extends EventEmitter { if (isNotEmptyArray(stationTemplateUrls)) { for (const stationTemplateUrl of stationTemplateUrls) { const templateName = parse(stationTemplateUrl.file).name - this.chargingStationsByTemplate.set(templateName, { + this.templatesChargingStations.set(templateName, { configured: stationTemplateUrl.numberOfStations, added: 0, started: 0, @@ -485,7 +486,7 @@ export class Bootstrap extends EventEmitter { }) this.uiServer?.chargingStationTemplates.add(templateName) } - if (this.chargingStationsByTemplate.size !== stationTemplateUrls.length) { + if (this.templatesChargingStations.size !== stationTemplateUrls.length) { console.error( chalk.red( "'stationTemplateUrls' contains duplicate entries, please check your configuration" @@ -530,10 +531,12 @@ export class Bootstrap extends EventEmitter { ), options }) - const templateName = parse(stationTemplateFile).name // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - ++this.chargingStationsByTemplate.get(templateName)!.added - this.chargingStationsByTemplate.get(templateName)?.indexes.add(index) + const templateChargingStations = this.templatesChargingStations.get( + parse(stationTemplateFile).name + )! + ++templateChargingStations.added + templateChargingStations.indexes.add(index) } private gracefulShutdown (): void {