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; }