refactor(simulator): move template keys deprecation code into helpers
authorJérôme Benoit <jerome.benoit@sap.com>
Sun, 26 Mar 2023 15:08:14 +0000 (17:08 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Sun, 26 Mar 2023 15:08:14 +0000 (17:08 +0200)
     file

Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
src/charging-station/ChargingStation.ts
src/charging-station/ChargingStationUtils.ts

index 43fb6889fa65cfb48df6d44d599f328398d084ad..61a4d962137ed2946a6755285420b32332a31245 100644 (file)
@@ -854,27 +854,6 @@ export class ChargingStation {
     return template;
   }
 
-  private warnTemplateKeysDeprecation(stationTemplate: ChargingStationTemplate) {
-    const templateKeys: { key: string; deprecatedKey: string }[] = [
-      { key: 'supervisionUrls', deprecatedKey: 'supervisionUrl' },
-      { key: 'idTagsFile', deprecatedKey: 'authorizationFile' },
-    ];
-    for (const templateKey of templateKeys) {
-      ChargingStationUtils.warnDeprecatedTemplateKey(
-        stationTemplate,
-        templateKey.deprecatedKey,
-        this.templateFile,
-        this.logPrefix(),
-        `Use '${templateKey.key}' instead`
-      );
-      ChargingStationUtils.convertDeprecatedTemplateKey(
-        stationTemplate,
-        templateKey.deprecatedKey,
-        templateKey.key
-      );
-    }
-  }
-
   private getStationInfoFromTemplate(): ChargingStationInfo {
     const stationTemplate: ChargingStationTemplate | undefined = this.getTemplateFromFile();
     if (Utils.isNullOrUndefined(stationTemplate)) {
@@ -887,7 +866,11 @@ export class ChargingStation {
       logger.error(`${this.logPrefix()} ${errorMsg}`);
       throw new BaseError(errorMsg);
     }
-    this.warnTemplateKeysDeprecation(stationTemplate);
+    ChargingStationUtils.warnTemplateKeysDeprecation(
+      this.templateFile,
+      stationTemplate,
+      this.logPrefix()
+    );
     const stationInfo: ChargingStationInfo =
       ChargingStationUtils.stationTemplateToStationInfo(stationTemplate);
     stationInfo.hashId = ChargingStationUtils.getHashId(this.index, stationTemplate);
index bca8c0881e195ea598ed1f1c10286edd269a398a..0138d7850a5a15b4936167fdcb56a1e27b0068d1 100644 (file)
@@ -212,30 +212,28 @@ export class ChargingStationUtils {
     return Configuration.getWorker().processType === WorkerProcessType.dynamicPool;
   }
 
-  public static warnDeprecatedTemplateKey(
-    template: ChargingStationTemplate,
-    key: string,
+  public static warnTemplateKeysDeprecation(
     templateFile: string,
-    logPrefix: string,
-    logMsgToAppend = ''
-  ): void {
-    if (!Utils.isUndefined(template[key])) {
-      const logMsg = `Deprecated template key '${key}' usage in file '${templateFile}'${
-        Utils.isNotEmptyString(logMsgToAppend) ? `. ${logMsgToAppend}` : ''
-      }`;
-      logger.warn(`${logPrefix} ${logMsg}`);
-      console.warn(chalk.yellow(`${logMsg}`));
-    }
-  }
-
-  public static convertDeprecatedTemplateKey(
-    template: ChargingStationTemplate,
-    deprecatedKey: string,
-    key: string
-  ): void {
-    if (!Utils.isUndefined(template[deprecatedKey])) {
-      template[key] = template[deprecatedKey] as unknown;
-      delete template[deprecatedKey];
+    stationTemplate: ChargingStationTemplate,
+    logPrefix: string
+  ) {
+    const templateKeys: { key: string; deprecatedKey: string }[] = [
+      { key: 'supervisionUrls', deprecatedKey: 'supervisionUrl' },
+      { key: 'idTagsFile', deprecatedKey: 'authorizationFile' },
+    ];
+    for (const templateKey of templateKeys) {
+      ChargingStationUtils.warnDeprecatedTemplateKey(
+        stationTemplate,
+        templateKey.deprecatedKey,
+        templateFile,
+        logPrefix,
+        `Use '${templateKey.key}' instead`
+      );
+      ChargingStationUtils.convertDeprecatedTemplateKey(
+        stationTemplate,
+        templateKey.deprecatedKey,
+        templateKey.key
+      );
     }
   }
 
@@ -425,6 +423,33 @@ export class ChargingStationUtils {
     );
   }
 
+  private static warnDeprecatedTemplateKey(
+    template: ChargingStationTemplate,
+    key: string,
+    templateFile: string,
+    logPrefix: string,
+    logMsgToAppend = ''
+  ): void {
+    if (!Utils.isUndefined(template[key])) {
+      const logMsg = `Deprecated template key '${key}' usage in file '${templateFile}'${
+        Utils.isNotEmptyString(logMsgToAppend) ? `. ${logMsgToAppend}` : ''
+      }`;
+      logger.warn(`${logPrefix} ${logMsg}`);
+      console.warn(chalk.yellow(`${logMsg}`));
+    }
+  }
+
+  private static convertDeprecatedTemplateKey(
+    template: ChargingStationTemplate,
+    deprecatedKey: string,
+    key: string
+  ): void {
+    if (!Utils.isUndefined(template[deprecatedKey])) {
+      template[key] = template[deprecatedKey] as unknown;
+      delete template[deprecatedKey];
+    }
+  }
+
   /**
    * Charging profiles should already be sorted by connectorId and stack level (highest stack level has priority)
    *