Index: Ringtoets/Common/src/Ringtoets.Common.IO/HydraRing/HydraRingSettingsDatabaseReader.cs =================================================================== diff -u -r09c47b676fdd8a2a9f891f226e1c2a676a3dec08 -r9cf89e3f60d17b61c5ef1ba1c4c7e18ca0c9b2f4 --- Ringtoets/Common/src/Ringtoets.Common.IO/HydraRing/HydraRingSettingsDatabaseReader.cs (.../HydraRingSettingsDatabaseReader.cs) (revision 09c47b676fdd8a2a9f891f226e1c2a676a3dec08) +++ Ringtoets/Common/src/Ringtoets.Common.IO/HydraRing/HydraRingSettingsDatabaseReader.cs (.../HydraRingSettingsDatabaseReader.cs) (revision 9cf89e3f60d17b61c5ef1ba1c4c7e18ca0c9b2f4) @@ -31,7 +31,6 @@ using Ringtoets.Common.IO.Properties; using Ringtoets.HydraRing.Calculation.Data; using Ringtoets.HydraRing.Calculation.Data.Settings; -using Ringtoets.HydraRing.Calculation.Readers; namespace Ringtoets.Common.IO.HydraRing { @@ -121,8 +120,6 @@ $"WHERE LocationID = {locationIdParameterName}"; excludedPreprocessorLocationsQuery = $"SELECT {locationIdColumn} FROM ExcludedLocationsPreprocessor"; - - ValidateSchema(); } /// @@ -154,7 +151,7 @@ } catch (ConversionException) { - throw new CriticalFileReadException(Resources.HydraRingSettingsDatabaseReader_ValidateSchema_Hydraulic_calculation_settings_database_has_invalid_schema); + throw new CriticalFileReadException(Resources.HydraRingSettingsDatabase_Hydraulic_calculation_settings_database_has_invalid_schema); } } } @@ -196,7 +193,7 @@ } catch (ConversionException) { - throw new CriticalFileReadException(Resources.HydraRingSettingsDatabaseReader_ValidateSchema_Hydraulic_calculation_settings_database_has_invalid_schema); + throw new CriticalFileReadException(Resources.HydraRingSettingsDatabase_Hydraulic_calculation_settings_database_has_invalid_schema); } } } @@ -231,7 +228,7 @@ } catch (ConversionException) { - throw new CriticalFileReadException(Resources.HydraRingSettingsDatabaseReader_ValidateSchema_Hydraulic_calculation_settings_database_has_invalid_schema); + throw new CriticalFileReadException(Resources.HydraRingSettingsDatabase_Hydraulic_calculation_settings_database_has_invalid_schema); } } } @@ -276,7 +273,7 @@ } catch (ConversionException) { - throw new CriticalFileReadException(Resources.HydraRingSettingsDatabaseReader_ValidateSchema_Hydraulic_calculation_settings_database_has_invalid_schema); + throw new CriticalFileReadException(Resources.HydraRingSettingsDatabase_Hydraulic_calculation_settings_database_has_invalid_schema); } } } @@ -315,29 +312,10 @@ } catch (ConversionException) { - throw new CriticalFileReadException(Resources.HydraRingSettingsDatabaseReader_ValidateSchema_Hydraulic_calculation_settings_database_has_invalid_schema); + throw new CriticalFileReadException(Resources.HydraRingSettingsDatabase_Hydraulic_calculation_settings_database_has_invalid_schema); } } - /// - /// Verifies that the schema of the opened settings database is valid. - /// - /// Thrown when the - /// opened database doesn't have the expected schema. - private void ValidateSchema() - { - if (!ContainsRequiredTables(GetColumnDefinitions(Connection))) - { - CloseConnection(); - throw new CriticalFileReadException(Resources.HydraRingSettingsDatabaseReader_ValidateSchema_Hydraulic_calculation_settings_database_has_invalid_schema); - } - } - - private bool ContainsRequiredTables(List> definitions) - { - return GetValidSchema().All(definitions.Contains); - } - private IDataReader CreateDesignTablesDataReader(long locationId, HydraRingFailureMechanismType calculationType) { var locationParameter = new SQLiteParameter @@ -435,34 +413,5 @@ { return CreateDataReader(excludedPreprocessorLocationsQuery); } - - private List> GetValidSchema() - { - using (var validSchemaConnection = new SQLiteConnection("Data Source=:memory:")) - using (SQLiteCommand command = validSchemaConnection.CreateCommand()) - { - validSchemaConnection.Open(); - command.CommandText = Resources.settings_schema; - command.ExecuteNonQuery(); - return GetColumnDefinitions(validSchemaConnection); - } - } - - private static List> GetColumnDefinitions(SQLiteConnection connection) - { - DataTable columns = connection.GetSchema("COLUMNS"); - - var definitions = new List>(); - for (var i = 0; i < columns.Rows.Count; i++) - { - DataRow dataRow = columns.Rows[i]; - definitions.Add( - Tuple.Create( - ((string) dataRow["TABLE_NAME"]).ToLower(), - ((string) dataRow["COLUMN_NAME"]).ToLower() - )); - } - return definitions; - } } } \ No newline at end of file