Index: Ringtoets/Common/src/Ringtoets.Common.IO/HydraRing/HydraulicBoundaryDatabaseHelper.cs
===================================================================
diff -u -r90f8f834521f65ed3b1044e345b172040404e41e -r9cf89e3f60d17b61c5ef1ba1c4c7e18ca0c9b2f4
--- Ringtoets/Common/src/Ringtoets.Common.IO/HydraRing/HydraulicBoundaryDatabaseHelper.cs (.../HydraulicBoundaryDatabaseHelper.cs) (revision 90f8f834521f65ed3b1044e345b172040404e41e)
+++ Ringtoets/Common/src/Ringtoets.Common.IO/HydraRing/HydraulicBoundaryDatabaseHelper.cs (.../HydraulicBoundaryDatabaseHelper.cs) (revision 9cf89e3f60d17b61c5ef1ba1c4c7e18ca0c9b2f4)
@@ -45,9 +45,10 @@
/// database with a Hydraulic Location Configurations database next to it.
///
/// The path of the Hydraulic Boundary Locations database file.
+ /// The preprocessor directory.
/// A describing the problem when trying to connect to the
/// or null if a connection could be correctly made.
- public static string ValidatePathForCalculation(string filePath)
+ public static string ValidatePathForCalculation(string filePath, string preprocessorDirectory)
{
try
{
@@ -78,14 +79,20 @@
}
string hlcdFilePath = Path.Combine(directoryName, hlcdFileName);
using (new HydraulicLocationConfigurationDatabaseReader(hlcdFilePath)) {}
- using (new DesignTablesSettingsProvider(settingsDatabaseFileName)) {}
- using (new TimeIntegrationSettingsProvider(settingsDatabaseFileName)) {}
- using (new NumericsSettingsProvider(settingsDatabaseFileName)) {}
+
+ using (var validator = new HydraRingSettingsDatabaseValidator(settingsDatabaseFileName, preprocessorDirectory))
+ {
+ if (!validator.ValidateSchema())
+ {
+ return Resources.HydraRingSettingsDatabase_Hydraulic_calculation_settings_database_has_invalid_schema;
+ }
+ }
}
catch (CriticalFileReadException e)
{
return e.Message;
}
+
return null;
}