Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationExporter.cs =================================================================== diff -u -re507c88f2863ff7bc93505caf71c5f8025fb48c0 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationExporter.cs (.../ClosingStructuresCalculationConfigurationExporter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) +++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationExporter.cs (.../ClosingStructuresCalculationConfigurationExporter.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -33,19 +33,21 @@ /// /// Exports a closing structures calculation configuration and stores it as an XML file. /// - public class ClosingStructuresCalculationConfigurationExporter : CalculationConfigurationExporter< - ClosingStructuresCalculationConfigurationWriter, - StructuresCalculation, - ClosingStructuresCalculationConfiguration> + public class ClosingStructuresCalculationConfigurationExporter + : CalculationConfigurationExporter< + ClosingStructuresCalculationConfigurationWriter, + StructuresCalculation, + ClosingStructuresCalculationConfiguration> { /// /// Creates a new instance of . /// - /// The calculation configuration to export. + /// The hierarchy of calculations to export. /// The path of the XML file to export to. /// Thrown when is null. /// Thrown when is invalid. - public ClosingStructuresCalculationConfigurationExporter(IEnumerable calculations, string filePath) : base(calculations, filePath) {} + public ClosingStructuresCalculationConfigurationExporter(IEnumerable calculations, string filePath) + : base(calculations, filePath) {} protected override ClosingStructuresCalculationConfiguration ToConfiguration(StructuresCalculation calculation) { Index: Ringtoets/Common/src/Ringtoets.Common.IO/Configurations/CalculationGroupConfiguration.cs =================================================================== diff -u -rb3b6c13cf736c134476b3db34281332d01ca86b1 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/Common/src/Ringtoets.Common.IO/Configurations/CalculationGroupConfiguration.cs (.../CalculationGroupConfiguration.cs) (revision b3b6c13cf736c134476b3db34281332d01ca86b1) +++ Ringtoets/Common/src/Ringtoets.Common.IO/Configurations/CalculationGroupConfiguration.cs (.../CalculationGroupConfiguration.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -19,6 +19,7 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using System.Collections.Generic; namespace Ringtoets.Common.IO.Configurations @@ -33,16 +34,25 @@ /// /// The name of the calculation group. /// The collection of nested . + /// Thrown when any parameter is null. public CalculationGroupConfiguration(string name, IEnumerable items) { + if (name == null) + { + throw new ArgumentNullException(nameof(name)); + } + if (items == null) + { + throw new ArgumentNullException(nameof(items)); + } Name = name; Items = items; } /// /// Gets the collection of nested . /// - public IEnumerable Items { get; private set; } + public IEnumerable Items { get; } public string Name { get; } } Index: Ringtoets/Common/src/Ringtoets.Common.IO/Configurations/Export/CalculationConfigurationExporter.cs =================================================================== diff -u -r393ce53735571a8f2d947aa9842b868391b1b397 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/Common/src/Ringtoets.Common.IO/Configurations/Export/CalculationConfigurationExporter.cs (.../CalculationConfigurationExporter.cs) (revision 393ce53735571a8f2d947aa9842b868391b1b397) +++ Ringtoets/Common/src/Ringtoets.Common.IO/Configurations/Export/CalculationConfigurationExporter.cs (.../CalculationConfigurationExporter.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -39,7 +39,8 @@ /// The type used to convert /// into before writing to XML using a . /// - public abstract class CalculationConfigurationExporter : IFileExporter + public abstract class CalculationConfigurationExporter + : IFileExporter where TWriter : CalculationConfigurationWriter where TCalculation : class, ICalculation where TConfiguration : class, IConfigurationItem Index: Ringtoets/Common/src/Ringtoets.Common.IO/Configurations/StructuresCalculationConfiguration.cs =================================================================== diff -u -r9f8c8ff1cd49a1764ff3dde12eea6be35d9c34a7 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/Common/src/Ringtoets.Common.IO/Configurations/StructuresCalculationConfiguration.cs (.../StructuresCalculationConfiguration.cs) (revision 9f8c8ff1cd49a1764ff3dde12eea6be35d9c34a7) +++ Ringtoets/Common/src/Ringtoets.Common.IO/Configurations/StructuresCalculationConfiguration.cs (.../StructuresCalculationConfiguration.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -41,7 +41,7 @@ } /// - /// Gets or sets the Id of the structure. + /// Gets or sets the id of the structure. /// public string StructureId { get; set; } @@ -119,7 +119,7 @@ { if (value == null) { - throw new ArgumentNullException(nameof(value), @"Name is required for a structure calculation configuration."); + throw new ArgumentNullException(nameof(value), @"Name is required for a calculation configuration."); } name = value; } Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/Configurations/CalculationGroupConfigurationTest.cs =================================================================== diff -u -rb3b6c13cf736c134476b3db34281332d01ca86b1 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/Configurations/CalculationGroupConfigurationTest.cs (.../CalculationGroupConfigurationTest.cs) (revision b3b6c13cf736c134476b3db34281332d01ca86b1) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/Configurations/CalculationGroupConfigurationTest.cs (.../CalculationGroupConfigurationTest.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -19,6 +19,7 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using System.Collections.Generic; using System.Linq; using NUnit.Framework; @@ -30,6 +31,28 @@ public class CalculationGroupConfigurationTest { [Test] + public void Constructor_NameNull_ThrowsArgumentNullException() + { + // Call + TestDelegate test = () => new CalculationGroupConfiguration(null, Enumerable.Empty()); + + // Assert + string paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("name", paramName); + } + + [Test] + public void Constructor_ItemsNull_ThrowsArgumentNullException() + { + // Call + TestDelegate test = () => new CalculationGroupConfiguration("name", null); + + // Assert + string paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("items", paramName); + } + + [Test] public void Constructor_ExpectedValues() { // Setup Index: Ringtoets/Common/test/Ringtoets.Common.IO.TestUtil/CustomCalculationConfigurationExporterDesignGuidelinesTestFixture.cs =================================================================== diff -u -r393ce53735571a8f2d947aa9842b868391b1b397 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/Common/test/Ringtoets.Common.IO.TestUtil/CustomCalculationConfigurationExporterDesignGuidelinesTestFixture.cs (.../CustomCalculationConfigurationExporterDesignGuidelinesTestFixture.cs) (revision 393ce53735571a8f2d947aa9842b868391b1b397) +++ Ringtoets/Common/test/Ringtoets.Common.IO.TestUtil/CustomCalculationConfigurationExporterDesignGuidelinesTestFixture.cs (.../CustomCalculationConfigurationExporterDesignGuidelinesTestFixture.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -34,14 +34,16 @@ namespace Ringtoets.Common.IO.TestUtil { [TestFixture] - public abstract class CustomCalculationConfigurationExporterDesignGuidelinesTestFixture + public abstract class CustomCalculationConfigurationExporterDesignGuidelinesTestFixture< + TCalculationConfigurationExporter, TWriter, TCalculation, TConfiguration> where TCalculation : class, ICalculation where TWriter : CalculationConfigurationWriter where TConfiguration : class, IConfigurationItem - where TCalculationConfigurationExporter : CalculationConfigurationExporter + where TCalculationConfigurationExporter : CalculationConfigurationExporter< + TWriter, TCalculation, TConfiguration> { [Test] - public void Constructor_ConfigurationNull_ThrowArgumentNullException() + public void Constructor_CalculationsNull_ThrowArgumentNullException() { // Call TestDelegate test = () => CallConfigurationFilePathConstructor(null, "test.xml"); Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfiguration.cs =================================================================== diff -u -r4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfiguration.cs (.../GrassCoverErosionInwardsCalculationConfiguration.cs) (revision 4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfiguration.cs (.../GrassCoverErosionInwardsCalculationConfiguration.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -44,35 +44,35 @@ } /// - /// Gets the name of the hydraulic boundary location of the read grass cover erosion + /// Gets or sets the name of the hydraulic boundary location of the read grass cover erosion /// inwards calculation. /// - public string HydraulicBoundaryLocation { get; set; } + public string HydraulicBoundaryLocationName { get; set; } /// - /// Gets the Id of the dike profile of the read grass cover erosion inwards calculation. + /// Gets or sets the id of the dike profile of the read grass cover erosion inwards calculation. /// - public string DikeProfile { get; set; } + public string DikeProfileId { get; set; } /// - /// Gets the orientation of the grass cover erosion inwards calculation. + /// Gets or sets the orientation of the grass cover erosion inwards calculation. /// public double? Orientation { get; set; } /// - /// Gets the dike height of the grass cover erosion inwards calculation. + /// Gets or sets the dike height of the grass cover erosion inwards calculation. /// public double? DikeHeight { get; set; } /// - /// Gets the value for how the dike height should be calculated for the grass cover + /// Gets or sets the value for how the dike height should be calculated for the grass cover /// erosion inwards calculation. /// public ConfigurationHydraulicLoadsCalculationType? DikeHeightCalculationType { get; set; } /// - /// Gets the value for how the overtopping rate should be calculated for the grass cover - /// erosion inwards calculation. + /// Gets or sets the value for how the overtopping rate should be calculated for the grass + /// cover erosion inwards calculation. /// public ConfigurationHydraulicLoadsCalculationType? OvertoppingRateCalculationType { get; set; } @@ -100,7 +100,7 @@ { if (value == null) { - throw new ArgumentNullException(nameof(value), @"Name is required for a structure calculation configuration."); + throw new ArgumentNullException(nameof(value), @"Name is required for a calculation configuration."); } name = value; } Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationExporter.cs =================================================================== diff -u -re507c88f2863ff7bc93505caf71c5f8025fb48c0 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationExporter.cs (.../GrassCoverErosionInwardsCalculationConfigurationExporter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationExporter.cs (.../GrassCoverErosionInwardsCalculationConfigurationExporter.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -43,12 +43,12 @@ /// /// Creates a new instance of . /// - /// The calculation configuration to export. + /// The hierarchy of calculations to export. /// The path of the XML file to export to. - /// Thrown when is null. + /// Thrown when is null. /// Thrown when is invalid. - public GrassCoverErosionInwardsCalculationConfigurationExporter(IEnumerable configuration, string filePath) - : base(configuration, filePath) {} + public GrassCoverErosionInwardsCalculationConfigurationExporter(IEnumerable calculations, string filePath) + : base(calculations, filePath) {} protected override GrassCoverErosionInwardsCalculationConfigurationWriter CreateWriter(string filePath) { @@ -60,11 +60,11 @@ GrassCoverErosionInwardsInput input = calculation.InputParameters; var configuration = new GrassCoverErosionInwardsCalculationConfiguration(calculation.Name); - configuration.HydraulicBoundaryLocation = input.HydraulicBoundaryLocation?.Name; + configuration.HydraulicBoundaryLocationName = input.HydraulicBoundaryLocation?.Name; if (input.DikeProfile != null) { - configuration.DikeProfile = input.DikeProfile.Id; + configuration.DikeProfileId = input.DikeProfile.Id; configuration.DikeHeight = input.DikeHeight; configuration.Orientation = input.Orientation; Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationImporter.cs =================================================================== diff -u -r4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationImporter.cs (.../GrassCoverErosionInwardsCalculationConfigurationImporter.cs) (revision 4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationImporter.cs (.../GrassCoverErosionInwardsCalculationConfigurationImporter.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -23,7 +23,6 @@ using System.Collections.Generic; using System.Linq; using Core.Common.Base.Data; -using log4net; using Ringtoets.Common.Data.Calculation; using Ringtoets.Common.Data.DikeProfiles; using Ringtoets.Common.Data.Hydraulics; @@ -37,7 +36,8 @@ namespace Ringtoets.GrassCoverErosionInwards.IO.Configurations { public class GrassCoverErosionInwardsCalculationConfigurationImporter - : CalculationConfigurationImporter + : CalculationConfigurationImporter { private readonly IEnumerable availableHydraulicBoundaryLocations; private readonly IEnumerable availableDikeProfiles; @@ -104,8 +104,8 @@ ReadOvertoppingRateCalculationType(calculationConfiguration, calculation); if (TryReadCriticalWaveReduction(calculationConfiguration, calculation) - && TryReadHydraulicBoundaryLocation(calculationConfiguration.HydraulicBoundaryLocation, calculation) - && TryReadDikeProfile(calculationConfiguration.DikeProfile, calculation) + && TryReadHydraulicBoundaryLocation(calculationConfiguration.HydraulicBoundaryLocationName, calculation) + && TryReadDikeProfile(calculationConfiguration.DikeProfileId, calculation) && TryReadOrientation(calculationConfiguration, calculation) && TryReadDikeHeight(calculationConfiguration, calculation) && ValidateWaveReduction(calculationConfiguration, calculation)) @@ -270,9 +270,9 @@ { if (waveReductionConfiguration != null && (waveReductionConfiguration.UseBreakWater.HasValue - || waveReductionConfiguration.UseForeshoreProfile.HasValue - || waveReductionConfiguration.BreakWaterHeight != null - || waveReductionConfiguration.BreakWaterType != null)) + || waveReductionConfiguration.UseForeshoreProfile.HasValue + || waveReductionConfiguration.BreakWaterHeight != null + || waveReductionConfiguration.BreakWaterType != null)) { Log.LogCalculationConversionError(Resources.GrassCoverErosionInwardsCalculationConfigurationImporter_ValidateWaveReduction_No_DikeProfile_provided_for_BreakWater_parameters, calculation.Name); @@ -286,7 +286,7 @@ { Log.LogCalculationConversionError(string.Format( Resources.GrassCoverErosionInwardsCalculationConfigurationImporter_ValidateWaveReduction_DikeProfile_0_has_no_geometry_and_cannot_be_used, - calculationConfiguration.DikeProfile), + calculationConfiguration.DikeProfileId), calculation.Name); return false; } Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationReader.cs =================================================================== diff -u -r4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationReader.cs (.../GrassCoverErosionInwardsCalculationConfigurationReader.cs) (revision 4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationReader.cs (.../GrassCoverErosionInwardsCalculationConfigurationReader.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -84,8 +84,8 @@ { var configuration = new GrassCoverErosionInwardsCalculationConfiguration(calculationElement.Attribute(ConfigurationSchemaIdentifiers.NameAttribute).Value) { - HydraulicBoundaryLocation = calculationElement.GetStringValueFromDescendantElement(ConfigurationSchemaIdentifiers.HydraulicBoundaryLocationElement), - DikeProfile = calculationElement.GetStringValueFromDescendantElement(GrassCoverErosionInwardsCalculationConfigurationSchemaIdentifiers.DikeProfileElement), + HydraulicBoundaryLocationName = calculationElement.GetStringValueFromDescendantElement(ConfigurationSchemaIdentifiers.HydraulicBoundaryLocationElement), + DikeProfileId = calculationElement.GetStringValueFromDescendantElement(GrassCoverErosionInwardsCalculationConfigurationSchemaIdentifiers.DikeProfileElement), Orientation = calculationElement.GetDoubleValueFromDescendantElement(ConfigurationSchemaIdentifiers.Orientation), DikeHeight = calculationElement.GetDoubleValueFromDescendantElement(GrassCoverErosionInwardsCalculationConfigurationSchemaIdentifiers.DikeHeightElement), DikeHeightCalculationType = (ConfigurationHydraulicLoadsCalculationType?) calculationElement.GetConvertedValueFromDescendantStringElement( Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationWriter.cs =================================================================== diff -u -re507c88f2863ff7bc93505caf71c5f8025fb48c0 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationWriter.cs (.../GrassCoverErosionInwardsCalculationConfigurationWriter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationWriter.cs (.../GrassCoverErosionInwardsCalculationConfigurationWriter.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -54,12 +54,12 @@ WriteElementWhenContentAvailable( writer, ConfigurationSchemaIdentifiers.HydraulicBoundaryLocationElement, - configuration.HydraulicBoundaryLocation); + configuration.HydraulicBoundaryLocationName); WriteElementWhenContentAvailable( writer, GrassCoverErosionInwardsCalculationConfigurationSchemaIdentifiers.DikeProfileElement, - configuration.DikeProfile); + configuration.DikeProfileId); WriteElementWhenContentAvailable( writer, ConfigurationSchemaIdentifiers.Orientation, Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/Configurations/GrassCoverErosionInwardsCalculationConfigurationReaderTest.cs =================================================================== diff -u -r4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/Configurations/GrassCoverErosionInwardsCalculationConfigurationReaderTest.cs (.../GrassCoverErosionInwardsCalculationConfigurationReaderTest.cs) (revision 4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/Configurations/GrassCoverErosionInwardsCalculationConfigurationReaderTest.cs (.../GrassCoverErosionInwardsCalculationConfigurationReaderTest.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -217,8 +217,8 @@ var calculation = readConfigurationItems[0] as GrassCoverErosionInwardsCalculationConfiguration; Assert.IsNotNull(calculation); Assert.AreEqual("Calculation", calculation.Name); - Assert.IsNull(calculation.HydraulicBoundaryLocation); - Assert.IsNull(calculation.DikeProfile); + Assert.IsNull(calculation.HydraulicBoundaryLocationName); + Assert.IsNull(calculation.DikeProfileId); Assert.IsNull(calculation.Orientation); Assert.IsNull(calculation.DikeHeight); Assert.IsNull(calculation.DikeHeightCalculationType); @@ -316,8 +316,8 @@ var calculation = readConfigurationItems[0] as GrassCoverErosionInwardsCalculationConfiguration; Assert.IsNotNull(calculation); Assert.AreEqual("Berekening 1", calculation.Name); - Assert.AreEqual("Some_hydraulic_boundary_location", calculation.HydraulicBoundaryLocation); - Assert.AreEqual("some_dike_profile", calculation.DikeProfile); + Assert.AreEqual("Some_hydraulic_boundary_location", calculation.HydraulicBoundaryLocationName); + Assert.AreEqual("some_dike_profile", calculation.DikeProfileId); Assert.AreEqual(67.1, calculation.Orientation); Assert.AreEqual(3.45, calculation.DikeHeight); Assert.AreEqual(ConfigurationHydraulicLoadsCalculationType.CalculateByAssessmentSectionNorm, calculation.DikeHeightCalculationType); @@ -346,8 +346,8 @@ var calculation = readConfigurationItems[0] as GrassCoverErosionInwardsCalculationConfiguration; Assert.IsNotNull(calculation); Assert.AreEqual("Partial calculation 2", calculation.Name); - Assert.IsNull(calculation.HydraulicBoundaryLocation); - Assert.AreEqual("id_of_dikeprofile", calculation.DikeProfile); + Assert.IsNull(calculation.HydraulicBoundaryLocationName); + Assert.AreEqual("id_of_dikeprofile", calculation.DikeProfileId); Assert.IsNull(calculation.Orientation); Assert.AreEqual(-1.2, calculation.DikeHeight); Assert.IsNull(calculation.DikeHeightCalculationType); Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/Configurations/GrassCoverErosionInwardsCalculationConfigurationTest.cs =================================================================== diff -u -r4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/Configurations/GrassCoverErosionInwardsCalculationConfigurationTest.cs (.../GrassCoverErosionInwardsCalculationConfigurationTest.cs) (revision 4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/Configurations/GrassCoverErosionInwardsCalculationConfigurationTest.cs (.../GrassCoverErosionInwardsCalculationConfigurationTest.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -51,8 +51,8 @@ // Assert Assert.IsInstanceOf(readCalculation); Assert.AreEqual(name, readCalculation.Name); - Assert.IsNull(readCalculation.HydraulicBoundaryLocation); - Assert.IsNull(readCalculation.DikeProfile); + Assert.IsNull(readCalculation.HydraulicBoundaryLocationName); + Assert.IsNull(readCalculation.DikeProfileId); Assert.IsNull(readCalculation.Orientation); Assert.IsNull(readCalculation.DikeHeight); Assert.IsNull(readCalculation.DikeHeightCalculationType); @@ -83,8 +83,8 @@ var readCalculation = new GrassCoverErosionInwardsCalculationConfiguration(calculationName) { Name = calculationName, - HydraulicBoundaryLocation = hydraulicBoundaryLocationName, - DikeProfile = dikeProfileId, + HydraulicBoundaryLocationName = hydraulicBoundaryLocationName, + DikeProfileId = dikeProfileId, Orientation = orientation, DikeHeight = dikeHeight, DikeHeightCalculationType = dikeHeightCalculationType, @@ -105,8 +105,8 @@ // Assert Assert.AreEqual(calculationName, readCalculation.Name); - Assert.AreEqual(hydraulicBoundaryLocationName, readCalculation.HydraulicBoundaryLocation); - Assert.AreEqual(dikeProfileId, readCalculation.DikeProfile); + Assert.AreEqual(hydraulicBoundaryLocationName, readCalculation.HydraulicBoundaryLocationName); + Assert.AreEqual(dikeProfileId, readCalculation.DikeProfileId); Assert.AreEqual(orientation, readCalculation.Orientation); Assert.AreEqual(dikeHeight, readCalculation.DikeHeight); Assert.AreEqual(dikeHeightCalculationType, readCalculation.DikeHeightCalculationType); Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/Configurations/GrassCoverErosionInwardsCalculationConfigurationWriterTest.cs =================================================================== diff -u -re507c88f2863ff7bc93505caf71c5f8025fb48c0 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/Configurations/GrassCoverErosionInwardsCalculationConfigurationWriterTest.cs (.../GrassCoverErosionInwardsCalculationConfigurationWriterTest.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/Configurations/GrassCoverErosionInwardsCalculationConfigurationWriterTest.cs (.../GrassCoverErosionInwardsCalculationConfigurationWriterTest.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -154,8 +154,8 @@ { return new GrassCoverErosionInwardsCalculationConfiguration("Berekening 1") { - HydraulicBoundaryLocation = "Locatie1", - DikeProfile = "id", + HydraulicBoundaryLocationName = "Locatie1", + DikeProfileId = "id", Orientation = 67.1, DikeHeightCalculationType = ConfigurationHydraulicLoadsCalculationType.NoCalculation, OvertoppingRateCalculationType = ConfigurationHydraulicLoadsCalculationType.CalculateByAssessmentSectionNorm, Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Exporters/GrassCoverErosionOutwardsCalculationConfigurationExporter.cs =================================================================== diff -u -re507c88f2863ff7bc93505caf71c5f8025fb48c0 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Exporters/GrassCoverErosionOutwardsCalculationConfigurationExporter.cs (.../GrassCoverErosionOutwardsCalculationConfigurationExporter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Exporters/GrassCoverErosionOutwardsCalculationConfigurationExporter.cs (.../GrassCoverErosionOutwardsCalculationConfigurationExporter.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -24,7 +24,6 @@ using Ringtoets.Common.Data.Calculation; using Ringtoets.Common.IO.Configurations.Export; using Ringtoets.GrassCoverErosionOutwards.Data; -using Ringtoets.Revetment.Data; using Ringtoets.Revetment.IO.Configurations; using Ringtoets.Revetment.IO.Configurations.Helpers; @@ -34,17 +33,20 @@ /// Exports a grass cover erosion outwards calculation configuration and stores it as an XML file. /// public class GrassCoverErosionOutwardsCalculationConfigurationExporter - : CalculationConfigurationExporter + : CalculationConfigurationExporter< + WaveConditionsCalculationConfigurationWriter, + GrassCoverErosionOutwardsWaveConditionsCalculation, + WaveConditionsCalculationConfiguration> { /// /// Creates a new instance of . /// - /// The calculation configuration to export. + /// The hierarchy of calculations to export. /// The path of the XML file to export to. - /// Thrown when is null. + /// Thrown when is null. /// Thrown when is invalid. - public GrassCoverErosionOutwardsCalculationConfigurationExporter(IEnumerable configuration, string filePath) - : base(configuration, filePath) {} + public GrassCoverErosionOutwardsCalculationConfigurationExporter(IEnumerable calculations, string filePath) + : base(calculations, filePath) {} protected override WaveConditionsCalculationConfigurationWriter CreateWriter(string filePath) { Index: Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.IO/Configurations/HeightStructuresCalculationConfigurationExporter.cs =================================================================== diff -u -re507c88f2863ff7bc93505caf71c5f8025fb48c0 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.IO/Configurations/HeightStructuresCalculationConfigurationExporter.cs (.../HeightStructuresCalculationConfigurationExporter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) +++ Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.IO/Configurations/HeightStructuresCalculationConfigurationExporter.cs (.../HeightStructuresCalculationConfigurationExporter.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -32,19 +32,21 @@ /// /// Exports a height structures calculation configuration and stores it as an XML file. /// - public class HeightStructuresCalculationConfigurationExporter : CalculationConfigurationExporter< - HeightStructuresCalculationConfigurationWriter, - StructuresCalculation, - HeightStructuresCalculationConfiguration> + public class HeightStructuresCalculationConfigurationExporter + : CalculationConfigurationExporter< + HeightStructuresCalculationConfigurationWriter, + StructuresCalculation, + HeightStructuresCalculationConfiguration> { /// /// Creates a new instance of . /// - /// The calculation configuration to export. + /// The hierarchy of calculations to export. /// The path of the XML file to export to. /// Thrown when is null. /// Thrown when is invalid. - public HeightStructuresCalculationConfigurationExporter(IEnumerable calculations, string filePath) : base(calculations, filePath) {} + public HeightStructuresCalculationConfigurationExporter(IEnumerable calculations, string filePath) + : base(calculations, filePath) {} protected override HeightStructuresCalculationConfiguration ToConfiguration(StructuresCalculation calculation) { Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfiguration.cs =================================================================== diff -u -rf03b47d0d73983de35188874a094ae07f1ea13fa -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfiguration.cs (.../MacroStabilityInwardsCalculationConfiguration.cs) (revision f03b47d0d73983de35188874a094ae07f1ea13fa) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfiguration.cs (.../MacroStabilityInwardsCalculationConfiguration.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -42,29 +42,29 @@ } /// - /// Gets the assessment level of the calculation. + /// Gets or sets the assessment level of the calculation. /// public double? AssessmentLevel { get; set; } /// - /// Gets the name of the hydraulic boundary location of the calculation. + /// Gets or sets the name of the hydraulic boundary location of the calculation. /// - public string HydraulicBoundaryLocation { get; set; } + public string HydraulicBoundaryLocationName { get; set; } /// - /// Gets the name of the surface line of the calculation. + /// Gets or sets the name of the surface line of the calculation. /// - public string SurfaceLine { get; set; } + public string SurfaceLineName { get; set; } /// - /// Gets the name of the stochastic soil model of the calculation. + /// Gets or sets the name of the stochastic soil model of the calculation. /// - public string StochasticSoilModel { get; set; } + public string StochasticSoilModelName { get; set; } /// - /// Gets the name of the stochastic soil profile of the calculation. + /// Gets or sets the name of the stochastic soil profile of the calculation. /// - public string StochasticSoilProfile { get; set; } + public string StochasticSoilProfileName { get; set; } /// /// Gets or sets the name for the calculation. @@ -80,7 +80,7 @@ { if (value == null) { - throw new ArgumentNullException(nameof(value), @"Name is required for a structure calculation configuration."); + throw new ArgumentNullException(nameof(value), @"Name is required for a calculation configuration."); } name = value; } Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationExporter.cs =================================================================== diff -u -re507c88f2863ff7bc93505caf71c5f8025fb48c0 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationExporter.cs (.../MacroStabilityInwardsCalculationConfigurationExporter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationExporter.cs (.../MacroStabilityInwardsCalculationConfigurationExporter.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -30,19 +30,21 @@ /// /// Exports a macro stability inwards calculation configuration and stores it as an XML file. /// - public class MacroStabilityInwardsCalculationConfigurationExporter : CalculationConfigurationExporter< + public class MacroStabilityInwardsCalculationConfigurationExporter + : CalculationConfigurationExporter< MacroStabilityInwardsCalculationConfigurationWriter, MacroStabilityInwardsCalculation, MacroStabilityInwardsCalculationConfiguration> { /// /// Creates a new instance of . /// - /// The calculation configuration to export. + /// The hierarchy of calculations to export. /// The path of the XML file to export to. - /// Thrown when is null. + /// Thrown when is null. /// Thrown when is invalid. - public MacroStabilityInwardsCalculationConfigurationExporter(IEnumerable configuration, string filePath) : base(configuration, filePath) {} + public MacroStabilityInwardsCalculationConfigurationExporter(IEnumerable calculations, string filePath) + : base(calculations, filePath) {} protected override MacroStabilityInwardsCalculationConfigurationWriter CreateWriter(string filePath) { @@ -57,7 +59,7 @@ if (input.HydraulicBoundaryLocation != null) { - calculationConfiguration.HydraulicBoundaryLocation = input.HydraulicBoundaryLocation.Name; + calculationConfiguration.HydraulicBoundaryLocationName = input.HydraulicBoundaryLocation.Name; } else if (input.UseAssessmentLevelManualInput) { @@ -66,13 +68,13 @@ if (input.SurfaceLine != null) { - calculationConfiguration.SurfaceLine = input.SurfaceLine.Name; + calculationConfiguration.SurfaceLineName = input.SurfaceLine.Name; } if (input.StochasticSoilModel != null) { - calculationConfiguration.StochasticSoilModel = input.StochasticSoilModel.Name; - calculationConfiguration.StochasticSoilProfile = input.StochasticSoilProfile?.SoilProfile.Name; + calculationConfiguration.StochasticSoilModelName = input.StochasticSoilModel.Name; + calculationConfiguration.StochasticSoilProfileName = input.StochasticSoilProfile?.SoilProfile.Name; } return calculationConfiguration; Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationImporter.cs =================================================================== diff -u -rf03b47d0d73983de35188874a094ae07f1ea13fa -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationImporter.cs (.../MacroStabilityInwardsCalculationConfigurationImporter.cs) (revision f03b47d0d73983de35188874a094ae07f1ea13fa) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationImporter.cs (.../MacroStabilityInwardsCalculationConfigurationImporter.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -37,7 +37,10 @@ /// Imports a macro stability inwards calculation configuration from an XML file and stores it on a /// . /// - public class MacroStabilityInwardsCalculationConfigurationImporter : CalculationConfigurationImporter + public class MacroStabilityInwardsCalculationConfigurationImporter + : CalculationConfigurationImporter< + MacroStabilityInwardsCalculationConfigurationReader, + MacroStabilityInwardsCalculationConfiguration> { private readonly IEnumerable availableHydraulicBoundaryLocations; private readonly MacroStabilityInwardsFailureMechanism failureMechanism; @@ -100,11 +103,15 @@ /// The calculation to configure. /// false when the has a /// set which is not available in , true otherwise. - private bool TryReadHydraulicBoundaryData(MacroStabilityInwardsCalculationConfiguration calculationConfiguration, MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculation) + private bool TryReadHydraulicBoundaryData(MacroStabilityInwardsCalculationConfiguration calculationConfiguration, + MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculation) { HydraulicBoundaryLocation location; - bool locationRead = TryReadHydraulicBoundaryLocation(calculationConfiguration.HydraulicBoundaryLocation, calculationConfiguration.Name, availableHydraulicBoundaryLocations, out location); + bool locationRead = TryReadHydraulicBoundaryLocation(calculationConfiguration.HydraulicBoundaryLocationName, + calculationConfiguration.Name, + availableHydraulicBoundaryLocations, + out location); if (!locationRead) { @@ -131,18 +138,19 @@ /// The calculation to configure. /// false when the has a /// set which is not available in , true otherwise. - private bool TryReadSurfaceLine(MacroStabilityInwardsCalculationConfiguration calculationConfiguration, MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculation) + private bool TryReadSurfaceLine(MacroStabilityInwardsCalculationConfiguration calculationConfiguration, + MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculation) { - if (calculationConfiguration.SurfaceLine != null) + if (calculationConfiguration.SurfaceLineName != null) { RingtoetsMacroStabilityInwardsSurfaceLine surfaceLine = failureMechanism.SurfaceLines - .FirstOrDefault(sl => sl.Name == calculationConfiguration.SurfaceLine); + .FirstOrDefault(sl => sl.Name == calculationConfiguration.SurfaceLineName); if (surfaceLine == null) { Log.LogCalculationConversionError(string.Format( Resources.MacroStabilityInwardsCalculationConfigurationImporter_ReadSurfaceLine_SurfaceLine_0_does_not_exist, - calculationConfiguration.SurfaceLine), + calculationConfiguration.SurfaceLineName), macroStabilityInwardsCalculation.Name); return false; } @@ -165,18 +173,19 @@ /// when this is set. /// /// true otherwise. - private bool TryReadStochasticSoilModel(MacroStabilityInwardsCalculationConfiguration calculationConfiguration, MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculation) + private bool TryReadStochasticSoilModel(MacroStabilityInwardsCalculationConfiguration calculationConfiguration, + MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculation) { - if (calculationConfiguration.StochasticSoilModel != null) + if (calculationConfiguration.StochasticSoilModelName != null) { StochasticSoilModel soilModel = failureMechanism.StochasticSoilModels - .FirstOrDefault(ssm => ssm.Name == calculationConfiguration.StochasticSoilModel); + .FirstOrDefault(ssm => ssm.Name == calculationConfiguration.StochasticSoilModelName); if (soilModel == null) { Log.LogCalculationConversionError(string.Format( Resources.MacroStabilityInwardsCalculationConfigurationImporter_ReadStochasticSoilModel_Stochastische_soil_model_0_does_not_exist, - calculationConfiguration.StochasticSoilModel), + calculationConfiguration.StochasticSoilModelName), macroStabilityInwardsCalculation.Name); return false; } @@ -186,8 +195,8 @@ { Log.LogCalculationConversionError(string.Format( Resources.MacroStabilityInwardsCalculationConfigurationImporter_ReadStochasticSoilModel_Stochastische_soil_model_0_does_not_intersect_with_surfaceLine_1, - calculationConfiguration.StochasticSoilModel, - calculationConfiguration.SurfaceLine), + calculationConfiguration.StochasticSoilModelName, + calculationConfiguration.SurfaceLineName), macroStabilityInwardsCalculation.Name); return false; } @@ -208,27 +217,31 @@ /// a set which is not available in the . /// /// true otherwise. - private bool TryReadStochasticSoilProfile(MacroStabilityInwardsCalculationConfiguration calculationConfiguration, MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculation) + private bool TryReadStochasticSoilProfile(MacroStabilityInwardsCalculationConfiguration calculationConfiguration, + MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculation) { - if (calculationConfiguration.StochasticSoilProfile != null) + if (calculationConfiguration.StochasticSoilProfileName != null) { if (macroStabilityInwardsCalculation.InputParameters.StochasticSoilModel == null) { Log.LogCalculationConversionError(string.Format( Resources.MacroStabilityInwardsCalculationConfigurationImporter_ReadStochasticSoilProfile_No_soil_model_provided_for_soil_profile_with_name_0, - calculationConfiguration.StochasticSoilProfile), + calculationConfiguration.StochasticSoilProfileName), macroStabilityInwardsCalculation.Name); return false; } - StochasticSoilProfile soilProfile = macroStabilityInwardsCalculation.InputParameters.StochasticSoilModel.StochasticSoilProfiles - .FirstOrDefault(ssp => ssp.SoilProfile.Name == calculationConfiguration.StochasticSoilProfile); + StochasticSoilProfile soilProfile = macroStabilityInwardsCalculation.InputParameters + .StochasticSoilModel + .StochasticSoilProfiles + .FirstOrDefault(ssp => ssp.SoilProfile.Name == calculationConfiguration.StochasticSoilProfileName); if (soilProfile == null) { Log.LogCalculationConversionError(string.Format( Resources.MacroStabilityInwardsCalculationConfigurationImporter_ReadStochasticSoilProfile_Stochastic_soil_profile_0_does_not_exist_within_soil_model_1, - calculationConfiguration.StochasticSoilProfile, calculationConfiguration.StochasticSoilModel), + calculationConfiguration.StochasticSoilProfileName, + calculationConfiguration.StochasticSoilModelName), macroStabilityInwardsCalculation.Name); return false; } Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationReader.cs =================================================================== diff -u -rf03b47d0d73983de35188874a094ae07f1ea13fa -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationReader.cs (.../MacroStabilityInwardsCalculationConfigurationReader.cs) (revision f03b47d0d73983de35188874a094ae07f1ea13fa) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationReader.cs (.../MacroStabilityInwardsCalculationConfigurationReader.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -60,10 +60,10 @@ calculationElement.Attribute(ConfigurationSchemaIdentifiers.NameAttribute).Value) { AssessmentLevel = calculationElement.GetDoubleValueFromDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.AssessmentLevelElement), - HydraulicBoundaryLocation = calculationElement.GetStringValueFromDescendantElement(ConfigurationSchemaIdentifiers.HydraulicBoundaryLocationElement), - SurfaceLine = calculationElement.GetStringValueFromDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.SurfaceLineElement), - StochasticSoilModel = calculationElement.GetStringValueFromDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.StochasticSoilModelElement), - StochasticSoilProfile = calculationElement.GetStringValueFromDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.StochasticSoilProfileElement) + HydraulicBoundaryLocationName = calculationElement.GetStringValueFromDescendantElement(ConfigurationSchemaIdentifiers.HydraulicBoundaryLocationElement), + SurfaceLineName = calculationElement.GetStringValueFromDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.SurfaceLineElement), + StochasticSoilModelName = calculationElement.GetStringValueFromDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.StochasticSoilModelElement), + StochasticSoilProfileName = calculationElement.GetStringValueFromDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.StochasticSoilProfileElement) }; return configuration; Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationWriter.cs =================================================================== diff -u -re507c88f2863ff7bc93505caf71c5f8025fb48c0 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationWriter.cs (.../MacroStabilityInwardsCalculationConfigurationWriter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationWriter.cs (.../MacroStabilityInwardsCalculationConfigurationWriter.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -56,17 +56,17 @@ configuration.AssessmentLevel); WriteElementWhenContentAvailable(writer, ConfigurationSchemaIdentifiers.HydraulicBoundaryLocationElement, - configuration.HydraulicBoundaryLocation); + configuration.HydraulicBoundaryLocationName); WriteElementWhenContentAvailable(writer, MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.SurfaceLineElement, - configuration.SurfaceLine); + configuration.SurfaceLineName); WriteElementWhenContentAvailable(writer, MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.StochasticSoilModelElement, - configuration.StochasticSoilModel); + configuration.StochasticSoilModelName); WriteElementWhenContentAvailable(writer, MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.StochasticSoilProfileElement, - configuration.StochasticSoilProfile); + configuration.StochasticSoilProfileName); writer.WriteEndElement(); } Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationReaderTest.cs =================================================================== diff -u -rf03b47d0d73983de35188874a094ae07f1ea13fa -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationReaderTest.cs (.../MacroStabilityInwardsCalculationConfigurationReaderTest.cs) (revision f03b47d0d73983de35188874a094ae07f1ea13fa) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationReaderTest.cs (.../MacroStabilityInwardsCalculationConfigurationReaderTest.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -126,10 +126,10 @@ var calculation = (MacroStabilityInwardsCalculationConfiguration) readConfigurationItems[0]; Assert.AreEqual("Calculation", calculation.Name); Assert.IsNull(calculation.AssessmentLevel); - Assert.IsNull(calculation.HydraulicBoundaryLocation); - Assert.IsNull(calculation.SurfaceLine); - Assert.IsNull(calculation.StochasticSoilModel); - Assert.IsNull(calculation.StochasticSoilProfile); + Assert.IsNull(calculation.HydraulicBoundaryLocationName); + Assert.IsNull(calculation.SurfaceLineName); + Assert.IsNull(calculation.StochasticSoilModelName); + Assert.IsNull(calculation.StochasticSoilProfileName); } [Test] @@ -189,10 +189,10 @@ var calculation = (MacroStabilityInwardsCalculationConfiguration) readConfigurationItems[0]; Assert.AreEqual("Calculation", calculation.Name); Assert.IsNull(calculation.AssessmentLevel); - Assert.AreEqual("HRlocatie", calculation.HydraulicBoundaryLocation); - Assert.AreEqual("Profielschematisatie", calculation.SurfaceLine); - Assert.AreEqual("Ondergrondmodel", calculation.StochasticSoilModel); - Assert.AreEqual("Ondergrondschematisatie", calculation.StochasticSoilProfile); + Assert.AreEqual("HRlocatie", calculation.HydraulicBoundaryLocationName); + Assert.AreEqual("Profielschematisatie", calculation.SurfaceLineName); + Assert.AreEqual("Ondergrondmodel", calculation.StochasticSoilModelName); + Assert.AreEqual("Ondergrondschematisatie", calculation.StochasticSoilProfileName); } [Test] @@ -215,10 +215,10 @@ var calculation = (MacroStabilityInwardsCalculationConfiguration) readConfigurationItems[0]; Assert.AreEqual("Calculation", calculation.Name); Assert.AreEqual(1.1, calculation.AssessmentLevel); - Assert.IsNull(calculation.HydraulicBoundaryLocation); - Assert.AreEqual("Profielschematisatie", calculation.SurfaceLine); - Assert.AreEqual("Ondergrondmodel", calculation.StochasticSoilModel); - Assert.AreEqual("Ondergrondschematisatie", calculation.StochasticSoilProfile); + Assert.IsNull(calculation.HydraulicBoundaryLocationName); + Assert.AreEqual("Profielschematisatie", calculation.SurfaceLineName); + Assert.AreEqual("Ondergrondmodel", calculation.StochasticSoilModelName); + Assert.AreEqual("Ondergrondschematisatie", calculation.StochasticSoilProfileName); } [Test] @@ -237,10 +237,10 @@ var calculation = (MacroStabilityInwardsCalculationConfiguration) readConfigurationItems[0]; Assert.AreEqual("Calculation", calculation.Name); Assert.AreEqual(1.1, calculation.AssessmentLevel); - Assert.IsNull(calculation.HydraulicBoundaryLocation); - Assert.IsNull(calculation.SurfaceLine); - Assert.IsNull(calculation.StochasticSoilModel); - Assert.AreEqual("Ondergrondschematisatie", calculation.StochasticSoilProfile); + Assert.IsNull(calculation.HydraulicBoundaryLocationName); + Assert.IsNull(calculation.SurfaceLineName); + Assert.IsNull(calculation.StochasticSoilModelName); + Assert.AreEqual("Ondergrondschematisatie", calculation.StochasticSoilProfileName); } } } \ No newline at end of file Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationTest.cs =================================================================== diff -u -rf03b47d0d73983de35188874a094ae07f1ea13fa -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationTest.cs (.../MacroStabilityInwardsCalculationConfigurationTest.cs) (revision f03b47d0d73983de35188874a094ae07f1ea13fa) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationTest.cs (.../MacroStabilityInwardsCalculationConfigurationTest.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -52,10 +52,10 @@ Assert.IsInstanceOf(readCalculation); Assert.AreEqual(name, readCalculation.Name); Assert.IsNull(readCalculation.AssessmentLevel); - Assert.IsNull(readCalculation.HydraulicBoundaryLocation); - Assert.IsNull(readCalculation.SurfaceLine); - Assert.IsNull(readCalculation.StochasticSoilModel); - Assert.IsNull(readCalculation.StochasticSoilProfile); + Assert.IsNull(readCalculation.HydraulicBoundaryLocationName); + Assert.IsNull(readCalculation.SurfaceLineName); + Assert.IsNull(readCalculation.StochasticSoilModelName); + Assert.IsNull(readCalculation.StochasticSoilProfileName); } [Test] @@ -73,19 +73,19 @@ var readCalculation = new MacroStabilityInwardsCalculationConfiguration(calculationName) { AssessmentLevel = assessmentLevel, - HydraulicBoundaryLocation = hydraulicBoundaryLocation, - SurfaceLine = surfaceLine, - StochasticSoilModel = stochasticSoilModel, - StochasticSoilProfile = stochasticSoilProfile + HydraulicBoundaryLocationName = hydraulicBoundaryLocation, + SurfaceLineName = surfaceLine, + StochasticSoilModelName = stochasticSoilModel, + StochasticSoilProfileName = stochasticSoilProfile }; // Assert Assert.AreEqual(calculationName, readCalculation.Name); Assert.AreEqual(assessmentLevel, readCalculation.AssessmentLevel); - Assert.AreEqual(hydraulicBoundaryLocation, readCalculation.HydraulicBoundaryLocation); - Assert.AreEqual(surfaceLine, readCalculation.SurfaceLine); - Assert.AreEqual(stochasticSoilModel, readCalculation.StochasticSoilModel); - Assert.AreEqual(stochasticSoilProfile, readCalculation.StochasticSoilProfile); + Assert.AreEqual(hydraulicBoundaryLocation, readCalculation.HydraulicBoundaryLocationName); + Assert.AreEqual(surfaceLine, readCalculation.SurfaceLineName); + Assert.AreEqual(stochasticSoilModel, readCalculation.StochasticSoilModelName); + Assert.AreEqual(stochasticSoilProfile, readCalculation.StochasticSoilProfileName); } } } \ No newline at end of file Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationWriterTest.cs =================================================================== diff -u -re507c88f2863ff7bc93505caf71c5f8025fb48c0 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationWriterTest.cs (.../MacroStabilityInwardsCalculationConfigurationWriterTest.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationWriterTest.cs (.../MacroStabilityInwardsCalculationConfigurationWriterTest.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -57,10 +57,10 @@ var calculation2 = CreateFullCalculationConfiguration(); calculation2.Name = "PK001_0002 W1-6_4_1D1"; - calculation2.HydraulicBoundaryLocation = "PUNT_SCH_17"; - calculation2.SurfaceLine = "PK001_0002"; - calculation2.StochasticSoilModel = "PK001_0002_Macrostabiliteit"; - calculation2.StochasticSoilProfile = "W1-6_4_1D1"; + calculation2.HydraulicBoundaryLocationName = "PUNT_SCH_17"; + calculation2.SurfaceLineName = "PK001_0002"; + calculation2.StochasticSoilModelName = "PK001_0002_Macrostabiliteit"; + calculation2.StochasticSoilProfileName = "W1-6_4_1D1"; var calculationGroup2 = new CalculationGroupConfiguration("PK001_0002", new IConfigurationItem[] { @@ -102,10 +102,10 @@ { return new MacroStabilityInwardsCalculationConfiguration("PK001_0001 W1-6_0_1D1") { - HydraulicBoundaryLocation = "PUNT_KAT_18", - SurfaceLine = "PK001_0001", - StochasticSoilModel = "PK001_0001_Macrostabiliteit", - StochasticSoilProfile = "W1-6_0_1D1" + HydraulicBoundaryLocationName = "PUNT_KAT_18", + SurfaceLineName = "PK001_0001", + StochasticSoilModelName = "PK001_0001_Macrostabiliteit", + StochasticSoilProfileName = "W1-6_0_1D1" }; } Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfiguration.cs =================================================================== diff -u -r756064ca162892256021ac1616fe4680b2bba320 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfiguration.cs (.../PipingCalculationConfiguration.cs) (revision 756064ca162892256021ac1616fe4680b2bba320) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfiguration.cs (.../PipingCalculationConfiguration.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -42,47 +42,47 @@ } /// - /// Gets the assessment level of the piping calculation. + /// Gets or sets the assessment level of the piping calculation. /// public double? AssessmentLevel { get; set; } /// - /// Gets the name of the hydraulic boundary location of the piping calculation. + /// Gets or sets the name of the hydraulic boundary location of the piping calculation. /// - public string HydraulicBoundaryLocation { get; set; } + public string HydraulicBoundaryLocationName { get; set; } /// - /// Gets the name of the surface line of the piping calculation. + /// Gets or sets the name of the surface line of the piping calculation. /// - public string SurfaceLine { get; set; } + public string SurfaceLineName { get; set; } /// - /// Gets the l-coordinate of the entry point of the piping calculation. + /// Gets or sets the l-coordinate of the entry point of the piping calculation. /// public double? EntryPointL { get; set; } /// - /// Gets the l-coordinate of the exit point of the piping calculation. + /// Gets or sets the l-coordinate of the exit point of the piping calculation. /// public double? ExitPointL { get; set; } /// - /// Gets the name of the stochastic soil model of the piping calculation. + /// Gets or sets the name of the stochastic soil model of the piping calculation. /// - public string StochasticSoilModel { get; set; } + public string StochasticSoilModelName { get; set; } /// - /// Gets the name of the stochastic soil profile of the piping calculation. + /// Gets or sets the name of the stochastic soil profile of the piping calculation. /// - public string StochasticSoilProfile { get; set; } + public string StochasticSoilProfileName { get; set; } /// - /// Gets the configuration of the phreatic level exit of the piping calculation. + /// Gets or sets the configuration of the phreatic level exit of the piping calculation. /// public StochastConfiguration PhreaticLevelExit{ get; set; } /// - /// Gets the configuration of the damping factor exit of the piping calculation. + /// Gets or sets the configuration of the damping factor exit of the piping calculation. /// public StochastConfiguration DampingFactorExit { get; set; } @@ -100,7 +100,7 @@ { if (value == null) { - throw new ArgumentNullException(nameof(value), @"Name is required for a structure calculation configuration."); + throw new ArgumentNullException(nameof(value), @"Name is required for a calculation configuration."); } name = value; } Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationExporter.cs =================================================================== diff -u -re507c88f2863ff7bc93505caf71c5f8025fb48c0 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationExporter.cs (.../PipingCalculationConfigurationExporter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationExporter.cs (.../PipingCalculationConfigurationExporter.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -31,16 +31,21 @@ /// /// Exports a piping calculation configuration and stores it as an XML file. /// - public class PipingCalculationConfigurationExporter : CalculationConfigurationExporter + public class PipingCalculationConfigurationExporter + : CalculationConfigurationExporter< + PipingCalculationConfigurationWriter, + PipingCalculation, + PipingCalculationConfiguration> { /// /// Creates a new instance of . /// - /// The calculation configuration to export. + /// The hierarchy of calculations to export. /// The path of the XML file to export to. - /// Thrown when is null. + /// Thrown when is null. /// Thrown when is invalid. - public PipingCalculationConfigurationExporter(IEnumerable configuration, string filePath) : base(configuration, filePath) {} + public PipingCalculationConfigurationExporter(IEnumerable calculations, string filePath) + : base(calculations, filePath) {} protected override PipingCalculationConfigurationWriter CreateWriter(string filePath) { @@ -55,7 +60,7 @@ if (input.HydraulicBoundaryLocation != null) { - calculationConfiguration.HydraulicBoundaryLocation = input.HydraulicBoundaryLocation.Name; + calculationConfiguration.HydraulicBoundaryLocationName = input.HydraulicBoundaryLocation.Name; } else if(input.UseAssessmentLevelManualInput) { @@ -67,15 +72,15 @@ if (input.SurfaceLine != null) { - calculationConfiguration.SurfaceLine = input.SurfaceLine.Name; + calculationConfiguration.SurfaceLineName = input.SurfaceLine.Name; calculationConfiguration.EntryPointL = input.EntryPointL; calculationConfiguration.ExitPointL = input.ExitPointL; } if (input.StochasticSoilModel != null) { - calculationConfiguration.StochasticSoilModel = input.StochasticSoilModel.Name; - calculationConfiguration.StochasticSoilProfile = input.StochasticSoilProfile?.SoilProfile.Name; + calculationConfiguration.StochasticSoilModelName = input.StochasticSoilModel.Name; + calculationConfiguration.StochasticSoilProfileName = input.StochasticSoilProfile?.SoilProfile.Name; } return calculationConfiguration; Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationImporter.cs =================================================================== diff -u -r756064ca162892256021ac1616fe4680b2bba320 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationImporter.cs (.../PipingCalculationConfigurationImporter.cs) (revision 756064ca162892256021ac1616fe4680b2bba320) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationImporter.cs (.../PipingCalculationConfigurationImporter.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -25,7 +25,6 @@ using Core.Common.Base.Data; using Ringtoets.Common.Data.Calculation; using Ringtoets.Common.Data.Hydraulics; -using Ringtoets.Common.Data.Probabilistics; using Ringtoets.Common.IO.Configurations.Helpers; using Ringtoets.Common.IO.Configurations.Import; using Ringtoets.Piping.Data; @@ -38,7 +37,9 @@ /// Imports a piping calculation configuration from an XML file and stores it on a /// . /// - public class PipingCalculationConfigurationImporter : CalculationConfigurationImporter + public class PipingCalculationConfigurationImporter + : CalculationConfigurationImporter { private readonly IEnumerable availableHydraulicBoundaryLocations; private readonly PipingFailureMechanism failureMechanism; @@ -103,11 +104,15 @@ /// The calculation to configure. /// false when the has a /// set which is not available in , true otherwise. - private bool TryReadHydraulicBoundaryData(PipingCalculationConfiguration calculationConfiguration, PipingCalculationScenario pipingCalculation) + private bool TryReadHydraulicBoundaryData(PipingCalculationConfiguration calculationConfiguration, + PipingCalculationScenario pipingCalculation) { HydraulicBoundaryLocation location; - bool locationRead = TryReadHydraulicBoundaryLocation(calculationConfiguration.HydraulicBoundaryLocation, calculationConfiguration.Name, availableHydraulicBoundaryLocations, out location); + bool locationRead = TryReadHydraulicBoundaryLocation(calculationConfiguration.HydraulicBoundaryLocationName, + calculationConfiguration.Name, + availableHydraulicBoundaryLocations, + out location); if (!locationRead) { @@ -136,16 +141,16 @@ /// set which is not available in , true otherwise. private bool TryReadSurfaceLine(PipingCalculationConfiguration calculationConfiguration, PipingCalculationScenario pipingCalculation) { - if (calculationConfiguration.SurfaceLine != null) + if (calculationConfiguration.SurfaceLineName != null) { RingtoetsPipingSurfaceLine surfaceLine = failureMechanism.SurfaceLines - .FirstOrDefault(sl => sl.Name == calculationConfiguration.SurfaceLine); + .FirstOrDefault(sl => sl.Name == calculationConfiguration.SurfaceLineName); if (surfaceLine == null) { Log.LogCalculationConversionError(string.Format( Resources.PipingCalculationConfigurationImporter_ReadSurfaceLine_SurfaceLine_0_does_not_exist, - calculationConfiguration.SurfaceLine), + calculationConfiguration.SurfaceLineName), pipingCalculation.Name); return false; } @@ -167,7 +172,7 @@ bool hasEntryPoint = calculationConfiguration.EntryPointL.HasValue; bool hasExitPoint = calculationConfiguration.ExitPointL.HasValue; - if (calculationConfiguration.SurfaceLine == null && (hasEntryPoint || hasExitPoint)) + if (calculationConfiguration.SurfaceLineName == null && (hasEntryPoint || hasExitPoint)) { Log.LogCalculationConversionError(Resources.PipingCalculationConfigurationImporter_ReadSurfaceLine_EntryPointL_or_ExitPointL_defined_without_SurfaceLine, pipingCalculation.Name); @@ -226,16 +231,16 @@ /// true otherwise. private bool TryReadStochasticSoilModel(PipingCalculationConfiguration calculationConfiguration, PipingCalculationScenario pipingCalculation) { - if (calculationConfiguration.StochasticSoilModel != null) + if (calculationConfiguration.StochasticSoilModelName != null) { StochasticSoilModel soilModel = failureMechanism.StochasticSoilModels - .FirstOrDefault(ssm => ssm.Name == calculationConfiguration.StochasticSoilModel); + .FirstOrDefault(ssm => ssm.Name == calculationConfiguration.StochasticSoilModelName); if (soilModel == null) { Log.LogCalculationConversionError(string.Format( Resources.PipingCalculationConfigurationImporter_ReadStochasticSoilModel_Stochastische_soil_model_0_does_not_exist, - calculationConfiguration.StochasticSoilModel), + calculationConfiguration.StochasticSoilModelName), pipingCalculation.Name); return false; } @@ -245,8 +250,8 @@ { Log.LogCalculationConversionError(string.Format( Resources.PipingCalculationConfigurationImporter_ReadStochasticSoilModel_Stochastische_soil_model_0_does_not_intersect_with_surfaceLine_1, - calculationConfiguration.StochasticSoilModel, - calculationConfiguration.SurfaceLine), + calculationConfiguration.StochasticSoilModelName, + calculationConfiguration.SurfaceLineName), pipingCalculation.Name); return false; } @@ -269,25 +274,29 @@ /// true otherwise. private bool TryReadStochasticSoilProfile(PipingCalculationConfiguration calculationConfiguration, PipingCalculationScenario pipingCalculation) { - if (calculationConfiguration.StochasticSoilProfile != null) + if (calculationConfiguration.StochasticSoilProfileName != null) { if (pipingCalculation.InputParameters.StochasticSoilModel == null) { Log.LogCalculationConversionError(string.Format( Resources.PipingCalculationConfigurationImporter_ReadStochasticSoilProfile_No_soil_model_provided_for_soil_profile_with_name_0, - calculationConfiguration.StochasticSoilProfile), + calculationConfiguration.StochasticSoilProfileName), pipingCalculation.Name); return false; } - StochasticSoilProfile soilProfile = pipingCalculation.InputParameters.StochasticSoilModel.StochasticSoilProfiles - .FirstOrDefault(ssp => ssp.SoilProfile.Name == calculationConfiguration.StochasticSoilProfile); + StochasticSoilProfile soilProfile = pipingCalculation + .InputParameters + .StochasticSoilModel + .StochasticSoilProfiles + .FirstOrDefault(ssp => ssp.SoilProfile.Name == calculationConfiguration.StochasticSoilProfileName); if (soilProfile == null) { Log.LogCalculationConversionError(string.Format( Resources.PipingCalculationConfigurationImporter_ReadStochasticSoilProfile_Stochastic_soil_profile_0_does_not_exist_within_soil_model_1, - calculationConfiguration.StochasticSoilProfile, calculationConfiguration.StochasticSoilModel), + calculationConfiguration.StochasticSoilProfileName, + calculationConfiguration.StochasticSoilModelName), pipingCalculation.Name); return false; } @@ -317,7 +326,7 @@ pipingCalculation.InputParameters, calculationConfiguration.DampingFactorExit, i => i.DampingFactorExit, - (i,s) => i.DampingFactorExit = s, + (i, s) => i.DampingFactorExit = s, Log); } Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationReader.cs =================================================================== diff -u -r756064ca162892256021ac1616fe4680b2bba320 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationReader.cs (.../PipingCalculationConfigurationReader.cs) (revision 756064ca162892256021ac1616fe4680b2bba320) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationReader.cs (.../PipingCalculationConfigurationReader.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -71,12 +71,12 @@ var calculation = new PipingCalculationConfiguration(calculationElement.Attribute(ConfigurationSchemaIdentifiers.NameAttribute).Value) { AssessmentLevel = calculationElement.GetDoubleValueFromDescendantElement(PipingCalculationConfigurationSchemaIdentifiers.AssessmentLevelElement), - HydraulicBoundaryLocation = calculationElement.GetStringValueFromDescendantElement(ConfigurationSchemaIdentifiers.HydraulicBoundaryLocationElement), - SurfaceLine = calculationElement.GetStringValueFromDescendantElement(PipingCalculationConfigurationSchemaIdentifiers.SurfaceLineElement), + HydraulicBoundaryLocationName = calculationElement.GetStringValueFromDescendantElement(ConfigurationSchemaIdentifiers.HydraulicBoundaryLocationElement), + SurfaceLineName = calculationElement.GetStringValueFromDescendantElement(PipingCalculationConfigurationSchemaIdentifiers.SurfaceLineElement), EntryPointL = calculationElement.GetDoubleValueFromDescendantElement(PipingCalculationConfigurationSchemaIdentifiers.EntryPointLElement), ExitPointL = calculationElement.GetDoubleValueFromDescendantElement(PipingCalculationConfigurationSchemaIdentifiers.ExitPointLElement), - StochasticSoilModel = calculationElement.GetStringValueFromDescendantElement(PipingCalculationConfigurationSchemaIdentifiers.StochasticSoilModelElement), - StochasticSoilProfile = calculationElement.GetStringValueFromDescendantElement(PipingCalculationConfigurationSchemaIdentifiers.StochasticSoilProfileElement), + StochasticSoilModelName = calculationElement.GetStringValueFromDescendantElement(PipingCalculationConfigurationSchemaIdentifiers.StochasticSoilModelElement), + StochasticSoilProfileName = calculationElement.GetStringValueFromDescendantElement(PipingCalculationConfigurationSchemaIdentifiers.StochasticSoilProfileElement), PhreaticLevelExit = calculationElement.GetStochastConfiguration(PipingCalculationConfigurationSchemaIdentifiers.PhreaticLevelExitStochastName), DampingFactorExit = calculationElement.GetStochastConfiguration(PipingCalculationConfigurationSchemaIdentifiers.DampingFactorExitStochastName) }; Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationWriter.cs =================================================================== diff -u -re507c88f2863ff7bc93505caf71c5f8025fb48c0 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationWriter.cs (.../PipingCalculationConfigurationWriter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationWriter.cs (.../PipingCalculationConfigurationWriter.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -55,11 +55,11 @@ configuration.AssessmentLevel); WriteElementWhenContentAvailable(writer, ConfigurationSchemaIdentifiers.HydraulicBoundaryLocationElement, - configuration.HydraulicBoundaryLocation); + configuration.HydraulicBoundaryLocationName); WriteElementWhenContentAvailable(writer, PipingCalculationConfigurationSchemaIdentifiers.SurfaceLineElement, - configuration.SurfaceLine); + configuration.SurfaceLineName); WriteElementWhenContentAvailable(writer, PipingCalculationConfigurationSchemaIdentifiers.EntryPointLElement, configuration.EntryPointL); @@ -68,10 +68,10 @@ configuration.ExitPointL); WriteElementWhenContentAvailable(writer, PipingCalculationConfigurationSchemaIdentifiers.StochasticSoilModelElement, - configuration.StochasticSoilModel); + configuration.StochasticSoilModelName); WriteElementWhenContentAvailable(writer, PipingCalculationConfigurationSchemaIdentifiers.StochasticSoilProfileElement, - configuration.StochasticSoilProfile); + configuration.StochasticSoilProfileName); writer.WriteStartElement(ConfigurationSchemaIdentifiers.StochastsElement); Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationReaderTest.cs =================================================================== diff -u -r756064ca162892256021ac1616fe4680b2bba320 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationReaderTest.cs (.../PipingCalculationConfigurationReaderTest.cs) (revision 756064ca162892256021ac1616fe4680b2bba320) +++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationReaderTest.cs (.../PipingCalculationConfigurationReaderTest.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -177,12 +177,12 @@ var calculation = (PipingCalculationConfiguration) readConfigurationItems[0]; Assert.AreEqual("Calculation", calculation.Name); Assert.IsNull(calculation.AssessmentLevel); - Assert.IsNull(calculation.HydraulicBoundaryLocation); - Assert.IsNull(calculation.SurfaceLine); + Assert.IsNull(calculation.HydraulicBoundaryLocationName); + Assert.IsNull(calculation.SurfaceLineName); Assert.IsNull(calculation.EntryPointL); Assert.IsNull(calculation.ExitPointL); - Assert.IsNull(calculation.StochasticSoilModel); - Assert.IsNull(calculation.StochasticSoilProfile); + Assert.IsNull(calculation.StochasticSoilModelName); + Assert.IsNull(calculation.StochasticSoilProfileName); Assert.IsNull(calculation.PhreaticLevelExit); Assert.IsNull(calculation.DampingFactorExit); } @@ -280,12 +280,12 @@ var calculation = (PipingCalculationConfiguration) readConfigurationItems[0]; Assert.AreEqual("Calculation", calculation.Name); Assert.IsNull(calculation.AssessmentLevel); - Assert.AreEqual("HRlocatie", calculation.HydraulicBoundaryLocation); - Assert.AreEqual("Profielschematisatie", calculation.SurfaceLine); + Assert.AreEqual("HRlocatie", calculation.HydraulicBoundaryLocationName); + Assert.AreEqual("Profielschematisatie", calculation.SurfaceLineName); Assert.AreEqual(2.2, calculation.EntryPointL); Assert.AreEqual(3.3, calculation.ExitPointL); - Assert.AreEqual("Ondergrondmodel", calculation.StochasticSoilModel); - Assert.AreEqual("Ondergrondschematisatie", calculation.StochasticSoilProfile); + Assert.AreEqual("Ondergrondmodel", calculation.StochasticSoilModelName); + Assert.AreEqual("Ondergrondschematisatie", calculation.StochasticSoilProfileName); Assert.AreEqual(4.4, calculation.PhreaticLevelExit.Mean); Assert.AreEqual(5.5, calculation.PhreaticLevelExit.StandardDeviation); Assert.AreEqual(6.6, calculation.DampingFactorExit.Mean); @@ -312,12 +312,12 @@ var calculation = (PipingCalculationConfiguration) readConfigurationItems[0]; Assert.AreEqual("Calculation", calculation.Name); Assert.AreEqual(1.1, calculation.AssessmentLevel); - Assert.IsNull(calculation.HydraulicBoundaryLocation); - Assert.AreEqual("Profielschematisatie", calculation.SurfaceLine); + Assert.IsNull(calculation.HydraulicBoundaryLocationName); + Assert.AreEqual("Profielschematisatie", calculation.SurfaceLineName); Assert.AreEqual(2.2, calculation.EntryPointL); Assert.AreEqual(3.3, calculation.ExitPointL); - Assert.AreEqual("Ondergrondmodel", calculation.StochasticSoilModel); - Assert.AreEqual("Ondergrondschematisatie", calculation.StochasticSoilProfile); + Assert.AreEqual("Ondergrondmodel", calculation.StochasticSoilModelName); + Assert.AreEqual("Ondergrondschematisatie", calculation.StochasticSoilProfileName); Assert.AreEqual(4.4, calculation.PhreaticLevelExit.Mean); Assert.AreEqual(5.5, calculation.PhreaticLevelExit.StandardDeviation); Assert.AreEqual(6.6, calculation.DampingFactorExit.Mean); @@ -340,12 +340,12 @@ var calculation = (PipingCalculationConfiguration) readConfigurationItems[0]; Assert.AreEqual("Calculation", calculation.Name); Assert.AreEqual(1.1, calculation.AssessmentLevel); - Assert.IsNull(calculation.HydraulicBoundaryLocation); - Assert.IsNull(calculation.SurfaceLine); + Assert.IsNull(calculation.HydraulicBoundaryLocationName); + Assert.IsNull(calculation.SurfaceLineName); Assert.IsNull(calculation.EntryPointL); Assert.AreEqual(2.2, calculation.ExitPointL); - Assert.IsNull(calculation.StochasticSoilModel); - Assert.AreEqual("Ondergrondschematisatie", calculation.StochasticSoilProfile); + Assert.IsNull(calculation.StochasticSoilModelName); + Assert.AreEqual("Ondergrondschematisatie", calculation.StochasticSoilProfileName); Assert.AreEqual(3.3, calculation.PhreaticLevelExit.Mean); Assert.AreEqual(4.4, calculation.PhreaticLevelExit.StandardDeviation); Assert.IsNull(calculation.DampingFactorExit); Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationTest.cs =================================================================== diff -u -rb1fd20384e0835b604bb68d94e16e8ead46ed93e -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationTest.cs (.../PipingCalculationConfigurationTest.cs) (revision b1fd20384e0835b604bb68d94e16e8ead46ed93e) +++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationTest.cs (.../PipingCalculationConfigurationTest.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -52,12 +52,12 @@ Assert.IsInstanceOf(readPipingCalculation); Assert.AreEqual(name, readPipingCalculation.Name); Assert.IsNull(readPipingCalculation.AssessmentLevel); - Assert.IsNull(readPipingCalculation.HydraulicBoundaryLocation); - Assert.IsNull(readPipingCalculation.SurfaceLine); + Assert.IsNull(readPipingCalculation.HydraulicBoundaryLocationName); + Assert.IsNull(readPipingCalculation.SurfaceLineName); Assert.IsNull(readPipingCalculation.EntryPointL); Assert.IsNull(readPipingCalculation.ExitPointL); - Assert.IsNull(readPipingCalculation.StochasticSoilModel); - Assert.IsNull(readPipingCalculation.StochasticSoilProfile); + Assert.IsNull(readPipingCalculation.StochasticSoilModelName); + Assert.IsNull(readPipingCalculation.StochasticSoilProfileName); Assert.IsNull(readPipingCalculation.PhreaticLevelExit); Assert.IsNull(readPipingCalculation.DampingFactorExit); } @@ -83,12 +83,12 @@ var readPipingCalculation = new PipingCalculationConfiguration(calculationName) { AssessmentLevel = assessmentLevel, - HydraulicBoundaryLocation = hydraulicBoundaryLocation, - SurfaceLine = surfaceLine, + HydraulicBoundaryLocationName = hydraulicBoundaryLocation, + SurfaceLineName = surfaceLine, EntryPointL = entryPointL, ExitPointL = exitPointL, - StochasticSoilModel = stochasticSoilModel, - StochasticSoilProfile = stochasticSoilProfile, + StochasticSoilModelName = stochasticSoilModel, + StochasticSoilProfileName = stochasticSoilProfile, PhreaticLevelExit = new StochastConfiguration { Mean = phreaticLevelExitMean, @@ -104,12 +104,12 @@ // Assert Assert.AreEqual(calculationName, readPipingCalculation.Name); Assert.AreEqual(assessmentLevel, readPipingCalculation.AssessmentLevel); - Assert.AreEqual(hydraulicBoundaryLocation, readPipingCalculation.HydraulicBoundaryLocation); - Assert.AreEqual(surfaceLine, readPipingCalculation.SurfaceLine); + Assert.AreEqual(hydraulicBoundaryLocation, readPipingCalculation.HydraulicBoundaryLocationName); + Assert.AreEqual(surfaceLine, readPipingCalculation.SurfaceLineName); Assert.AreEqual(entryPointL, readPipingCalculation.EntryPointL); Assert.AreEqual(exitPointL, readPipingCalculation.ExitPointL); - Assert.AreEqual(stochasticSoilModel, readPipingCalculation.StochasticSoilModel); - Assert.AreEqual(stochasticSoilProfile, readPipingCalculation.StochasticSoilProfile); + Assert.AreEqual(stochasticSoilModel, readPipingCalculation.StochasticSoilModelName); + Assert.AreEqual(stochasticSoilProfile, readPipingCalculation.StochasticSoilProfileName); Assert.AreEqual(phreaticLevelExitMean, readPipingCalculation.PhreaticLevelExit.Mean); Assert.AreEqual(phreaticLevelExitStandardDeviation, readPipingCalculation.PhreaticLevelExit.StandardDeviation); Assert.AreEqual(dampingFactorExitMean, readPipingCalculation.DampingFactorExit.Mean); Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationWriterTest.cs =================================================================== diff -u -re507c88f2863ff7bc93505caf71c5f8025fb48c0 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationWriterTest.cs (.../PipingCalculationConfigurationWriterTest.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) +++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationWriterTest.cs (.../PipingCalculationConfigurationWriterTest.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -57,10 +57,10 @@ var calculation2 = CreateFullCalculationConfiguration(); calculation2.Name = "PK001_0002 W1-6_4_1D1"; - calculation2.HydraulicBoundaryLocation = "PUNT_SCH_17"; - calculation2.SurfaceLine = "PK001_0002"; - calculation2.StochasticSoilModel = "PK001_0002_Piping"; - calculation2.StochasticSoilProfile = "W1-6_4_1D1"; + calculation2.HydraulicBoundaryLocationName = "PUNT_SCH_17"; + calculation2.SurfaceLineName = "PK001_0002"; + calculation2.StochasticSoilModelName = "PK001_0002_Piping"; + calculation2.StochasticSoilProfileName = "W1-6_4_1D1"; calculation2.EntryPointL = 0.3; calculation2.ExitPointL = 0.4; @@ -104,10 +104,10 @@ { return new PipingCalculationConfiguration("PK001_0001 W1-6_0_1D1") { - HydraulicBoundaryLocation = "PUNT_KAT_18", - SurfaceLine = "PK001_0001", - StochasticSoilModel = "PK001_0001_Piping", - StochasticSoilProfile = "W1-6_0_1D1", + HydraulicBoundaryLocationName = "PUNT_KAT_18", + SurfaceLineName = "PK001_0001", + StochasticSoilModelName = "PK001_0001_Piping", + StochasticSoilProfileName = "W1-6_0_1D1", EntryPointL = 0.1, ExitPointL = 0.2, PhreaticLevelExit = new StochastConfiguration Index: Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/Helpers/WaveConditionsInputExtensions.cs =================================================================== diff -u -rf03b47d0d73983de35188874a094ae07f1ea13fa -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/Helpers/WaveConditionsInputExtensions.cs (.../WaveConditionsInputExtensions.cs) (revision f03b47d0d73983de35188874a094ae07f1ea13fa) +++ Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/Helpers/WaveConditionsInputExtensions.cs (.../WaveConditionsInputExtensions.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -48,7 +48,7 @@ } var calculationConfiguration = new WaveConditionsCalculationConfiguration(calculationName) { - HydraulicBoundaryLocation = input.HydraulicBoundaryLocation?.Name, + HydraulicBoundaryLocationName = input.HydraulicBoundaryLocation?.Name, LowerBoundaryRevetment = input.LowerBoundaryRevetment, UpperBoundaryRevetment = input.UpperBoundaryRevetment, LowerBoundaryWaterLevels = input.LowerBoundaryWaterLevels, @@ -84,7 +84,7 @@ return; } - configuration.ForeshoreProfile = input.ForeshoreProfile?.Id; + configuration.ForeshoreProfileId = input.ForeshoreProfile?.Id; configuration.WaveReduction = new WaveReductionConfiguration { UseForeshoreProfile = input.UseForeshore, Index: Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/WaveConditionsCalculationConfiguration.cs =================================================================== diff -u -rf03b47d0d73983de35188874a094ae07f1ea13fa -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/WaveConditionsCalculationConfiguration.cs (.../WaveConditionsCalculationConfiguration.cs) (revision f03b47d0d73983de35188874a094ae07f1ea13fa) +++ Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/WaveConditionsCalculationConfiguration.cs (.../WaveConditionsCalculationConfiguration.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -42,12 +42,12 @@ } /// - /// Gets the name of the hydraulic boundary location of the calculation. + /// Gets or sets the name of the hydraulic boundary location of the calculation. /// - public string HydraulicBoundaryLocation { get; set; } + public string HydraulicBoundaryLocationName { get; set; } /// - /// Gets the upper boundary of the revetment of the calculation. + /// Gets or sets the upper boundary of the revetment of the calculation. /// public double? UpperBoundaryRevetment { get; set; } @@ -57,27 +57,27 @@ public double? LowerBoundaryRevetment { get; set; } /// - /// Gets the upper boundary of the water levels of the calculation. + /// Gets or sets the upper boundary of the water levels of the calculation. /// public double? UpperBoundaryWaterLevels { get; set; } /// - /// Gets the lower boundary of the water levels of the calculation. + /// Gets or sets the lower boundary of the water levels of the calculation. /// public double? LowerBoundaryWaterLevels { get; set; } /// - /// Gets the step size of the calculation. + /// Gets or sets the step size of the calculation. /// public ConfigurationWaveConditionsInputStepSize? StepSize { get; set; } /// - /// Gets the name of the foreshore profile of the calculation. + /// Gets or sets the id of the foreshore profile of the calculation. /// - public string ForeshoreProfile { get; set; } + public string ForeshoreProfileId { get; set; } /// - /// Gets the orientation of the calculation. + /// Gets or sets the orientation of the calculation. /// public double? Orientation { get; set; } @@ -100,7 +100,7 @@ { if (value == null) { - throw new ArgumentNullException(nameof(value), @"Name is required for a structure calculation configuration."); + throw new ArgumentNullException(nameof(value), @"Name is required for a calculation configuration."); } name = value; } Index: Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationImporter.cs =================================================================== diff -u -r4fa75e2c07753d69a156377821eec5caaff7fc11 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationImporter.cs (.../WaveConditionsCalculationConfigurationImporter.cs) (revision 4fa75e2c07753d69a156377821eec5caaff7fc11) +++ Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationImporter.cs (.../WaveConditionsCalculationConfigurationImporter.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -89,9 +89,9 @@ ReadStepSize(calculationConfiguration, waveConditionsCalculation); - if (TryReadHydraulicBoundaryLocation(calculationConfiguration.HydraulicBoundaryLocation, waveConditionsCalculation) + if (TryReadHydraulicBoundaryLocation(calculationConfiguration.HydraulicBoundaryLocationName, waveConditionsCalculation) && TryReadBoundaries(calculationConfiguration, waveConditionsCalculation) - && TryReadForeshoreProfile(calculationConfiguration.ForeshoreProfile, waveConditionsCalculation) + && TryReadForeshoreProfile(calculationConfiguration.ForeshoreProfileId, waveConditionsCalculation) && TryReadOrientation(calculationConfiguration, waveConditionsCalculation) && calculationConfiguration.WaveReduction.ValidateWaveReduction(waveConditionsCalculation.InputParameters.ForeshoreProfile, waveConditionsCalculation.Name, Log)) Index: Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationReader.cs =================================================================== diff -u -r4fa75e2c07753d69a156377821eec5caaff7fc11 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationReader.cs (.../WaveConditionsCalculationConfigurationReader.cs) (revision 4fa75e2c07753d69a156377821eec5caaff7fc11) +++ Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationReader.cs (.../WaveConditionsCalculationConfigurationReader.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -79,13 +79,13 @@ { return new WaveConditionsCalculationConfiguration(calculationElement.Attribute(ConfigurationSchemaIdentifiers.NameAttribute).Value) { - HydraulicBoundaryLocation = calculationElement.GetStringValueFromDescendantElement(ConfigurationSchemaIdentifiers.HydraulicBoundaryLocationElement), + HydraulicBoundaryLocationName = calculationElement.GetStringValueFromDescendantElement(ConfigurationSchemaIdentifiers.HydraulicBoundaryLocationElement), UpperBoundaryRevetment = calculationElement.GetDoubleValueFromDescendantElement(WaveConditionsCalculationConfigurationSchemaIdentifiers.UpperBoundaryRevetment), LowerBoundaryRevetment = calculationElement.GetDoubleValueFromDescendantElement(WaveConditionsCalculationConfigurationSchemaIdentifiers.LowerBoundaryRevetment), UpperBoundaryWaterLevels = calculationElement.GetDoubleValueFromDescendantElement(WaveConditionsCalculationConfigurationSchemaIdentifiers.UpperBoundaryWaterLevels), LowerBoundaryWaterLevels = calculationElement.GetDoubleValueFromDescendantElement(WaveConditionsCalculationConfigurationSchemaIdentifiers.LowerBoundaryWaterLevels), StepSize = (ConfigurationWaveConditionsInputStepSize?) calculationElement.GetConvertedValueFromDescendantDoubleElement(WaveConditionsCalculationConfigurationSchemaIdentifiers.StepSize), - ForeshoreProfile = calculationElement.GetStringValueFromDescendantElement(WaveConditionsCalculationConfigurationSchemaIdentifiers.ForeshoreProfile), + ForeshoreProfileId = calculationElement.GetStringValueFromDescendantElement(WaveConditionsCalculationConfigurationSchemaIdentifiers.ForeshoreProfile), Orientation = calculationElement.GetDoubleValueFromDescendantElement(ConfigurationSchemaIdentifiers.Orientation), WaveReduction = calculationElement.GetWaveReductionParameters() }; Index: Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationWriter.cs =================================================================== diff -u -re507c88f2863ff7bc93505caf71c5f8025fb48c0 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationWriter.cs (.../WaveConditionsCalculationConfigurationWriter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) +++ Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationWriter.cs (.../WaveConditionsCalculationConfigurationWriter.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -67,7 +67,7 @@ WriteElementWhenContentAvailable( writer, ConfigurationSchemaIdentifiers.HydraulicBoundaryLocationElement, - configuration.HydraulicBoundaryLocation); + configuration.HydraulicBoundaryLocationName); WriteElementWhenContentAvailable( writer, @@ -92,7 +92,7 @@ WriteElementWhenContentAvailable( writer, WaveConditionsCalculationConfigurationSchemaIdentifiers.ForeshoreProfile, - configuration.ForeshoreProfile); + configuration.ForeshoreProfileId); WriteElementWhenContentAvailable( writer, Index: Ringtoets/Revetment/test/Ringtoets.Revetment.IO.Test/Configurations/Helpers/WaveConditionsInputExtensionsTest.cs =================================================================== diff -u -r4fa75e2c07753d69a156377821eec5caaff7fc11 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/Revetment/test/Ringtoets.Revetment.IO.Test/Configurations/Helpers/WaveConditionsInputExtensionsTest.cs (.../WaveConditionsInputExtensionsTest.cs) (revision 4fa75e2c07753d69a156377821eec5caaff7fc11) +++ Ringtoets/Revetment/test/Ringtoets.Revetment.IO.Test/Configurations/Helpers/WaveConditionsInputExtensionsTest.cs (.../WaveConditionsInputExtensionsTest.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -74,8 +74,8 @@ Assert.IsNaN(configuration.UpperBoundaryWaterLevels); Assert.IsNaN(configuration.Orientation); Assert.AreEqual(ConfigurationWaveConditionsInputStepSize.Half, configuration.StepSize); - Assert.IsNull(configuration.HydraulicBoundaryLocation); - Assert.IsNull(configuration.ForeshoreProfile); + Assert.IsNull(configuration.HydraulicBoundaryLocationName); + Assert.IsNull(configuration.ForeshoreProfileId); Assert.IsNull(configuration.WaveReduction); } @@ -124,8 +124,8 @@ Assert.AreEqual(upperBoundaryWaterLevels, configuration.UpperBoundaryWaterLevels); Assert.AreEqual(orientation, configuration.Orientation); Assert.AreEqual(ConfigurationWaveConditionsInputStepSize.One, configuration.StepSize); - Assert.AreEqual(locationName, configuration.HydraulicBoundaryLocation); - Assert.AreEqual(foreshoreProfileName, configuration.ForeshoreProfile); + Assert.AreEqual(locationName, configuration.HydraulicBoundaryLocationName); + Assert.AreEqual(foreshoreProfileName, configuration.ForeshoreProfileId); Assert.AreEqual(breakWaterHeight, configuration.WaveReduction.BreakWaterHeight); Assert.AreEqual(ConfigurationBreakWaterType.Wall, configuration.WaveReduction.BreakWaterType); Assert.IsTrue(configuration.WaveReduction.UseForeshoreProfile); Index: Ringtoets/Revetment/test/Ringtoets.Revetment.IO.Test/Configurations/WaveConditionsCalculationConfigurationReaderTest.cs =================================================================== diff -u -r4fa75e2c07753d69a156377821eec5caaff7fc11 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/Revetment/test/Ringtoets.Revetment.IO.Test/Configurations/WaveConditionsCalculationConfigurationReaderTest.cs (.../WaveConditionsCalculationConfigurationReaderTest.cs) (revision 4fa75e2c07753d69a156377821eec5caaff7fc11) +++ Ringtoets/Revetment/test/Ringtoets.Revetment.IO.Test/Configurations/WaveConditionsCalculationConfigurationReaderTest.cs (.../WaveConditionsCalculationConfigurationReaderTest.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -198,13 +198,13 @@ var calculation = readItems[0] as WaveConditionsCalculationConfiguration; Assert.IsNotNull(calculation); Assert.AreEqual("Berekening 1", calculation.Name); - Assert.IsNull(calculation.HydraulicBoundaryLocation); + Assert.IsNull(calculation.HydraulicBoundaryLocationName); Assert.IsNull(calculation.UpperBoundaryRevetment); Assert.IsNull(calculation.LowerBoundaryRevetment); Assert.IsNull(calculation.UpperBoundaryWaterLevels); Assert.IsNull(calculation.LowerBoundaryWaterLevels); Assert.IsNull(calculation.StepSize); - Assert.IsNull(calculation.ForeshoreProfile); + Assert.IsNull(calculation.ForeshoreProfileId); Assert.IsNull(calculation.Orientation); Assert.IsNull(calculation.WaveReduction); } @@ -302,13 +302,13 @@ var calculation = readItems[0] as WaveConditionsCalculationConfiguration; Assert.IsNotNull(calculation); Assert.AreEqual("Berekening 1", calculation.Name); - Assert.AreEqual("HRlocatie", calculation.HydraulicBoundaryLocation); + Assert.AreEqual("HRlocatie", calculation.HydraulicBoundaryLocationName); Assert.AreEqual(1.1, calculation.UpperBoundaryRevetment); Assert.AreEqual(2.2, calculation.LowerBoundaryRevetment); Assert.AreEqual(3.3, calculation.UpperBoundaryWaterLevels); Assert.AreEqual(4.4, calculation.LowerBoundaryWaterLevels); Assert.AreEqual(ConfigurationWaveConditionsInputStepSize.Half, calculation.StepSize); - Assert.AreEqual("Voorlandprofiel", calculation.ForeshoreProfile); + Assert.AreEqual("Voorlandprofiel", calculation.ForeshoreProfileId); Assert.AreEqual(5.5, calculation.Orientation); Assert.IsTrue(calculation.WaveReduction.UseBreakWater); Assert.AreEqual(ConfigurationBreakWaterType.Caisson, calculation.WaveReduction.BreakWaterType); @@ -332,13 +332,13 @@ var calculation = readItems[0] as WaveConditionsCalculationConfiguration; Assert.IsNotNull(calculation); Assert.AreEqual("Berekening 1", calculation.Name); - Assert.IsNull(calculation.HydraulicBoundaryLocation); + Assert.IsNull(calculation.HydraulicBoundaryLocationName); Assert.AreEqual(1.1, calculation.UpperBoundaryRevetment); Assert.AreEqual(2.2, calculation.LowerBoundaryRevetment); Assert.IsNull(calculation.UpperBoundaryWaterLevels); Assert.IsNull(calculation.LowerBoundaryWaterLevels); Assert.AreEqual(ConfigurationWaveConditionsInputStepSize.Half, calculation.StepSize); - Assert.IsNull(calculation.ForeshoreProfile); + Assert.IsNull(calculation.ForeshoreProfileId); Assert.IsNull(calculation.Orientation); Assert.IsTrue(calculation.WaveReduction.UseBreakWater); Assert.AreEqual(ConfigurationBreakWaterType.Caisson, calculation.WaveReduction.BreakWaterType); Index: Ringtoets/Revetment/test/Ringtoets.Revetment.IO.Test/Configurations/WaveConditionsCalculationConfigurationTest.cs =================================================================== diff -u -r4fa75e2c07753d69a156377821eec5caaff7fc11 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/Revetment/test/Ringtoets.Revetment.IO.Test/Configurations/WaveConditionsCalculationConfigurationTest.cs (.../WaveConditionsCalculationConfigurationTest.cs) (revision 4fa75e2c07753d69a156377821eec5caaff7fc11) +++ Ringtoets/Revetment/test/Ringtoets.Revetment.IO.Test/Configurations/WaveConditionsCalculationConfigurationTest.cs (.../WaveConditionsCalculationConfigurationTest.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -51,13 +51,13 @@ // Assert Assert.IsInstanceOf(readCalculation); Assert.AreEqual(name, readCalculation.Name); - Assert.IsNull(readCalculation.HydraulicBoundaryLocation); + Assert.IsNull(readCalculation.HydraulicBoundaryLocationName); Assert.IsNull(readCalculation.UpperBoundaryRevetment); Assert.IsNull(readCalculation.LowerBoundaryRevetment); Assert.IsNull(readCalculation.UpperBoundaryWaterLevels); Assert.IsNull(readCalculation.LowerBoundaryWaterLevels); Assert.IsNull(readCalculation.StepSize); - Assert.IsNull(readCalculation.ForeshoreProfile); + Assert.IsNull(readCalculation.ForeshoreProfileId); Assert.IsNull(readCalculation.Orientation); Assert.IsNull(readCalculation.WaveReduction); } @@ -83,13 +83,13 @@ // Call var readWaveConditionsCalculation = new WaveConditionsCalculationConfiguration(calculationName) { - HydraulicBoundaryLocation = hydraulicBoundaryLocation, + HydraulicBoundaryLocationName = hydraulicBoundaryLocation, UpperBoundaryRevetment = upperBoundaryRevetment, LowerBoundaryRevetment = lowerBoundaryRevetment, UpperBoundaryWaterLevels = upperBoundaryWaterLevels, LowerBoundaryWaterLevels = lowerBoundaryWaterLevels, StepSize = stepSize, - ForeshoreProfile = foreshoreProfileName, + ForeshoreProfileId = foreshoreProfileName, Orientation = orientation, WaveReduction = new WaveReductionConfiguration { @@ -102,13 +102,13 @@ // Assert Assert.AreEqual(calculationName, readWaveConditionsCalculation.Name); - Assert.AreEqual(hydraulicBoundaryLocation, readWaveConditionsCalculation.HydraulicBoundaryLocation); + Assert.AreEqual(hydraulicBoundaryLocation, readWaveConditionsCalculation.HydraulicBoundaryLocationName); Assert.AreEqual(upperBoundaryRevetment, readWaveConditionsCalculation.UpperBoundaryRevetment); Assert.AreEqual(lowerBoundaryRevetment, readWaveConditionsCalculation.LowerBoundaryRevetment); Assert.AreEqual(upperBoundaryWaterLevels, readWaveConditionsCalculation.UpperBoundaryWaterLevels); Assert.AreEqual(lowerBoundaryWaterLevels, readWaveConditionsCalculation.LowerBoundaryWaterLevels); Assert.AreEqual(stepSize, readWaveConditionsCalculation.StepSize); - Assert.AreEqual(foreshoreProfileName, readWaveConditionsCalculation.ForeshoreProfile); + Assert.AreEqual(foreshoreProfileName, readWaveConditionsCalculation.ForeshoreProfileId); Assert.AreEqual(orientation, readWaveConditionsCalculation.Orientation); Assert.AreEqual(useBreakWater, readWaveConditionsCalculation.WaveReduction.UseBreakWater); Assert.AreEqual(breakWaterType, readWaveConditionsCalculation.WaveReduction.BreakWaterType); Index: Ringtoets/Revetment/test/Ringtoets.Revetment.IO.Test/Configurations/WaveConditionsCalculationConfigurationWriterTest.cs =================================================================== diff -u -re507c88f2863ff7bc93505caf71c5f8025fb48c0 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/Revetment/test/Ringtoets.Revetment.IO.Test/Configurations/WaveConditionsCalculationConfigurationWriterTest.cs (.../WaveConditionsCalculationConfigurationWriterTest.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) +++ Ringtoets/Revetment/test/Ringtoets.Revetment.IO.Test/Configurations/WaveConditionsCalculationConfigurationWriterTest.cs (.../WaveConditionsCalculationConfigurationWriterTest.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -89,13 +89,13 @@ var calculation = new WaveConditionsCalculationConfiguration("Berekening 1") { - HydraulicBoundaryLocation = "Locatie1", + HydraulicBoundaryLocationName = "Locatie1", UpperBoundaryRevetment = (RoundedDouble) 1.5, LowerBoundaryRevetment = (RoundedDouble) 0.5, UpperBoundaryWaterLevels = (RoundedDouble) 1.4, LowerBoundaryWaterLevels = (RoundedDouble) 0.6, StepSize = ConfigurationWaveConditionsInputStepSize.One, - ForeshoreProfile = "profiel1", + ForeshoreProfileId = "profiel1", Orientation = (RoundedDouble) 67.1, WaveReduction = new WaveReductionConfiguration { Index: Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.IO/Configurations/StabilityPointStructuresCalculationConfigurationExporter.cs =================================================================== diff -u -re507c88f2863ff7bc93505caf71c5f8025fb48c0 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.IO/Configurations/StabilityPointStructuresCalculationConfigurationExporter.cs (.../StabilityPointStructuresCalculationConfigurationExporter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) +++ Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.IO/Configurations/StabilityPointStructuresCalculationConfigurationExporter.cs (.../StabilityPointStructuresCalculationConfigurationExporter.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -33,15 +33,16 @@ /// /// Exports a stability point structures calculation configuration and stores it as an XML file. /// - public class StabilityPointStructuresCalculationConfigurationExporter : CalculationConfigurationExporter< - StabilityPointStructuresCalculationConfigurationWriter, - StructuresCalculation, - StabilityPointStructuresCalculationConfiguration> + public class StabilityPointStructuresCalculationConfigurationExporter + : CalculationConfigurationExporter< + StabilityPointStructuresCalculationConfigurationWriter, + StructuresCalculation, + StabilityPointStructuresCalculationConfiguration> { /// /// Creates a new instance of . /// - /// The calculation configuration to export. + /// The hierarchy of calculations to export. /// The path of the XML file to export to. /// Thrown when is null. /// Thrown when is invalid. Index: Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.IO/Exporters/StabilityStoneCoverCalculationConfigurationExporter.cs =================================================================== diff -u -re507c88f2863ff7bc93505caf71c5f8025fb48c0 -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 --- Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.IO/Exporters/StabilityStoneCoverCalculationConfigurationExporter.cs (.../StabilityStoneCoverCalculationConfigurationExporter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) +++ Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.IO/Exporters/StabilityStoneCoverCalculationConfigurationExporter.cs (.../StabilityStoneCoverCalculationConfigurationExporter.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42) @@ -33,17 +33,20 @@ /// Exports a stability stone cover calculation configuration and stores it as an XML file. /// public class StabilityStoneCoverCalculationConfigurationExporter - : CalculationConfigurationExporter + : CalculationConfigurationExporter< + WaveConditionsCalculationConfigurationWriter, + StabilityStoneCoverWaveConditionsCalculation, + WaveConditionsCalculationConfiguration> { /// /// Creates a new instance of . /// - /// The calculation configuration to export. + /// The hierarchy of calculations to export. /// The path of the XML file to export to. - /// Thrown when is null. + /// Thrown when is null. /// Thrown when is invalid. - public StabilityStoneCoverCalculationConfigurationExporter(IEnumerable configuration, string filePath) - : base(configuration, filePath) {} + public StabilityStoneCoverCalculationConfigurationExporter(IEnumerable calculations, string filePath) + : base(calculations, filePath) {} protected override WaveConditionsCalculationConfigurationWriter CreateWriter(string filePath) {