-const config = require('../assets/config.json');
+const fs = require('fs');
+const Utils = require('./Utils');
class Configuration {
+ static configurationFile;
+
// Read the config file
static getConfig() {
- return config;
+ if (!Configuration.configurationFile) {
+ Configuration.configurationFile = JSON.parse(fs.readFileSync('./src/assets/config.json', 'utf8'));
+ }
+ return Configuration.configurationFile;
}
static getStatisticsDisplayInterval() {
// Read conf
- return Configuration.getConfig().statisticsDisplayInterval;
+ return Utils.objectHasOwnProperty(Configuration.getConfig(), 'statisticsDisplayInterval') ? Configuration.getConfig().statisticsDisplayInterval : 60;
}
static getAutoReconnectTimeout() {
// Read conf
- return Configuration.getConfig().hasOwnProperty('autoReconnectTimeout') ? Configuration.getConfig().autoReconnectTimeout : 10;
+ return Utils.objectHasOwnProperty(Configuration.getConfig(), 'autoReconnectTimeout') ? Configuration.getConfig().autoReconnectTimeout : 10;
}
static getAutoReconnectMaxRetries() {
// Read conf
- return Configuration.getConfig().hasOwnProperty('autoReconnectMaxRetries') ? Configuration.getConfig().autoReconnectMaxRetries : -1;
+ return Utils.objectHasOwnProperty(Configuration.getConfig(), 'autoReconnectMaxRetries') ? Configuration.getConfig().autoReconnectMaxRetries : -1;
}
- static getChargingStationTemplateURLs() {
+ static getStationTemplateURLs() {
// Read conf
return Configuration.getConfig().stationTemplateURLs;
}
- static getChargingStationTemplate() {
- // Read conf
- return Configuration.getConfig().stationTemplate;
- }
-
- static getNumberofChargingStation() {
- // Read conf
- return (Configuration.getConfig().numberOfStation ? Configuration.getConfig().numberOfStation : 0);
- }
-
static useWorkerPool() {
return Configuration.getConfig().useWorkerPool;
}
}
static getConsoleLog() {
- return (Configuration.getConfig().hasOwnProperty('consoleLog') ? Configuration.getConfig().consoleLog : false);
+ return Utils.objectHasOwnProperty(Configuration.getConfig(), 'consoleLog') ? Configuration.getConfig().consoleLog : false;
}
- static getLogFile() {
- return (Configuration.getConfig().hasOwnProperty('logFile') ? Configuration.getConfig().logFile : 'combined.log');
+ static getLogFormat() {
+ return Utils.objectHasOwnProperty(Configuration.getConfig(), 'logFormat') ? Configuration.getConfig().logFormat : 'simple';
}
- static getErrorFile() {
- return (Configuration.getConfig().hasOwnProperty('errorFile') ? Configuration.getConfig().errorFile : 'error.log');
+ static getLogLevel() {
+ return Utils.objectHasOwnProperty(Configuration.getConfig(), 'logLevel') ? Configuration.getConfig().logLevel : 'info';
}
- static getMeterValueInterval() {
- // Read conf
- return (Configuration.getChargingStationConfiguration().hasOwnProperty('meterValueInterval') ? Configuration.getChargingStationConfiguration().meterValueInterval * 1000 : 60000);
+ static getLogFile() {
+ return Utils.objectHasOwnProperty(Configuration.getConfig(), 'logFile') ? Configuration.getConfig().logFile : 'combined.log';
}
- static getAutomaticTransactionConfiguration() {
- // Read conf
- return Configuration.getChargingStationTemplate().AutomaticTransactionGenerator;
+ static getErrorFile() {
+ return Utils.objectHasOwnProperty(Configuration.getConfig(), 'errorFile') ? Configuration.getConfig().errorFile : 'error.log';
}
static getSupervisionURLs() {
return Configuration.getConfig().supervisionURLs;
}
- static getEquallySupervisionDistribution() {
- return Configuration.getConfig().distributeStationToTenantEqually;
- }
-
- static getChargingStationConfiguration() {
- return (Configuration.getChargingStationTemplate().hasOwnProperty('Configuration') ? Configuration.getChargingStationTemplate().Configuration : {});
- }
-
- static getChargingStationAuthorizationFile() {
- return (Configuration.getChargingStationTemplate().hasOwnProperty('authorizationFile') ? Configuration.getChargingStationTemplate().authorizationFile : '');
- }
-
- static getChargingStationConnectors() {
- return Configuration.getChargingStationTemplate().Connectors;
- }
-
- static getChargingStationConnector(number) {
- return Configuration.getChargingStationTemplate().Connectors[number];
+ static getDistributeStationToTenantEqually() {
+ return Utils.objectHasOwnProperty(Configuration.getConfig(), 'distributeStationToTenantEqually') ? Configuration.getConfig().distributeStationToTenantEqually : true;
}
}