Index: Ringtoets/Integration/src/Ringtoets.Integration.IO/Creators/AggregatedSerializableFailureMechanismSectionAssemblyCreator.cs
===================================================================
diff -u -rcaf283454626efc376c01fc0e54ab4c902aaf1df -rdaba41934fd3e36f126b88abdd88bc4266e08d33
--- Ringtoets/Integration/src/Ringtoets.Integration.IO/Creators/AggregatedSerializableFailureMechanismSectionAssemblyCreator.cs (.../AggregatedSerializableFailureMechanismSectionAssemblyCreator.cs) (revision caf283454626efc376c01fc0e54ab4c902aaf1df)
+++ Ringtoets/Integration/src/Ringtoets.Integration.IO/Creators/AggregatedSerializableFailureMechanismSectionAssemblyCreator.cs (.../AggregatedSerializableFailureMechanismSectionAssemblyCreator.cs) (revision daba41934fd3e36f126b88abdd88bc4266e08d33)
@@ -27,6 +27,7 @@
using Ringtoets.AssemblyTool.IO.Model.Enums;
using Ringtoets.Integration.IO.AggregatedSerializable;
using Ringtoets.Integration.IO.Assembly;
+using Ringtoets.Integration.IO.Exceptions;
using Ringtoets.Integration.IO.Helpers;
using Ringtoets.Integration.IO.Properties;
@@ -48,6 +49,7 @@
/// for.
/// An .
/// Thrown when any parameter is null.
+ /// Thrown when the assembly result cannot be exported.
public static AggregatedSerializableFailureMechanismSectionAssembly Create(IdentifierGenerator idGenerator,
SerializableFailureMechanismSectionCollection serializableCollection,
SerializableFailureMechanism serializableFailureMechanism,
@@ -73,6 +75,12 @@
throw new ArgumentNullException(nameof(sectionResult));
}
+ if (!IsSectionAssemblyResultValid(sectionResult.CombinedAssembly))
+ {
+ throw new AssemblyExportException(@"The assembly result is invalid and cannot be exported.");
+ }
+
+
SerializableFailureMechanismSection failureMechanismSection = SerializableFailureMechanismSectionCreator.Create(idGenerator,
serializableCollection,
sectionResult.FailureMechanismSection);
@@ -98,6 +106,7 @@
/// for.
/// An .
/// Thrown when any parameter is null.
+ /// Thrown when the assembly result cannot be exported.
public static AggregatedSerializableFailureMechanismSectionAssembly Create(IdentifierGenerator idGenerator,
SerializableFailureMechanismSectionCollection serializableCollection,
SerializableFailureMechanism serializableFailureMechanism,
@@ -123,6 +132,12 @@
throw new ArgumentNullException(nameof(sectionResult));
}
+ if (!IsSectionAssemblyResultValid(sectionResult.CombinedAssembly))
+ {
+ throw new AssemblyExportException(@"The assembly result is invalid and cannot be exported.");
+ }
+
+
SerializableFailureMechanismSection failureMechanismSection = SerializableFailureMechanismSectionCreator.Create(idGenerator,
serializableCollection,
sectionResult.FailureMechanismSection);
@@ -148,6 +163,7 @@
/// for.
/// An .
/// Thrown when any parameter is null.
+ /// Thrown when the assembly result cannot be exported.
public static AggregatedSerializableFailureMechanismSectionAssembly Create(IdentifierGenerator idGenerator,
SerializableFailureMechanismSectionCollection serializableCollection,
SerializableFailureMechanism serializableFailureMechanism,
@@ -173,6 +189,11 @@
throw new ArgumentNullException(nameof(sectionResult));
}
+ if (!IsSectionAssemblyResultValid(sectionResult.CombinedAssembly))
+ {
+ throw new AssemblyExportException(@"The assembly result is invalid and cannot be exported.");
+ }
+
SerializableFailureMechanismSection failureMechanismSection = SerializableFailureMechanismSectionCreator.Create(idGenerator,
serializableCollection,
sectionResult.FailureMechanismSection);
@@ -187,6 +208,11 @@
failureMechanismSectionAssembly);
}
+ private static bool IsSectionAssemblyResultValid(ExportableSectionAssemblyResult result)
+ {
+ return result.AssemblyCategory != FailureMechanismSectionAssemblyCategoryGroup.None;
+ }
+
private static SerializableFailureMechanismSectionAssemblyResult[] CreateAssemblySectionResults(ExportableAggregatedFailureMechanismSectionAssemblyResult sectionResult)
{
var serializableSectionAssemblyResults = new List();