- return Configuration.objectHasOwnProperty(Configuration.getConfig(), 'statisticsDisplayInterval') ? Configuration.getConfig().statisticsDisplayInterval : 60;
- }
-
- static getConnectionTimeout(): number {
- Configuration.deprecateConfigurationKey('autoReconnectTimeout', 'Use \'connectionTimeout\' in charging station instead');
- Configuration.deprecateConfigurationKey('connectionTimeout', 'Use it in charging station template instead');
- // Read conf
- if (Configuration.objectHasOwnProperty(Configuration.getConfig(), 'connectionTimeout')) {
- return Configuration.getConfig().connectionTimeout;
+ return Configuration.objectHasOwnProperty(Configuration.getConfig(), 'logStatisticsInterval') ? Configuration.getConfig().logStatisticsInterval : 60;
+ }
+
+ static getPerformanceStorage(): StorageConfiguration {
+ const defaultJSONFilePathURI = `file://${path.join(path.resolve(__dirname, '../../'), Constants.DEFAULT_PERFORMANCE_RECORDS_FILENAME)}`;
+ const SQLiteFileName = `${Constants.DEFAULT_PERFORMANCE_RECORDS_DB_NAME}.db`;
+ const defaultSQLiteFilePathURI = `file://${path.join(path.resolve(__dirname, '../../'), SQLiteFileName)}`;
+ let storageConfiguration: StorageConfiguration;
+ if (Configuration.objectHasOwnProperty(Configuration.getConfig(), 'performanceStorage')) {
+ storageConfiguration =
+ {
+ ...Configuration.objectHasOwnProperty(Configuration.getConfig().performanceStorage, 'enabled') ? { enabled: Configuration.getConfig().performanceStorage.enabled } : { enabled: false },
+ ...Configuration.objectHasOwnProperty(Configuration.getConfig().performanceStorage, 'type') ? { type: Configuration.getConfig().performanceStorage.type } : { type: StorageType.JSON_FILE },
+ ...Configuration.objectHasOwnProperty(Configuration.getConfig().performanceStorage, 'URI')
+ ? { URI: Configuration.getConfig().performanceStorage.URI }
+ : { URI: (Configuration.getConfig().performanceStorage.type === StorageType.JSON_FILE) ? defaultJSONFilePathURI : defaultSQLiteFilePathURI }
+ };
+ } else {
+ storageConfiguration =
+ {
+ enabled: false,
+ type: StorageType.JSON_FILE,
+ URI: defaultJSONFilePathURI
+ };