return IdTagsCache.instance;
}
+ /**
+ * Get one idtag from the cache given the distribution
+ * Must be called after checking the cache is not an empty array
+ *
+ * @param distribution
+ * @param chargingStation
+ * @param connectorId
+ * @returns
+ */
public getIdTag(
distribution: IdTagDistribution,
chargingStation: ChargingStation,
}
}
+ /**
+ * Get all idtags from the cache
+ * Must be called after checking the cache is not an empty array
+ *
+ * @param file
+ * @returns
+ */
public getIdTags(file: string): string[] | undefined {
if (this.hasIdTagsCache(file) === false) {
- this.setIdTagsCache(file, this.getIdTagsFromFile(file));
+ this.setIdTagsCache(
+ Utils.isNotEmptyString(file) ? file : 'empty',
+ this.getIdTagsFromFile(file)
+ );
}
return this.getIdTagsCache(file);
}
}
private getIdTagsFromFile(file: string): string[] {
- let idTags: string[] = [];
- if (file) {
+ if (Utils.isNotEmptyString(file)) {
try {
- // Load id tags file
- idTags = JSON.parse(fs.readFileSync(file, 'utf8')) as string[];
+ return JSON.parse(fs.readFileSync(file, 'utf8')) as string[];
} catch (error) {
ErrorUtils.handleFileException(
file,
this.logPrefix(file)
);
}
- } else {
- logger.info(`${this.logPrefix(file)} No id tags file given`);
}
- return idTags;
+ logger.info(`${this.logPrefix(file)} No id tags file given in configuration`);
+ return [];
}
private logPrefix = (file: string): string => {