Index: Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationWriter.cs
===================================================================
diff -u -r3a60f4df420a7669a047880a924bf4a0ff67c265 -r408972eaea004e68ac9fcaa892c71a47f3521b24
--- Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationWriter.cs (.../WaveConditionsCalculationConfigurationWriter.cs) (revision 3a60f4df420a7669a047880a924bf4a0ff67c265)
+++ Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationWriter.cs (.../WaveConditionsCalculationConfigurationWriter.cs) (revision 408972eaea004e68ac9fcaa892c71a47f3521b24)
@@ -24,18 +24,20 @@
using Ringtoets.Common.IO.Configurations;
using Ringtoets.Common.IO.Configurations.Export;
using Ringtoets.Revetment.Data;
-using Ringtoets.Revetment.IO.Configurations.Helpers;
+using Ringtoets.Revetment.IO.Configurations.Converters;
namespace Ringtoets.Revetment.IO.Configurations
{
///
/// Base implementation of a writer for calculations that contain as input,
/// to XML format.
///
- public class WaveConditionsCalculationConfigurationWriter : CalculationConfigurationWriter
+ /// The type of configuration.
+ public abstract class WaveConditionsCalculationConfigurationWriter : CalculationConfigurationWriter
+ where T : WaveConditionsCalculationConfiguration
{
///
- /// Creates a new instance of .
+ /// Creates a new instance of .
///
/// The path of the file to write to.
/// Thrown when is invalid.
@@ -46,10 +48,10 @@
/// - does not contain an invalid character,
/// - does not end with a directory or path separator (empty file name).
///
- public WaveConditionsCalculationConfigurationWriter(string filePath)
+ protected WaveConditionsCalculationConfigurationWriter(string filePath)
: base(filePath) {}
- protected override void WriteCalculation(WaveConditionsCalculationConfiguration configuration, XmlWriter writer)
+ protected override void WriteCalculation(T configuration, XmlWriter writer)
{
writer.WriteStartElement(ConfigurationSchemaIdentifiers.CalculationElement);
writer.WriteAttributeString(ConfigurationSchemaIdentifiers.NameAttribute, configuration.Name);
@@ -59,6 +61,8 @@
ConfigurationSchemaIdentifiers.HydraulicBoundaryLocationElement,
configuration.HydraulicBoundaryLocationName);
+ WriteConfigurationCategoryTypeWhenAvailable(writer, configuration);
+
WriteElementWhenContentAvailable(
writer,
WaveConditionsCalculationConfigurationSchemaIdentifiers.UpperBoundaryRevetment,
@@ -75,7 +79,7 @@
writer,
WaveConditionsCalculationConfigurationSchemaIdentifiers.LowerBoundaryWaterLevels,
configuration.LowerBoundaryWaterLevels);
- WriteConfigurationLoadSchematizationTypeWhenAvailable(
+ WriteConfigurationWaveConditionsInputStepSizeWhenAvailable(
writer,
configuration.StepSize);
@@ -95,6 +99,17 @@
}
///
+ /// Writes the category type in XML format to file.
+ ///
+ /// The writer to use for writing.
+ /// The configuration to get the category type from.
+ /// /// Thrown when the
+ /// is closed.
+ /// Thrown when the conversion of the category type
+ /// cannot be performed.
+ protected abstract void WriteConfigurationCategoryTypeWhenAvailable(XmlWriter writer, T configuration);
+
+ ///
/// Writes the in XML format to file.
///
/// The writer to use for writing.
@@ -103,7 +118,7 @@
/// is closed.
/// Thrown when the conversion
/// of cannot be performed.
- private static void WriteConfigurationLoadSchematizationTypeWhenAvailable(
+ private static void WriteConfigurationWaveConditionsInputStepSizeWhenAvailable(
XmlWriter writer,
ConfigurationWaveConditionsInputStepSize? stepSize)
{