Skip to content

Commit 06ed555

Browse files
Implement config based OCPI imports
1 parent be2a06f commit 06ed555

28 files changed

+1480
-704
lines changed

Import/OCM.Import.Analysis/SpatialAnalysis.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using DotSpatial.Projections;
33
using System;
44
using System.Collections.Generic;
5+
using System.IO;
56
using System.Linq;
67
using System.Text;
78

@@ -35,6 +36,12 @@ public SpatialAnalysis(string globalShapeFileDataPath)
3536
System.Text.Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
3637

3738
string dataPath = globalShapeFileDataPath;
39+
40+
if (!File.Exists(dataPath))
41+
{
42+
dataPath = Path.Join(Directory.GetCurrentDirectory(), dataPath);
43+
}
44+
3845
fsWorldCountries = FeatureSet.Open(dataPath);
3946
fsWorldCountries.Reproject(DotSpatial.Projections.KnownCoordinateSystems.Geographic.World.WGS1984);
4047
countryCodes = GetCountryCodeMappings();

Import/OCM.Import.Common/ImportManager.cs

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,6 @@ public List<IImportProvider> GetImportProviders(List<OCM.API.Common.Model.DataPr
180180
List<IImportProvider> providers = new List<IImportProvider>();
181181

182182
providers.Add(new ImportProvider_UKChargePointRegistry());
183-
providers.Add(new ImportProvider_Mobie());
184183

185184
if (importSettings.Credentials.TryGetValue("IMPORT-adfc", out var afdcKey))
186185
{
@@ -206,23 +205,32 @@ public List<IImportProvider> GetImportProviders(List<OCM.API.Common.Model.DataPr
206205

207206
providers.Add(new ImportProvider_ICAEN());
208207
providers.Add(new ImportProvider_GenericExcel());
209-
providers.Add(new ImportProvider_GoEvio());
210-
providers.Add(new ImportProvider_Sitronics());
211-
providers.Add(new ImportProvider_Lakd());
212-
providers.Add(new ImportProvider_Gaia());
213-
providers.Add(new ImportProvider_Toger());
214-
providers.Add(new ImportProvider_ElectricEra());
215-
providers.Add(new ImportProvider_ITCharge());
216-
providers.Add(new ImportProvider_Voltrelli());
217-
providers.Add(new ImportProvider_PowerGo());
218-
providers.Add(new ImportProvider_Punkt());
219-
providers.Add(new ImportProvider_EzVolt());
220208
providers.Add(new ImportProvider_Chargesini());
221-
providers.Add(new ImportProvider_Otopriz());
222209
providers.Add(new ImportProvider_EV24());
223-
providers.Add(new ImportProvider_Zepto());
224-
providers.Add(new ImportProvider_Greems());
225210

211+
// Load configurable OCPI providers from configuration file
212+
if (!string.IsNullOrEmpty(_settings.OCPIProvidersConfigPath))
213+
{
214+
var ocpiLoader = new OCPIProviderLoader(_log);
215+
if (ocpiLoader.LoadFromFile(_settings.OCPIProvidersConfigPath))
216+
{
217+
var configuredProviders = ocpiLoader.CreateProviders(enabledOnly: true);
218+
foreach (var configuredProvider in configuredProviders)
219+
{
220+
// Only add if not already present (avoid duplicates with hardcoded providers)
221+
var providerName = configuredProvider.GetProviderName();
222+
if (!providers.Any(p => p.GetProviderName().Equals(providerName, StringComparison.OrdinalIgnoreCase)))
223+
{
224+
providers.Add(configuredProvider);
225+
Log($"Added configured OCPI provider: {providerName}");
226+
}
227+
else
228+
{
229+
Log($"Skipping configured provider {providerName} - already exists as hardcoded provider");
230+
}
231+
}
232+
}
233+
}
226234

227235
//populate full data provider details for each import provider
228236
foreach (var provider in providers)

Import/OCM.Import.Common/ImportSettings.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@ public class ImportSettings
2020
public string KeyVaultTenantId { get; set; }
2121
public string KeyVaultClientId { get; set; }
2222
public string KeyVaultSecret { get; set; }
23+
24+
/// <summary>
25+
/// Path to the JSON configuration file for OCPI providers.
26+
/// If specified, providers will be loaded from this configuration file.
27+
/// </summary>
28+
public string OCPIProvidersConfigPath { get; set; }
2329
}
2430

2531
public class ImportStatus

Import/OCM.Import.Common/Providers/OCPI/ImportProvider_ElectricEra.cs

Lines changed: 0 additions & 29 deletions
This file was deleted.

Import/OCM.Import.Common/Providers/OCPI/ImportProvider_EzVolt.cs

Lines changed: 0 additions & 38 deletions
This file was deleted.

Import/OCM.Import.Common/Providers/OCPI/ImportProvider_Gaia.cs

Lines changed: 0 additions & 30 deletions
This file was deleted.

Import/OCM.Import.Common/Providers/OCPI/ImportProvider_GoEvio.cs

Lines changed: 0 additions & 23 deletions
This file was deleted.

Import/OCM.Import.Common/Providers/OCPI/ImportProvider_Greems.cs

Lines changed: 0 additions & 37 deletions
This file was deleted.

Import/OCM.Import.Common/Providers/OCPI/ImportProvider_ITCharge.cs

Lines changed: 0 additions & 41 deletions
This file was deleted.

Import/OCM.Import.Common/Providers/OCPI/ImportProvider_Lakd.cs

Lines changed: 0 additions & 47 deletions
This file was deleted.

0 commit comments

Comments
 (0)