Index: Ringtoets.sln
===================================================================
diff -u -r3a19fce354c6395fbe886eee9a521fa7563e660c -r2841df5cd6395e7590512848731122179637ed2d
--- Ringtoets.sln (.../Ringtoets.sln) (revision 3a19fce354c6395fbe886eee9a521fa7563e660c)
+++ Ringtoets.sln (.../Ringtoets.sln) (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -1758,12 +1758,12 @@
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{22080BD7-677C-48FA-AD1A-8CCF7457B984}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Riskeer.AssemblyTool.KernelWrapper", "Ringtoets\AssemblyTool\src\Ringtoets.AssemblyTool.KernelWrapper\Riskeer.AssemblyTool.KernelWrapper.csproj", "{358B6DA2-A1DF-477F-B6AC-C30204265CB0}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Riskeer.AssemblyTool.KernelWrapper", "Ringtoets\AssemblyTool\src\Riskeer.AssemblyTool.KernelWrapper\Riskeer.AssemblyTool.KernelWrapper.csproj", "{358B6DA2-A1DF-477F-B6AC-C30204265CB0}"
ProjectSection(ProjectDependencies) = postProject
{C90B77DA-E421-43CC-B82E-529651BC21AC} = {C90B77DA-E421-43CC-B82E-529651BC21AC}
EndProjectSection
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Riskeer.AssemblyTool.Data", "Ringtoets\AssemblyTool\src\Ringtoets.AssemblyTool.Data\Riskeer.AssemblyTool.Data.csproj", "{420ED9C3-0C33-47EA-B893-121A9C0DB4F1}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Riskeer.AssemblyTool.Data", "Ringtoets\AssemblyTool\src\Riskeer.AssemblyTool.Data\Riskeer.AssemblyTool.Data.csproj", "{420ED9C3-0C33-47EA-B893-121A9C0DB4F1}"
ProjectSection(ProjectDependencies) = postProject
{C90B77DA-E421-43CC-B82E-529651BC21AC} = {C90B77DA-E421-43CC-B82E-529651BC21AC}
EndProjectSection
@@ -1835,7 +1835,7 @@
{C90B77DA-E421-43CC-B82E-529651BC21AC} = {C90B77DA-E421-43CC-B82E-529651BC21AC}
EndProjectSection
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Riskeer.AssemblyTool.Forms", "Ringtoets\AssemblyTool\src\Ringtoets.AssemblyTool.Forms\Riskeer.AssemblyTool.Forms.csproj", "{22C5DDB8-2491-4BC6-BDC6-2A7B7EBF40C1}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Riskeer.AssemblyTool.Forms", "Ringtoets\AssemblyTool\src\Riskeer.AssemblyTool.Forms\Riskeer.AssemblyTool.Forms.csproj", "{22C5DDB8-2491-4BC6-BDC6-2A7B7EBF40C1}"
ProjectSection(ProjectDependencies) = postProject
{C90B77DA-E421-43CC-B82E-529651BC21AC} = {C90B77DA-E421-43CC-B82E-529651BC21AC}
EndProjectSection
@@ -1972,7 +1972,7 @@
{C90B77DA-E421-43CC-B82E-529651BC21AC} = {C90B77DA-E421-43CC-B82E-529651BC21AC}
EndProjectSection
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Riskeer.AssemblyTool.IO", "Ringtoets\AssemblyTool\src\Ringtoets.AssemblyTool.IO\Riskeer.AssemblyTool.IO.csproj", "{B9838495-B090-4B84-A387-A8974F4F9CC4}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Riskeer.AssemblyTool.IO", "Ringtoets\AssemblyTool\src\Riskeer.AssemblyTool.IO\Riskeer.AssemblyTool.IO.csproj", "{B9838495-B090-4B84-A387-A8974F4F9CC4}"
ProjectSection(ProjectDependencies) = postProject
{C90B77DA-E421-43CC-B82E-529651BC21AC} = {C90B77DA-E421-43CC-B82E-529651BC21AC}
EndProjectSection
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/AssemblyCategoriesInput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/AssemblyCategory.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/AssessmentSectionAssemblyCategory.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/AssessmentSectionAssemblyCategoryGroup.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/CombinedAssemblyFailureMechanismSection.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/CombinedFailureMechanismSectionAssembly.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/FailureMechanismAssembly.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/FailureMechanismAssemblyCategory.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/FailureMechanismAssemblyCategoryGroup.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/FailureMechanismSectionAssembly.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/FailureMechanismSectionAssemblyCategory.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/FailureMechanismSectionAssemblyCategoryGroup.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/Properties/AssemblyInfo.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/Properties/Resources.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/Properties/Resources.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/Riskeer.AssemblyTool.Data.csproj'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Forms/DisplayFailureMechanismSectionAssemblyCategoryGroup.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Forms/DisplayFailureMechanismSectionAssemblyCategoryGroupConverter.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Forms/Properties/AssemblyInfo.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Forms/Properties/Resources.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Forms/Properties/Resources.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Forms/Riskeer.AssemblyTool.Forms.csproj'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Forms/SelectableFailureMechanismSectionAssemblyCategoryGroup.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Forms/SelectableFailureMechanismSectionAssemblyCategoryGroupConverter.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/AssemblyXmlIdentifiers.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/DataTypes/SerializableAssessmentSectionAssemblyResult.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/DataTypes/SerializableCombinedFailureMechanismSectionAssemblyResult.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/DataTypes/SerializableFailureMechanismAssemblyResult.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/DataTypes/SerializableFailureMechanismSectionAssemblyResult.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/DataTypes/SerializableLine.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/DataTypes/SerializableMeasure.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/Enums/AssemblyXmlEnumIdentifiers.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/Enums/SerializableAssemblyMethod.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/Enums/SerializableAssessmentSectionCategoryGroup.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/Enums/SerializableAssessmentType.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/Enums/SerializableFailureMechanismCategoryGroup.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/Enums/SerializableFailureMechanismGroup.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/Enums/SerializableFailureMechanismSectionCategoryGroup.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/Enums/SerializableFailureMechanismSectionType.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/Enums/SerializableFailureMechanismType.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/Gml/SerializableBoundary.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/Gml/SerializableEnvelope.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/Gml/SerializableLineString.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/Helpers/GeometrySerializationFormatter.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/Helpers/SerializableIdValidator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/SerializableAssembly.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/SerializableAssessmentProcess.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/SerializableAssessmentSection.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/SerializableCombinedFailureMechanismSectionAssembly.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/SerializableFailureMechanism.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/SerializableFailureMechanismSection.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/SerializableFailureMechanismSectionAssembly.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/SerializableFailureMechanismSectionCollection.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/SerializableFeatureMember.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Model/SerializableTotalAssemblyResult.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Properties/AssemblyInfo.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Properties/Resources.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Properties/Resources.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/Riskeer.AssemblyTool.IO.csproj'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.IO/SerializableAssemblyWriter.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/AssessmentSectionAssemblyCalculator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/AssessmentSectionAssemblyCalculatorException.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismAssemblyCalculator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismAssemblyCalculatorException.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismSectionAssemblyCalculator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorException.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/IAssessmentSectionAssemblyCalculator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/IFailureMechanismAssemblyCalculator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/IFailureMechanismSectionAssemblyCalculator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/AssemblyToolCalculatorFactory.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Categories/AssemblyCategoriesCalculator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Categories/AssemblyCategoriesCalculatorException.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Categories/IAssemblyCategoriesCalculator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/IAssemblyToolCalculatorFactory.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/AssemblyCalculatorInputCreator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/AssemblyCategoryCreator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/AssemblyErrorMessageCreator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/AssessmentSectionAssemblyInputCreator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/CombinedFailureMechanismSectionAssemblyCreator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/FailureMechanismAssemblyCreator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/FailureMechanismSectionAssemblyCalculatorInputCreator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/FailureMechanismSectionAssemblyCreator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/FailureMechanismSectionListCreator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Kernels/AssemblyToolKernelFactory.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Kernels/IAssemblyToolKernelFactory.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Properties/AssemblyInfo.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Properties/Resources.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Properties/Resources.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 2841df5cd6395e7590512848731122179637ed2d refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Riskeer.AssemblyTool.KernelWrapper.csproj'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/AssemblyCategoriesInput.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/AssemblyCategoriesInput.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/AssemblyCategoriesInput.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,67 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+namespace Riskeer.AssemblyTool.Data
+{
+ ///
+ /// Class that contains the data that is necessary to determine the assembly categories.
+ ///
+ public class AssemblyCategoriesInput
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The 'N' parameter used to factor in the 'length effect'.
+ /// The contribution of a failure mechanism.
+ /// The signaling norm of the assessment section.
+ /// The lower limit norm of the assessment section.
+ public AssemblyCategoriesInput(double failureMechanismN,
+ double failureMechanismContribution,
+ double signalingNorm,
+ double lowerLimitNorm)
+ {
+ N = failureMechanismN;
+ FailureMechanismContribution = failureMechanismContribution;
+ SignalingNorm = signalingNorm;
+ LowerLimitNorm = lowerLimitNorm;
+ }
+
+ ///
+ /// Gets the 'N' parameter used to factor in the 'length effect'.
+ ///
+ public double N { get; }
+
+ ///
+ /// Gets the contribution of a failure mechanism.
+ ///
+ public double FailureMechanismContribution { get; }
+
+ ///
+ /// Gets the signaling norm of the assessment section.
+ ///
+ public double SignalingNorm { get; }
+
+ ///
+ /// Gets the lower limit norm of the assessment section.
+ ///
+ public double LowerLimitNorm { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/AssemblyCategory.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/AssemblyCategory.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/AssemblyCategory.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,50 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+namespace Riskeer.AssemblyTool.Data
+{
+ ///
+ /// Assembly category base.
+ ///
+ public abstract class AssemblyCategory
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The lower boundary of the category.
+ /// The upper boundary of the category.
+ protected AssemblyCategory(double lowerBoundary, double upperBoundary)
+ {
+ LowerBoundary = lowerBoundary;
+ UpperBoundary = upperBoundary;
+ }
+
+ ///
+ /// Gets the lower boundary of the assembly category.
+ ///
+ public double LowerBoundary { get; }
+
+ ///
+ /// Gets the upper boundary of the assembly category.
+ ///
+ public double UpperBoundary { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/AssessmentSectionAssemblyCategory.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/AssessmentSectionAssemblyCategory.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/AssessmentSectionAssemblyCategory.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,46 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+namespace Riskeer.AssemblyTool.Data
+{
+ ///
+ /// Assembly category for assessment section.
+ ///
+ public class AssessmentSectionAssemblyCategory : AssemblyCategory
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The lower boundary of the category.
+ /// The upper boundary of the category.
+ /// The group of the category.
+ public AssessmentSectionAssemblyCategory(double lowerBoundary, double upperBoundary, AssessmentSectionAssemblyCategoryGroup group)
+ : base(lowerBoundary, upperBoundary)
+ {
+ Group = group;
+ }
+
+ ///
+ /// Gets the group of the assembly category.
+ ///
+ public AssessmentSectionAssemblyCategoryGroup Group { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/AssessmentSectionAssemblyCategoryGroup.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/AssessmentSectionAssemblyCategoryGroup.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/AssessmentSectionAssemblyCategoryGroup.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,80 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using Core.Common.Util.Attributes;
+using Riskeer.AssemblyTool.Data.Properties;
+
+namespace Riskeer.AssemblyTool.Data
+{
+ ///
+ /// Enum defining the assembly categories for an assessment section.
+ ///
+ public enum AssessmentSectionAssemblyCategoryGroup
+ {
+ ///
+ /// Represents the category group GR (No result) for an assessment section.
+ ///
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.AssessmentSectionAssemblyCategoryGroup_None_DisplayName))]
+ None = 1,
+
+ ///
+ /// Represents the category group NVT (Not applicable) for an assessment section.
+ ///
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.AssessmentSectionAssemblyCategoryGroup_Empty_DisplayName))]
+ NotApplicable = 2,
+
+ ///
+ /// Represents the category group NGO (Not assessed) for an assessment section.
+ ///
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.AssessmentSectionAssemblyCategoryGroup_NotAssessed_DisplayName))]
+ NotAssessed = 3,
+
+ ///
+ /// Represents the category group A+ for an assessment section.
+ ///
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.AssessmentSectionAssemblyCategoryGroup_APlus_DisplayName))]
+ APlus = 4,
+
+ ///
+ /// Represents the category group A+ for an assessment section.
+ ///
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.AssessmentSectionAssemblyCategoryGroup_A_DisplayName))]
+ A = 5,
+
+ ///
+ /// Represents the category group B for an assessment section.
+ ///
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.AssessmentSectionAssemblyCategoryGroup_B_DisplayName))]
+ B = 6,
+
+ ///
+ /// Represents the category group C for an assessment section.
+ ///
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.AssessmentSectionAssemblyCategoryGroup_C_DisplayName))]
+ C = 7,
+
+ ///
+ /// Represents the category group D for an assessment section.
+ ///
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.AssessmentSectionAssemblyCategoryGroup_D_DisplayName))]
+ D = 8
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/CombinedAssemblyFailureMechanismSection.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/CombinedAssemblyFailureMechanismSection.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/CombinedAssemblyFailureMechanismSection.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,59 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+namespace Riskeer.AssemblyTool.Data
+{
+ ///
+ /// The failure mechanism section of a combined assembly.
+ ///
+ public class CombinedAssemblyFailureMechanismSection
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The start of the section from the beginning of the reference line in meters.
+ /// The end of the section from the beginning of the reference line in meters.
+ /// The category group assembly.
+ public CombinedAssemblyFailureMechanismSection(double sectionStart, double sectionEnd, FailureMechanismSectionAssemblyCategoryGroup categoryGroup)
+ {
+ SectionStart = sectionStart;
+ SectionEnd = sectionEnd;
+ CategoryGroup = categoryGroup;
+ }
+
+ ///
+ /// Gets the start of the section from the beginning of the reference line.
+ /// [m]
+ ///
+ public double SectionStart { get; }
+
+ ///
+ /// Gets the end of the section from the beginning of the reference line.
+ /// [m]
+ ///
+ public double SectionEnd { get; }
+
+ ///
+ /// Gets the category group assembly.
+ ///
+ public FailureMechanismSectionAssemblyCategoryGroup CategoryGroup { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/CombinedFailureMechanismSectionAssembly.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/CombinedFailureMechanismSectionAssembly.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/CombinedFailureMechanismSectionAssembly.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,65 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+
+namespace Riskeer.AssemblyTool.Data
+{
+ ///
+ /// Assembly for the combined failure mechanism section.
+ ///
+ public class CombinedFailureMechanismSectionAssembly
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The section of the assembly.
+ /// The assembly results per failure mechanism.
+ /// Thrown when any parameter is null.
+ public CombinedFailureMechanismSectionAssembly(CombinedAssemblyFailureMechanismSection section,
+ IEnumerable failureMechanismResults)
+ {
+ if (section == null)
+ {
+ throw new ArgumentNullException(nameof(section));
+ }
+
+ if (failureMechanismResults == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanismResults));
+ }
+
+ Section = section;
+ FailureMechanismResults = failureMechanismResults;
+ }
+
+ ///
+ /// Gets the section of the assembly.
+ ///
+ public CombinedAssemblyFailureMechanismSection Section { get; }
+
+ ///
+ /// Gets the assembly results per failure mechanism.
+ ///
+ public IEnumerable FailureMechanismResults { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/FailureMechanismAssembly.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/FailureMechanismAssembly.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/FailureMechanismAssembly.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,50 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+namespace Riskeer.AssemblyTool.Data
+{
+ ///
+ /// Assembly for a failure mechanism.
+ ///
+ public class FailureMechanismAssembly
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The probability of the assembly.
+ /// The group of the assembly.
+ public FailureMechanismAssembly(double probability, FailureMechanismAssemblyCategoryGroup group)
+ {
+ Probability = probability;
+ Group = group;
+ }
+
+ ///
+ /// Gets the probability of the assembly.
+ ///
+ public double Probability { get; }
+
+ ///
+ /// Gets the group of the assembly.
+ ///
+ public FailureMechanismAssemblyCategoryGroup Group { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/FailureMechanismAssemblyCategory.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/FailureMechanismAssemblyCategory.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/FailureMechanismAssemblyCategory.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,46 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+namespace Riskeer.AssemblyTool.Data
+{
+ ///
+ /// Assembly category for a failure mechanism.
+ ///
+ public class FailureMechanismAssemblyCategory : AssemblyCategory
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The lower boundary of the category.
+ /// The upper boundary of the category.
+ /// The group of the category.
+ public FailureMechanismAssemblyCategory(double lowerBoundary, double upperBoundary, FailureMechanismAssemblyCategoryGroup group)
+ : base(lowerBoundary, upperBoundary)
+ {
+ Group = group;
+ }
+
+ ///
+ /// Gets the group of the assembly category.
+ ///
+ public FailureMechanismAssemblyCategoryGroup Group { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/FailureMechanismAssemblyCategoryGroup.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/FailureMechanismAssemblyCategoryGroup.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/FailureMechanismAssemblyCategoryGroup.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,86 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using Core.Common.Util.Attributes;
+using Riskeer.AssemblyTool.Data.Properties;
+
+namespace Riskeer.AssemblyTool.Data
+{
+ ///
+ /// Enum defining the assembly categories for a failure mechanism.
+ ///
+ public enum FailureMechanismAssemblyCategoryGroup
+ {
+ ///
+ /// Represents the assembly category GR (No result) for a failure mechanism.
+ ///
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.FailureMechanismAssemblyCategoryGroup_None_DisplayName))]
+ None = 1,
+
+ ///
+ /// Represents the assembly category NVT (Not applicable) for a failure mechanism.
+ ///
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.FailureMechanismAssemblyCategoryGroup_NotApplicable_DisplayName))]
+ NotApplicable = 2,
+
+ ///
+ /// Represents the assembly category It for a failure mechanism.
+ ///
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.FailureMechanismAssemblyCategoryGroup_It_DisplayName))]
+ It = 3,
+
+ ///
+ /// Represents the assembly category IIt for a failure mechanism.
+ ///
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.FailureMechanismAssemblyCategoryGroup_IIt_DisplayName))]
+ IIt = 4,
+
+ ///
+ /// Represents the assembly category IIIt for a failure mechanism.
+ ///
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.FailureMechanismAssemblyCategoryGroup_IIIt_DisplayName))]
+ IIIt = 5,
+
+ ///
+ /// Represents the assembly category IVt for a failure mechanism.
+ ///
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.FailureMechanismAssemblyCategoryGroup_IVt_DisplayName))]
+ IVt = 6,
+
+ ///
+ /// Represents the assembly category Vt for a failure mechanism.
+ ///
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.FailureMechanismAssemblyCategoryGroup_Vt_DisplayName))]
+ Vt = 7,
+
+ ///
+ /// Represents the assembly category VIt for a failure mechanism.
+ ///
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.FailureMechanismAssemblyCategoryGroup_VIt_DisplayName))]
+ VIt = 8,
+
+ ///
+ /// Represents the assembly category VIIt for a failure mechanism.
+ ///
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.FailureMechanismAssemblyCategoryGroup_VIIt_DisplayName))]
+ VIIt = 9
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/FailureMechanismSectionAssembly.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/FailureMechanismSectionAssembly.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/FailureMechanismSectionAssembly.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,50 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+namespace Riskeer.AssemblyTool.Data
+{
+ ///
+ /// Assembly for failure mechanism section.
+ ///
+ public class FailureMechanismSectionAssembly
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The probability of the assembly.
+ /// The group of the assembly.
+ public FailureMechanismSectionAssembly(double probability, FailureMechanismSectionAssemblyCategoryGroup group)
+ {
+ Probability = probability;
+ Group = group;
+ }
+
+ ///
+ /// Gets the probability of the assembly.
+ ///
+ public double Probability { get; }
+
+ ///
+ /// Gets the group of the assembly.
+ ///
+ public FailureMechanismSectionAssemblyCategoryGroup Group { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/FailureMechanismSectionAssemblyCategory.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/FailureMechanismSectionAssemblyCategory.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/FailureMechanismSectionAssemblyCategory.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,46 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+namespace Riskeer.AssemblyTool.Data
+{
+ ///
+ /// Assembly category for failure mechanism section.
+ ///
+ public class FailureMechanismSectionAssemblyCategory : AssemblyCategory
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The lower boundary of the category.
+ /// The upper boundary of the category.
+ /// The group of the category.
+ public FailureMechanismSectionAssemblyCategory(double lowerBoundary, double upperBoundary, FailureMechanismSectionAssemblyCategoryGroup group)
+ : base(lowerBoundary, upperBoundary)
+ {
+ Group = group;
+ }
+
+ ///
+ /// Gets the group of the assembly category.
+ ///
+ public FailureMechanismSectionAssemblyCategoryGroup Group { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/FailureMechanismSectionAssemblyCategoryGroup.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/FailureMechanismSectionAssemblyCategoryGroup.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/FailureMechanismSectionAssemblyCategoryGroup.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,74 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+namespace Riskeer.AssemblyTool.Data
+{
+ ///
+ /// Enum defining the assembly categories for a failure mechanism section.
+ ///
+ public enum FailureMechanismSectionAssemblyCategoryGroup
+ {
+ ///
+ /// Represents the assembly category GR (No result) for a failure mechanism section.
+ ///
+ None = 1,
+
+ ///
+ /// Represents the assembly category NVT (Not applicable) for a failure mechanism section.
+ ///
+ NotApplicable = 2,
+
+ ///
+ /// Represents the assembly category Iv for a failure mechanism section.
+ ///
+ Iv = 3,
+
+ ///
+ /// Represents the assembly category IIv for a failure mechanism section.
+ ///
+ IIv = 4,
+
+ ///
+ /// Represents the assembly category IIIv for a failure mechanism section.
+ ///
+ IIIv = 5,
+
+ ///
+ /// Represents the assembly category IVv for a failure mechanism section.
+ ///
+ IVv = 6,
+
+ ///
+ /// Represents the assembly category Vv for a failure mechanism section.
+ ///
+ Vv = 7,
+
+ ///
+ /// Represents the assembly category VIv for a failure mechanism section.
+ ///
+ VIv = 8,
+
+ ///
+ /// Represents the assembly category VIIv for a failure mechanism section.
+ ///
+ VIIv = 9
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/Properties/AssemblyInfo.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/Properties/AssemblyInfo.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/Properties/AssemblyInfo.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,25 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Reflection;
+
+[assembly: AssemblyTitle("Riskeer.AssemblyTool.Data")]
+[assembly: AssemblyProduct("Riskeer.AssemblyTool.Data")]
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/Properties/Resources.Designer.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/Properties/Resources.Designer.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/Properties/Resources.Designer.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,237 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Riskeer.AssemblyTool.Data.Properties {
+ using System;
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Riskeer.AssemblyTool.Data.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to A.
+ ///
+ internal static string AssessmentSectionAssemblyCategoryGroup_A_DisplayName {
+ get {
+ return ResourceManager.GetString("AssessmentSectionAssemblyCategoryGroup_A_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to A+.
+ ///
+ internal static string AssessmentSectionAssemblyCategoryGroup_APlus_DisplayName {
+ get {
+ return ResourceManager.GetString("AssessmentSectionAssemblyCategoryGroup_APlus_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to B.
+ ///
+ internal static string AssessmentSectionAssemblyCategoryGroup_B_DisplayName {
+ get {
+ return ResourceManager.GetString("AssessmentSectionAssemblyCategoryGroup_B_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to C.
+ ///
+ internal static string AssessmentSectionAssemblyCategoryGroup_C_DisplayName {
+ get {
+ return ResourceManager.GetString("AssessmentSectionAssemblyCategoryGroup_C_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to D.
+ ///
+ internal static string AssessmentSectionAssemblyCategoryGroup_D_DisplayName {
+ get {
+ return ResourceManager.GetString("AssessmentSectionAssemblyCategoryGroup_D_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to -.
+ ///
+ internal static string AssessmentSectionAssemblyCategoryGroup_Empty_DisplayName {
+ get {
+ return ResourceManager.GetString("AssessmentSectionAssemblyCategoryGroup_Empty_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to .
+ ///
+ internal static string AssessmentSectionAssemblyCategoryGroup_None_DisplayName {
+ get {
+ return ResourceManager.GetString("AssessmentSectionAssemblyCategoryGroup_None_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to NGO.
+ ///
+ internal static string AssessmentSectionAssemblyCategoryGroup_NotAssessed_DisplayName {
+ get {
+ return ResourceManager.GetString("AssessmentSectionAssemblyCategoryGroup_NotAssessed_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to IIIt.
+ ///
+ internal static string FailureMechanismAssemblyCategoryGroup_IIIt_DisplayName {
+ get {
+ return ResourceManager.GetString("FailureMechanismAssemblyCategoryGroup_IIIt_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to IIt.
+ ///
+ internal static string FailureMechanismAssemblyCategoryGroup_IIt_DisplayName {
+ get {
+ return ResourceManager.GetString("FailureMechanismAssemblyCategoryGroup_IIt_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to It.
+ ///
+ internal static string FailureMechanismAssemblyCategoryGroup_It_DisplayName {
+ get {
+ return ResourceManager.GetString("FailureMechanismAssemblyCategoryGroup_It_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to IVt.
+ ///
+ internal static string FailureMechanismAssemblyCategoryGroup_IVt_DisplayName {
+ get {
+ return ResourceManager.GetString("FailureMechanismAssemblyCategoryGroup_IVt_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to .
+ ///
+ internal static string FailureMechanismAssemblyCategoryGroup_None_DisplayName {
+ get {
+ return ResourceManager.GetString("FailureMechanismAssemblyCategoryGroup_None_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to -.
+ ///
+ internal static string FailureMechanismAssemblyCategoryGroup_NotApplicable_DisplayName {
+ get {
+ return ResourceManager.GetString("FailureMechanismAssemblyCategoryGroup_NotApplicable_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to VIIt.
+ ///
+ internal static string FailureMechanismAssemblyCategoryGroup_VIIt_DisplayName {
+ get {
+ return ResourceManager.GetString("FailureMechanismAssemblyCategoryGroup_VIIt_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to VIt.
+ ///
+ internal static string FailureMechanismAssemblyCategoryGroup_VIt_DisplayName {
+ get {
+ return ResourceManager.GetString("FailureMechanismAssemblyCategoryGroup_VIt_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Vt.
+ ///
+ internal static string FailureMechanismAssemblyCategoryGroup_Vt_DisplayName {
+ get {
+ return ResourceManager.GetString("FailureMechanismAssemblyCategoryGroup_Vt_DisplayName", resourceCulture);
+ }
+ }
+ }
+}
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/Properties/Resources.resx
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/Properties/Resources.resx (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/Properties/Resources.resx (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,171 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ A+
+
+
+ A
+
+
+ B
+
+
+ C
+
+
+ D
+
+
+ -
+
+
+ NGO
+
+
+
+
+
+ IIIt
+
+
+ IIt
+
+
+ It
+
+
+ IVt
+
+
+
+
+
+ -
+
+
+ VIIt
+
+
+ VIt
+
+
+ Vt
+
+
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/Riskeer.AssemblyTool.Data.csproj
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/Riskeer.AssemblyTool.Data.csproj (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Data/Riskeer.AssemblyTool.Data.csproj (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,51 @@
+
+
+
+ {420ED9C3-0C33-47EA-B893-121A9C0DB4F1}
+ Riskeer.AssemblyTool.Data
+ Riskeer.AssemblyTool.Data
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Resources.resx
+ True
+ True
+
+
+
+
+ Copying.licenseheader
+
+
+
+
+ {F49BD8B2-332A-4C91-A196-8CCE0A2C7D98}
+ Core.Common.Util
+ False
+
+
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/DisplayFailureMechanismSectionAssemblyCategoryGroup.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/DisplayFailureMechanismSectionAssemblyCategoryGroup.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/DisplayFailureMechanismSectionAssemblyCategoryGroup.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,60 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using Core.Common.Util.Attributes;
+using Riskeer.AssemblyTool.Forms.Properties;
+using RingtoetsCommonPrimitivesResources = Ringtoets.Common.Primitives.Properties.Resources;
+
+namespace Riskeer.AssemblyTool.Forms
+{
+ ///
+ /// Enum defining the assembly categories to display for a failure mechanism section.
+ ///
+ public enum DisplayFailureMechanismSectionAssemblyCategoryGroup
+ {
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.DisplayFailureMechanismSectionAssemblyCategoryGroup_None_DisplayName))]
+ None = 1,
+
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.DisplayFailureMechanismSectionAssemblyCategoryGroup_NotApplicable_DisplayName))]
+ NotApplicable = 2,
+
+ [ResourcesDisplayName(typeof(RingtoetsCommonPrimitivesResources), nameof(RingtoetsCommonPrimitivesResources.FailureMechanismSectionAssemblyCategoryGroup_Iv_DisplayName))]
+ Iv = 3,
+
+ [ResourcesDisplayName(typeof(RingtoetsCommonPrimitivesResources), nameof(RingtoetsCommonPrimitivesResources.FailureMechanismSectionAssemblyCategoryGroup_IIv_DisplayName))]
+ IIv = 4,
+
+ [ResourcesDisplayName(typeof(RingtoetsCommonPrimitivesResources), nameof(RingtoetsCommonPrimitivesResources.FailureMechanismSectionAssemblyCategoryGroup_IIIv_DisplayName))]
+ IIIv = 5,
+
+ [ResourcesDisplayName(typeof(RingtoetsCommonPrimitivesResources), nameof(RingtoetsCommonPrimitivesResources.FailureMechanismSectionAssemblyCategoryGroup_IVv_DisplayName))]
+ IVv = 6,
+
+ [ResourcesDisplayName(typeof(RingtoetsCommonPrimitivesResources), nameof(RingtoetsCommonPrimitivesResources.FailureMechanismSectionAssemblyCategoryGroup_Vv_DisplayName))]
+ Vv = 7,
+
+ [ResourcesDisplayName(typeof(RingtoetsCommonPrimitivesResources), nameof(RingtoetsCommonPrimitivesResources.FailureMechanismSectionAssemblyCategoryGroup_VIv_DisplayName))]
+ VIv = 8,
+
+ [ResourcesDisplayName(typeof(RingtoetsCommonPrimitivesResources), nameof(RingtoetsCommonPrimitivesResources.FailureMechanismSectionAssemblyCategoryGroup_VIIv_DisplayName))]
+ VIIv = 9
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/DisplayFailureMechanismSectionAssemblyCategoryGroupConverter.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/DisplayFailureMechanismSectionAssemblyCategoryGroupConverter.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/DisplayFailureMechanismSectionAssemblyCategoryGroupConverter.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,78 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.ComponentModel;
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.AssemblyTool.Forms
+{
+ ///
+ /// Converter to convert
+ /// into .
+ ///
+ public static class DisplayFailureMechanismSectionAssemblyCategoryGroupConverter
+ {
+ ///
+ /// Converts into
+ /// .
+ ///
+ /// The group to convert.
+ /// The converted .
+ /// Thrown when
+ /// is an invalid value.
+ /// Thrown when
+ /// is a valid value, but unsupported.
+ public static DisplayFailureMechanismSectionAssemblyCategoryGroup Convert(FailureMechanismSectionAssemblyCategoryGroup categoryGroup)
+ {
+ if (!Enum.IsDefined(typeof(FailureMechanismSectionAssemblyCategoryGroup), categoryGroup))
+ {
+ throw new InvalidEnumArgumentException(nameof(categoryGroup),
+ (int) categoryGroup,
+ typeof(FailureMechanismSectionAssemblyCategoryGroup));
+ }
+
+ switch (categoryGroup)
+ {
+ case FailureMechanismSectionAssemblyCategoryGroup.None:
+ return DisplayFailureMechanismSectionAssemblyCategoryGroup.None;
+ case FailureMechanismSectionAssemblyCategoryGroup.NotApplicable:
+ return DisplayFailureMechanismSectionAssemblyCategoryGroup.NotApplicable;
+ case FailureMechanismSectionAssemblyCategoryGroup.Iv:
+ return DisplayFailureMechanismSectionAssemblyCategoryGroup.Iv;
+ case FailureMechanismSectionAssemblyCategoryGroup.IIv:
+ return DisplayFailureMechanismSectionAssemblyCategoryGroup.IIv;
+ case FailureMechanismSectionAssemblyCategoryGroup.IIIv:
+ return DisplayFailureMechanismSectionAssemblyCategoryGroup.IIIv;
+ case FailureMechanismSectionAssemblyCategoryGroup.IVv:
+ return DisplayFailureMechanismSectionAssemblyCategoryGroup.IVv;
+ case FailureMechanismSectionAssemblyCategoryGroup.Vv:
+ return DisplayFailureMechanismSectionAssemblyCategoryGroup.Vv;
+ case FailureMechanismSectionAssemblyCategoryGroup.VIv:
+ return DisplayFailureMechanismSectionAssemblyCategoryGroup.VIv;
+ case FailureMechanismSectionAssemblyCategoryGroup.VIIv:
+ return DisplayFailureMechanismSectionAssemblyCategoryGroup.VIIv;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/Properties/AssemblyInfo.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/Properties/AssemblyInfo.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/Properties/AssemblyInfo.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,25 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Reflection;
+
+[assembly: AssemblyTitle("Riskeer.AssemblyTool.Forms")]
+[assembly: AssemblyProduct("Riskeer.AssemblyTool.Forms")]
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/Properties/Resources.Designer.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/Properties/Resources.Designer.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/Properties/Resources.Designer.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,102 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Riskeer.AssemblyTool.Forms.Properties {
+ using System;
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Riskeer.AssemblyTool.Forms.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to .
+ ///
+ internal static string DisplayFailureMechanismSectionAssemblyCategoryGroup_None_DisplayName {
+ get {
+ return ResourceManager.GetString("DisplayFailureMechanismSectionAssemblyCategoryGroup_None_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to -.
+ ///
+ internal static string DisplayFailureMechanismSectionAssemblyCategoryGroup_NotApplicable_DisplayName {
+ get {
+ return ResourceManager.GetString("DisplayFailureMechanismSectionAssemblyCategoryGroup_NotApplicable_DisplayName", resourceCulture);
+ }
+ }
+ }
+}
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/Properties/Resources.resx
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/Properties/Resources.resx (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/Properties/Resources.resx (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+
+ -
+
+
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/Riskeer.AssemblyTool.Forms.csproj
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/Riskeer.AssemblyTool.Forms.csproj (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/Riskeer.AssemblyTool.Forms.csproj (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,53 @@
+
+
+
+ {22C5DDB8-2491-4BC6-BDC6-2A7B7EBF40C1}
+ Riskeer.AssemblyTool.Forms
+ Riskeer.AssemblyTool.Forms
+
+
+
+
+
+
+
+
+
+
+
+ True
+ True
+ Resources.resx
+
+
+
+
+
+
+ Copying.licenseheader
+
+
+
+
+ {F49BD8B2-332A-4C91-A196-8CCE0A2C7D98}
+ Core.Common.Util
+ False
+
+
+ {78aa56f5-431d-465c-ac50-3173d7e90ac1}
+ Ringtoets.Common.Primitives
+ False
+
+
+ {420ED9C3-0C33-47EA-B893-121A9C0DB4F1}
+ Riskeer.AssemblyTool.Data
+ False
+
+
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/SelectableFailureMechanismSectionAssemblyCategoryGroup.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/SelectableFailureMechanismSectionAssemblyCategoryGroup.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/SelectableFailureMechanismSectionAssemblyCategoryGroup.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,59 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using Core.Common.Util.Attributes;
+using RingtoetsCommonPrimitivesResources = Ringtoets.Common.Primitives.Properties.Resources;
+
+namespace Riskeer.AssemblyTool.Forms
+{
+ ///
+ /// Enum defining the assembly categories that can be selected for a failure mechanism section.
+ ///
+ public enum SelectableFailureMechanismSectionAssemblyCategoryGroup
+ {
+ [ResourcesDisplayName(typeof(RingtoetsCommonPrimitivesResources), nameof(RingtoetsCommonPrimitivesResources.FailureMechanismSectionAssemblyCategoryGroup_None_DisplayName))]
+ None = 1,
+
+ [ResourcesDisplayName(typeof(RingtoetsCommonPrimitivesResources), nameof(RingtoetsCommonPrimitivesResources.FailureMechanismSectionAssemblyCategoryGroup_NotApplicable_DisplayName))]
+ NotApplicable = 2,
+
+ [ResourcesDisplayName(typeof(RingtoetsCommonPrimitivesResources), nameof(RingtoetsCommonPrimitivesResources.FailureMechanismSectionAssemblyCategoryGroup_Iv_DisplayName))]
+ Iv = 3,
+
+ [ResourcesDisplayName(typeof(RingtoetsCommonPrimitivesResources), nameof(RingtoetsCommonPrimitivesResources.FailureMechanismSectionAssemblyCategoryGroup_IIv_DisplayName))]
+ IIv = 4,
+
+ [ResourcesDisplayName(typeof(RingtoetsCommonPrimitivesResources), nameof(RingtoetsCommonPrimitivesResources.FailureMechanismSectionAssemblyCategoryGroup_IIIv_DisplayName))]
+ IIIv = 5,
+
+ [ResourcesDisplayName(typeof(RingtoetsCommonPrimitivesResources), nameof(RingtoetsCommonPrimitivesResources.FailureMechanismSectionAssemblyCategoryGroup_IVv_DisplayName))]
+ IVv = 6,
+
+ [ResourcesDisplayName(typeof(RingtoetsCommonPrimitivesResources), nameof(RingtoetsCommonPrimitivesResources.FailureMechanismSectionAssemblyCategoryGroup_Vv_DisplayName))]
+ Vv = 7,
+
+ [ResourcesDisplayName(typeof(RingtoetsCommonPrimitivesResources), nameof(RingtoetsCommonPrimitivesResources.FailureMechanismSectionAssemblyCategoryGroup_VIv_DisplayName))]
+ VIv = 8,
+
+ [ResourcesDisplayName(typeof(RingtoetsCommonPrimitivesResources), nameof(RingtoetsCommonPrimitivesResources.FailureMechanismSectionAssemblyCategoryGroup_VIIv_DisplayName))]
+ VIIv = 9
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/SelectableFailureMechanismSectionAssemblyCategoryGroupConverter.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/SelectableFailureMechanismSectionAssemblyCategoryGroupConverter.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.Forms/SelectableFailureMechanismSectionAssemblyCategoryGroupConverter.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,121 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.ComponentModel;
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.AssemblyTool.Forms
+{
+ ///
+ /// Converter to convert into and from .
+ ///
+ public static class SelectableFailureMechanismSectionAssemblyCategoryGroupConverter
+ {
+ ///
+ /// Converts into
+ /// .
+ ///
+ /// The group to convert.
+ /// The converted .
+ /// Thrown when
+ /// is an invalid value.
+ /// Thrown when
+ /// is a valid value, but unsupported.
+ public static SelectableFailureMechanismSectionAssemblyCategoryGroup ConvertTo(FailureMechanismSectionAssemblyCategoryGroup categoryGroup)
+ {
+ if (!Enum.IsDefined(typeof(FailureMechanismSectionAssemblyCategoryGroup), categoryGroup))
+ {
+ throw new InvalidEnumArgumentException(nameof(categoryGroup),
+ (int) categoryGroup,
+ typeof(FailureMechanismSectionAssemblyCategoryGroup));
+ }
+
+ switch (categoryGroup)
+ {
+ case FailureMechanismSectionAssemblyCategoryGroup.None:
+ return SelectableFailureMechanismSectionAssemblyCategoryGroup.None;
+ case FailureMechanismSectionAssemblyCategoryGroup.NotApplicable:
+ return SelectableFailureMechanismSectionAssemblyCategoryGroup.NotApplicable;
+ case FailureMechanismSectionAssemblyCategoryGroup.Iv:
+ return SelectableFailureMechanismSectionAssemblyCategoryGroup.Iv;
+ case FailureMechanismSectionAssemblyCategoryGroup.IIv:
+ return SelectableFailureMechanismSectionAssemblyCategoryGroup.IIv;
+ case FailureMechanismSectionAssemblyCategoryGroup.IIIv:
+ return SelectableFailureMechanismSectionAssemblyCategoryGroup.IIIv;
+ case FailureMechanismSectionAssemblyCategoryGroup.IVv:
+ return SelectableFailureMechanismSectionAssemblyCategoryGroup.IVv;
+ case FailureMechanismSectionAssemblyCategoryGroup.Vv:
+ return SelectableFailureMechanismSectionAssemblyCategoryGroup.Vv;
+ case FailureMechanismSectionAssemblyCategoryGroup.VIv:
+ return SelectableFailureMechanismSectionAssemblyCategoryGroup.VIv;
+ case FailureMechanismSectionAssemblyCategoryGroup.VIIv:
+ return SelectableFailureMechanismSectionAssemblyCategoryGroup.VIIv;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+
+ ///
+ /// Converts into
+ /// .
+ ///
+ /// The group to convert.
+ /// The converted .
+ /// Thrown when
+ /// is an invalid value.
+ /// Thrown when
+ /// is a valid value, but unsupported.
+ public static FailureMechanismSectionAssemblyCategoryGroup ConvertFrom(SelectableFailureMechanismSectionAssemblyCategoryGroup categoryGroup)
+ {
+ if (!Enum.IsDefined(typeof(SelectableFailureMechanismSectionAssemblyCategoryGroup), categoryGroup))
+ {
+ throw new InvalidEnumArgumentException(nameof(categoryGroup),
+ (int) categoryGroup,
+ typeof(SelectableFailureMechanismSectionAssemblyCategoryGroup));
+ }
+
+ switch (categoryGroup)
+ {
+ case SelectableFailureMechanismSectionAssemblyCategoryGroup.None:
+ return FailureMechanismSectionAssemblyCategoryGroup.None;
+ case SelectableFailureMechanismSectionAssemblyCategoryGroup.NotApplicable:
+ return FailureMechanismSectionAssemblyCategoryGroup.NotApplicable;
+ case SelectableFailureMechanismSectionAssemblyCategoryGroup.Iv:
+ return FailureMechanismSectionAssemblyCategoryGroup.Iv;
+ case SelectableFailureMechanismSectionAssemblyCategoryGroup.IIv:
+ return FailureMechanismSectionAssemblyCategoryGroup.IIv;
+ case SelectableFailureMechanismSectionAssemblyCategoryGroup.IIIv:
+ return FailureMechanismSectionAssemblyCategoryGroup.IIIv;
+ case SelectableFailureMechanismSectionAssemblyCategoryGroup.IVv:
+ return FailureMechanismSectionAssemblyCategoryGroup.IVv;
+ case SelectableFailureMechanismSectionAssemblyCategoryGroup.Vv:
+ return FailureMechanismSectionAssemblyCategoryGroup.Vv;
+ case SelectableFailureMechanismSectionAssemblyCategoryGroup.VIv:
+ return FailureMechanismSectionAssemblyCategoryGroup.VIv;
+ case SelectableFailureMechanismSectionAssemblyCategoryGroup.VIIv:
+ return FailureMechanismSectionAssemblyCategoryGroup.VIIv;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/AssemblyXmlIdentifiers.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/AssemblyXmlIdentifiers.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/AssemblyXmlIdentifiers.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,345 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+namespace Riskeer.AssemblyTool.IO.Model
+{
+ ///
+ /// Class containing definitions for XML identifiers and namespaces for
+ /// the serializable assembly model.
+ ///
+ public static class AssemblyXmlIdentifiers
+ {
+ ///
+ /// Identifier for an assembly element.
+ ///
+ public const string Assembly = "Assemblage";
+
+ ///
+ /// Identifier for an assembly element.
+ ///
+ public const string AssemblyMethod = "assemblagemethode";
+
+ ///
+ /// Identifier for an assembly result without probability element.
+ ///
+ public const string AssemblyResultWithoutProbability = "toetsoordeelZonderKansschatting";
+
+ ///
+ /// Identifier for an assembly result with probability element.
+ ///
+ public const string AssemblyResultWithProbability = "toetsoordeelMetKansschatting";
+
+ ///
+ /// The XML namespace for assembly objects.
+ ///
+ public const string AssemblyNamespace = "http://localhost/standaarden/assemblage";
+
+ ///
+ /// The XML namespace identifier for assembly objects.
+ ///
+ public const string AssemblyNamespaceIdentifier = "asm";
+
+ ///
+ /// Identifier for an assessment type element.
+ ///
+ public const string AssessmentType = "toets";
+
+ ///
+ /// Identifier for an assessment process element.
+ ///
+ public const string AssessmentProcess = "Beoordelingsproces";
+
+ ///
+ /// Identifier for an assessment process ID attribute.
+ ///
+ public const string AssessmentProcessId = "BeoordelingsprocesID";
+
+ ///
+ /// Identifier for an assessment process ID attribute.
+ ///
+ public const string AssessmentProcessIdRef = "BeoordelingsprocesIDRef";
+
+ ///
+ /// Identifier for an assessment section category group element.
+ ///
+ public const string AssessmentSectionAssemblyResult = "veiligheidsoordeel";
+
+ ///
+ /// Identifier for an assessment section category group element.
+ ///
+ public const string AssessmentSectionCategoryGroup = "categorie";
+
+ ///
+ /// Identifier for an assessment section ID reference attribute.
+ ///
+ public const string AssessmentSectionIdRef = "WaterkeringstelselIDRef";
+
+ ///
+ /// Identifier for an assessment section type element.
+ ///
+ public const string AssessmentSectionType = "typeWaterkeringstelsel";
+
+ ///
+ /// Identifier for an assessment section element.
+ ///
+ public const string AssessmentSection = "Waterkeringstelsel";
+
+ ///
+ /// Identifier for a bounded by element.
+ ///
+ public const string BoundedBy = "boundedBy";
+
+ ///
+ /// Identifier for a combined failure mechanism section assembly element.
+ ///
+ public const string CombinedFailureMechanismSectionAssembly = "GecombineerdToetsoordeel";
+
+ ///
+ /// Identifier for a combined failure mechanism section assembly ID attribute.
+ ///
+ public const string CombinedFailureMechanismSectionAssemblyId = "GecombineerdToetsoordeelID";
+
+ ///
+ /// Identifier for a combined section result element.
+ ///
+ public const string CombinedCombinedSectionResult = "toetsoordeelGecombineerd";
+
+ ///
+ /// Identifier for a combined section result element.
+ ///
+ public const string CombinedSectionResult = "eindtoetsoordeel";
+
+ ///
+ /// Identifier for a combined section failure mechanism result element.
+ ///
+ public const string CombinedSectionFailureMechanismResult = "eindtoetsoordeelToetsspoor";
+
+ ///
+ /// Identifier for a coordinate system type attribute.
+ ///
+ public const string CoordinateSystem = "srsName";
+
+ ///
+ /// Identifier for a direct failure mechanism element.
+ ///
+ public const string DirectFailureMechanism = "typeFaalmechanisme";
+
+ ///
+ /// Identifier for an end distance element.
+ ///
+ public const string EndDistance = "afstandEinde";
+
+ ///
+ /// Identifier for an end year element.
+ ///
+ public const string EndYear = "eindJaarBeoordelingsronde";
+
+ ///
+ /// Identifier for an Envelope element.
+ ///
+ public const string Envelope = "Envelope";
+
+ ///
+ /// Identifier for a failure mechanism element.
+ ///
+ public const string FailureMechanism = "Toetsspoor";
+
+ ///
+ /// Identifier for a failure mechanism category group element.
+ ///
+ public const string FailureMechanismCategoryGroup = "categorieTraject";
+
+ ///
+ /// Identifier for a failure mechanism assembly result element.
+ ///
+ public const string FailureMechanismAssemblyResult = "toetsoordeel";
+
+ ///
+ /// Identifier for a failure mechanism group element.
+ ///
+ public const string FailureMechanismGroup = "toetsspoorGroep";
+
+ ///
+ /// Identifier for a failure mechanism ID attribute.
+ ///
+ public const string FailureMechanismId = "ToetsspoorID";
+
+ ///
+ /// Identifier for a failure mechanism ID reference attribute.
+ ///
+ public const string FailureMechanismIdRef = "ToetsspoorIDRef";
+
+ ///
+ /// Identifier for a failure mechanism section element.
+ ///
+ public const string FailureMechanismSection = "ToetsVak";
+
+ ///
+ /// Identifier for a failure mechanism section ID reference attribute.
+ ///
+ public const string FailureMechanismSectionIdRef = "WaterkeringsectieIDRef";
+
+ ///
+ /// Identifier for a failure mechanism section assembly element.
+ ///
+ public const string FailureMechanismSectionAssembly = "Toets";
+
+ ///
+ /// Identifier for a failure mechanism section assembly element.
+ ///
+ public const string FailureMechanismSectionAssemblyId = "ToetsID";
+
+ ///
+ /// Identifier for a failure mechanism section category group element.
+ ///
+ public const string FailureMechanismSectionCategoryGroup = "categorieVak";
+
+ ///
+ /// Identifier for a failure mechanism section collection element.
+ ///
+ public const string FailureMechanismSectionCollection = "Vakindeling";
+
+ ///
+ /// Identifier for a failure mechanism section collection ID attribute.
+ ///
+ public const string FailureMechanismSectionCollectionId = "VakindelingID";
+
+ ///
+ /// Identifier for a failure mechanism section collection ID reference attribute.
+ ///
+ public const string FailureMechanismSectionCollectionIdRef = "VakindelingIDRef";
+
+ ///
+ /// Identifier for a failure mechanism section type element.
+ ///
+ public const string FailureMechanismSectionType = "typeWaterkeringsectie";
+
+ ///
+ /// Identifier for a failure mechanism group element.
+ ///
+ public const string FailureMechanismType = "typeToetsspoor";
+
+ ///
+ /// Identifier for a feature member element.
+ ///
+ public const string FeatureMember = "featureMember";
+
+ ///
+ /// Identifier for a GML geometry element.
+ ///
+ public const string Geometry = "posList";
+
+ ///
+ /// Identifier for a 2D geometry element.
+ ///
+ public const string Geometry2D = "geometrie2D";
+
+ ///
+ /// Identifier for a 2D line geometry element.
+ ///
+ public const string GeometryLine2D = "geometrieLijn2D";
+
+ ///
+ /// The XML namespace for GML objects.
+ ///
+ public const string GmlNamespace = "http://www.opengis.net/gml/3.2";
+
+ ///
+ /// The XML namespace identifier for GML objects.
+ ///
+ public const string GmlNamespaceIdentifier = "gml";
+
+ ///
+ /// Identifier for an ID attribute.
+ ///
+ public const string Id = "id";
+
+ ///
+ /// Identifier for a length attribute.
+ ///
+ public const string Length = "lengte";
+
+ ///
+ /// Identifier for a line string element.
+ ///
+ public const string LineString = "LineString";
+
+ ///
+ /// Identifier for a lower corner attribute.
+ ///
+ public const string LowerCorner = "lowerCorner";
+
+ ///
+ /// Identifier for a name attribute.
+ ///
+ public const string Name = "naam";
+
+ ///
+ /// Identifier for a probability element.
+ ///
+ public const string Probability = "faalkans";
+
+ ///
+ /// Identifier for section result elements.
+ ///
+ public const string SectionResults = "toetsoordeelVak";
+
+ ///
+ /// Identifier for a start distance element.
+ ///
+ public const string StartDistance = "afstandBegin";
+
+ ///
+ /// Identifier for a start year element.
+ ///
+ public const string StartYear = "beginJaarBeoordelingsronde";
+
+ ///
+ /// Identifier for a status element.
+ ///
+ public const string Status = "status";
+
+ ///
+ /// Identifier for an assessment section total assembly result element.
+ ///
+ public const string TotalAssemblyResult = "Veiligheidsoordeel";
+
+ ///
+ /// Identifier for an assessment section assembly result ID attribute.
+ ///
+ public const string TotalAssemblyResultId = "VeiligheidsoordeelID";
+
+ ///
+ /// Identifier for an assessment section assembly result ID reference attribute.
+ ///
+ public const string TotalAssemblyResultIdRef = "VeiligheidsoordeelIDRef";
+
+ ///
+ /// Identifier for a unit of measure attribute.
+ ///
+ public const string UnitOfMeasure = "uom";
+
+ ///
+ /// Identifier for an upper corner attribute.
+ ///
+ public const string UpperCorner = "upperCorner";
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/DataTypes/SerializableAssessmentSectionAssemblyResult.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/DataTypes/SerializableAssessmentSectionAssemblyResult.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/DataTypes/SerializableAssessmentSectionAssemblyResult.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,71 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Xml.Serialization;
+using Riskeer.AssemblyTool.IO.Model.Enums;
+using Riskeer.AssemblyTool.IO.Properties;
+
+namespace Riskeer.AssemblyTool.IO.Model.DataTypes
+{
+ ///
+ /// Class describing a serializable assessment section assembly result.
+ ///
+ public class SerializableAssessmentSectionAssemblyResult
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public SerializableAssessmentSectionAssemblyResult()
+ {
+ Status = Resources.FullAssembly;
+ }
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The method used to assemble this result.
+ /// The category group of this assembly result.
+ public SerializableAssessmentSectionAssemblyResult(SerializableAssemblyMethod assemblyMethod,
+ SerializableAssessmentSectionCategoryGroup categoryGroup) : this()
+ {
+ CategoryGroup = categoryGroup;
+ AssemblyMethod = assemblyMethod;
+ }
+
+ ///
+ /// Gets or sets the name of the method used to assemble this result.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.AssemblyMethod)]
+ public SerializableAssemblyMethod AssemblyMethod { get; set; }
+
+ ///
+ /// Gets or sets the category group of this assembly result.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.AssessmentSectionCategoryGroup)]
+ public SerializableAssessmentSectionCategoryGroup CategoryGroup { get; set; }
+
+ ///
+ /// Gets or sets the status of this assembly result.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.Status)]
+ public string Status { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/DataTypes/SerializableCombinedFailureMechanismSectionAssemblyResult.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/DataTypes/SerializableCombinedFailureMechanismSectionAssemblyResult.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/DataTypes/SerializableCombinedFailureMechanismSectionAssemblyResult.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,80 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Xml.Serialization;
+using Riskeer.AssemblyTool.IO.Model.Enums;
+using Riskeer.AssemblyTool.IO.Properties;
+
+namespace Riskeer.AssemblyTool.IO.Model.DataTypes
+{
+ ///
+ /// Class describing a serializable combined failure mechanism section assembly result.
+ ///
+ public class SerializableCombinedFailureMechanismSectionAssemblyResult
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public SerializableCombinedFailureMechanismSectionAssemblyResult()
+ {
+ Status = Resources.FullAssembly;
+ }
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The method used to assemble this result.
+ /// The failure mechanism type this result is assembled for.
+ /// The category group of this assembly result.
+ public SerializableCombinedFailureMechanismSectionAssemblyResult(SerializableAssemblyMethod assemblyMethod,
+ SerializableFailureMechanismType failureMechanismType,
+ SerializableFailureMechanismSectionCategoryGroup categoryGroup) : this()
+ {
+ CategoryGroup = categoryGroup;
+ AssemblyMethod = assemblyMethod;
+ FailureMechanismType = failureMechanismType;
+ }
+
+ ///
+ /// Gets or sets the name of the method used to assemble this result.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.AssemblyMethod)]
+ public SerializableAssemblyMethod AssemblyMethod { get; set; }
+
+ ///
+ /// Gets or sets the failure mechanism type of this assembly result.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.FailureMechanismType)]
+ public SerializableFailureMechanismType FailureMechanismType { get; set; }
+
+ ///
+ /// Gets or sets the category group of this assembly result.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.FailureMechanismSectionCategoryGroup)]
+ public SerializableFailureMechanismSectionCategoryGroup CategoryGroup { get; set; }
+
+ ///
+ /// Gets or sets the status of this assembly result.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.Status)]
+ public string Status { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/DataTypes/SerializableFailureMechanismAssemblyResult.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/DataTypes/SerializableFailureMechanismAssemblyResult.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/DataTypes/SerializableFailureMechanismAssemblyResult.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,89 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Xml.Serialization;
+using Riskeer.AssemblyTool.IO.Model.Enums;
+using Riskeer.AssemblyTool.IO.Properties;
+
+namespace Riskeer.AssemblyTool.IO.Model.DataTypes
+{
+ ///
+ /// Class describing a serializable failure mechanism assembly result.
+ ///
+ public class SerializableFailureMechanismAssemblyResult
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public SerializableFailureMechanismAssemblyResult()
+ {
+ Status = Resources.FullAssembly;
+ }
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The method used to assemble this result.
+ /// The category group of this assembly result.
+ /// The probability of this assembly result.
+ public SerializableFailureMechanismAssemblyResult(SerializableAssemblyMethod assemblyMethod,
+ SerializableFailureMechanismCategoryGroup categoryGroup,
+ double? probability = null) : this()
+ {
+ CategoryGroup = categoryGroup;
+ Probability = probability;
+ AssemblyMethod = assemblyMethod;
+ }
+
+ ///
+ /// Gets or sets the name of the method used to assemble this result.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.AssemblyMethod)]
+ public SerializableAssemblyMethod AssemblyMethod { get; set; }
+
+ ///
+ /// Gets or sets the category group of this assembly result.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.FailureMechanismCategoryGroup)]
+ public SerializableFailureMechanismCategoryGroup CategoryGroup { get; set; }
+
+ ///
+ /// Gets or sets the probability of this assembly result.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.Probability)]
+ public double? Probability { get; set; }
+
+ ///
+ /// Gets or sets the status of this assembly result.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.Status)]
+ public string Status { get; set; }
+
+ ///
+ /// Determines whether should be serialized.
+ ///
+ /// The indicator whether should be serialized.
+ public bool ShouldSerializeProbability()
+ {
+ return Probability.HasValue;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/DataTypes/SerializableFailureMechanismSectionAssemblyResult.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/DataTypes/SerializableFailureMechanismSectionAssemblyResult.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/DataTypes/SerializableFailureMechanismSectionAssemblyResult.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,88 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Xml.Serialization;
+using Riskeer.AssemblyTool.IO.Model.Enums;
+
+namespace Riskeer.AssemblyTool.IO.Model.DataTypes
+{
+ ///
+ /// Class describing a serializable failure mechanism section assembly result.
+ ///
+ public class SerializableFailureMechanismSectionAssemblyResult
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public SerializableFailureMechanismSectionAssemblyResult() {}
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The method used to assemble this result.
+ /// The assessment type of this assembly result.
+ /// The category group of this assembly result.
+ /// The probability of this assembly result.
+ public SerializableFailureMechanismSectionAssemblyResult(SerializableAssemblyMethod assemblyMethod,
+ SerializableAssessmentType assessmentType,
+ SerializableFailureMechanismSectionCategoryGroup categoryGroup,
+ double? probability = null) : this()
+ {
+ CategoryGroup = categoryGroup;
+ Probability = probability;
+ AssemblyMethod = assemblyMethod;
+ AssessmentType = assessmentType;
+ }
+
+ ///
+ /// Gets or sets the name of the method used to assemble this result.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.AssemblyMethod)]
+ public SerializableAssemblyMethod AssemblyMethod { get; set; }
+
+ ///
+ /// Gets or sets the assessment type of this result.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.AssessmentType)]
+ public SerializableAssessmentType AssessmentType { get; set; }
+
+ ///
+ /// Gets or sets the category group of this assembly result.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.FailureMechanismSectionCategoryGroup)]
+ public SerializableFailureMechanismSectionCategoryGroup CategoryGroup { get; set; }
+
+ ///
+ /// Gets or sets the probability of this assembly result.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.Probability)]
+ public double? Probability { get; set; }
+
+ ///
+ /// Determines whether should be serialized.
+ ///
+ /// The indicator whether should be serialized.
+ public bool ShouldSerializeProbability()
+ {
+ return Probability.HasValue;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/DataTypes/SerializableLine.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/DataTypes/SerializableLine.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/DataTypes/SerializableLine.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,63 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.Xml.Serialization;
+using Core.Common.Base.Geometry;
+using Riskeer.AssemblyTool.IO.Model.Gml;
+
+namespace Riskeer.AssemblyTool.IO.Model.DataTypes
+{
+ ///
+ /// Class that describes a serializable line.
+ ///
+ public class SerializableLine
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public SerializableLine() {}
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The geometry of the line.
+ /// Thrown when
+ /// is null.
+ /// Thrown when contains no elements.
+ public SerializableLine(IEnumerable geometry)
+ {
+ if (geometry == null)
+ {
+ throw new ArgumentNullException(nameof(geometry));
+ }
+
+ LineString = new SerializableLineString(geometry);
+ }
+
+ ///
+ /// Gets or sets the line string containing the geometry of the line.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.LineString, Namespace = AssemblyXmlIdentifiers.GmlNamespace)]
+ public SerializableLineString LineString { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/DataTypes/SerializableMeasure.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/DataTypes/SerializableMeasure.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/DataTypes/SerializableMeasure.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,63 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Xml.Serialization;
+using Riskeer.AssemblyTool.IO.Properties;
+
+namespace Riskeer.AssemblyTool.IO.Model.DataTypes
+{
+ ///
+ /// Class describing a serializable measure.
+ ///
+ public class SerializableMeasure
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public SerializableMeasure()
+ {
+ Value = double.NaN;
+ UnitOfMeasure = Resources.SerializableMeasure_Meter;
+ }
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The value of the measure in meters.
+ public SerializableMeasure(double value) : this()
+ {
+ Value = value;
+ }
+
+ ///
+ /// Gets or sets the unit of measure.
+ ///
+ [XmlAttribute(AssemblyXmlIdentifiers.UnitOfMeasure)]
+ public string UnitOfMeasure { get; set; }
+
+ ///
+ /// Gets or sets the value of the measure.
+ /// [m]
+ ///
+ [XmlText]
+ public double Value { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/AssemblyXmlEnumIdentifiers.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/AssemblyXmlEnumIdentifiers.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/AssemblyXmlEnumIdentifiers.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,422 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+namespace Riskeer.AssemblyTool.IO.Model.Enums
+{
+ ///
+ /// Class containing definitions for XML enum identifiers for
+ /// the serializable assembly model.
+ ///
+ public static class AssemblyXmlEnumIdentifiers
+ {
+ ///
+ /// Identifier for enums describing a not applicable value.
+ ///
+ public const string NotApplicable = "NVT";
+
+ #region SerializableFailureMechanismCategoryGroup
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismCategoryGroupIt = "I-traject";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismCategoryGroupIIt = "II-traject";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismCategoryGroupIIIt = "III-traject";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismCategoryGroupIVt = "IV-traject";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismCategoryGroupVt = "V-traject";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismCategoryGroupVIt = "VI-traject";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismCategoryGroupVIIt = "VII-traject";
+
+ #endregion
+
+ #region SerializableFailureMechanismSectionCategoryGroup
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismSectionCategoryGroupIv = "I-vak";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismSectionCategoryGroupIIv = "II-vak";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismSectionCategoryGroupIIIv = "III-vak";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismSectionCategoryGroupIVv = "IV-vak";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismSectionCategoryGroupVv = "V-vak";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismSectionCategoryGroupVIv = "VI-vak";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismSectionCategoryGroupVIIv = "VII-vak";
+
+ #endregion
+
+ #region SerializableAssessmentSectionCategoryGroup
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssessmentSectionCategoryGroupAPlus = "A+";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssessmentSectionCategoryGroupA = "A";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssessmentSectionCategoryGroupB = "B";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssessmentSectionCategoryGroupC = "C";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssessmentSectionCategoryGroupD = "D";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssessmentSectionCategoryGroupNotAssessed = "NGO";
+
+ #endregion
+
+ #region SerializableAssemblyMethod
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssemblyMethodWBI0E1 = "WBI-0E-1";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssemblyMethodWBI0E3 = "WBI-0E-3";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssemblyMethodWBI0G1 = "WBI-0G-1";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssemblyMethodWBI0G3 = "WBI-0G-3";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssemblyMethodWBI0G4 = "WBI-0G-4";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssemblyMethodWBI0G5 = "WBI-0G-5";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssemblyMethodWBI0G6 = "WBI-0G-6";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssemblyMethodWBI0T1 = "WBI-0T-1";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssemblyMethodWBI0T3 = "WBI-0T-3";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssemblyMethodWBI0T4 = "WBI-0T-4";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssemblyMethodWBI0T5 = "WBI-0T-5";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssemblyMethodWBI0T6 = "WBI-0T-6";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssemblyMethodWBI0T7 = "WBI-0T-7";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssemblyMethodWBI0A1 = "WBI-0A-1";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssemblyMethodWBI1A1 = "WBI-1A-1";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssemblyMethodWBI1B1 = "WBI-1B-1";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssemblyMethodWBI2A1 = "WBI-2A-1";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssemblyMethodWBI2B1 = "WBI-2B-1";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssemblyMethodWBI2C1 = "WBI-2C-1";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssemblyMethodWBI3A1 = "WBI-3A-1";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssemblyMethodWBI3B1 = "WBI-3B-1";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssemblyMethodWBI3C1 = "WBI-3C-1";
+
+ #endregion
+
+ #region SerializableFailureMechanismGroup
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismGroup1 = "GEDPROB";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismGroup2 = "GEDSPROBEX";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismGroup3 = "GEDSPROB";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismGroup4 = "GEEN";
+
+ #endregion
+
+ #region SerializableFailureMechanismType
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismTypeSTBI = "STBI";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismTypeSTBU = "STBU";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismTypeSTPH = "STPH";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismTypeSTMI = "STMI";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismTypeAGK = "AGK";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismTypeAWO = "AWO";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismTypeGEBU = "GEBU";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismTypeGABU = "GABU";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismTypeGEKB = "GEKB";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismTypeGABI = "GABI";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismTypeZST = "ZST";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismTypeDA = "DA";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismTypeHTKW = "HTKW";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismTypeBSKW = "BSKW";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismTypePKW = "PKW";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismTypeSTKWp = "STKWp";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismTypeSTKWl = "STKWl";
+
+ ///
+ /// Identifier for
+ ///
+ public const string SerializableFailureMechanismTypeINN = "INN";
+
+ #endregion
+
+ #region SerializableAssessmentType
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssessmentTypeSimpleAssessment = "EENVDGETS";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssessmentTypeDetailedAssessment = "GEDTETS";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssessmentTypeTailorMadeAssessment = "TOETSOPMT";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssessmentTypeCombinedAssessment = "GECBNTR";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableAssessmentTypeCombinedSectionAssessment = "GECBNTRDV";
+
+ #endregion
+
+ #region SerializableFailureMechanismSectionType
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismSectionTypeFailureMechanism = "TOETSSSTE";
+
+ ///
+ /// Identifier for .
+ ///
+ public const string SerializableFailureMechanismSectionTypeCombined = "GECBNETSSTE";
+
+ #endregion
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableAssemblyMethod.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableAssemblyMethod.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableAssemblyMethod.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,163 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Xml.Serialization;
+
+namespace Riskeer.AssemblyTool.IO.Model.Enums
+{
+ ///
+ /// Serializable enum defining the various types of assembly methods.
+ ///
+ public enum SerializableAssemblyMethod
+ {
+ ///
+ /// Represents the assembly method WBI-0E-1.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssemblyMethodWBI0E1)]
+ WBI0E1 = 1,
+
+ ///
+ /// Represents the assembly method WBI-0E-3.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssemblyMethodWBI0E3)]
+ WBI0E3 = 2,
+
+ ///
+ /// Represents the assembly method WBI-0G-1.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssemblyMethodWBI0G1)]
+ WBI0G1 = 3,
+
+ ///
+ /// Represents the assembly method WBI-0G-3.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssemblyMethodWBI0G3)]
+ WBI0G3 = 4,
+
+ ///
+ /// Represents the assembly method WBI-0G-4.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssemblyMethodWBI0G4)]
+ WBI0G4 = 5,
+
+ ///
+ /// Represents the assembly method WBI-0G-5.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssemblyMethodWBI0G5)]
+ WBI0G5 = 6,
+
+ ///
+ /// Represents the assembly method WBI-0G-6.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssemblyMethodWBI0G6)]
+ WBI0G6 = 7,
+
+ ///
+ /// Represents the assembly method WBI-0T-1.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssemblyMethodWBI0T1)]
+ WBI0T1 = 8,
+
+ ///
+ /// Represents the assembly method WBI-0T-3.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssemblyMethodWBI0T3)]
+ WBI0T3 = 9,
+
+ ///
+ /// Represents the assembly method WBI-0T-4.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssemblyMethodWBI0T4)]
+ WBI0T4 = 10,
+
+ ///
+ /// Represents the assembly method WBI-0T-5.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssemblyMethodWBI0T5)]
+ WBI0T5 = 11,
+
+ ///
+ /// Represents the assembly method WBI-0T-6.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssemblyMethodWBI0T6)]
+ WBI0T6 = 12,
+
+ ///
+ /// Represents the assembly method WBI-0T-7.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssemblyMethodWBI0T7)]
+ WBI0T7 = 13,
+
+ ///
+ /// Represents the assembly method WBI-0A-1.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssemblyMethodWBI0A1)]
+ WBI0A1 = 14,
+
+ ///
+ /// Represents the assembly method WBI-1A-1.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssemblyMethodWBI1A1)]
+ WBI1A1 = 15,
+
+ ///
+ /// Represents the assembly method WBI-1B-1.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssemblyMethodWBI1B1)]
+ WBI1B1 = 16,
+
+ ///
+ /// Represents the assembly method WBI-2A-1.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssemblyMethodWBI2A1)]
+ WBI2A1 = 17,
+
+ ///
+ /// Represents the assembly method WBI-2B-1.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssemblyMethodWBI2B1)]
+ WBI2B1 = 18,
+
+ ///
+ /// Represents the assembly method WBI-2C-1.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssemblyMethodWBI2C1)]
+ WBI2C1 = 19,
+
+ ///
+ /// Represents the assembly method WBI-3A-1.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssemblyMethodWBI3A1)]
+ WBI3A1 = 20,
+
+ ///
+ /// Represents the assembly method WBI-3B-1.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssemblyMethodWBI3B1)]
+ WBI3B1 = 21,
+
+ ///
+ /// Represents the assembly method WBI-3C-1.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssemblyMethodWBI3C1)]
+ WBI3C1 = 22
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableAssessmentSectionCategoryGroup.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableAssessmentSectionCategoryGroup.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableAssessmentSectionCategoryGroup.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,67 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Xml.Serialization;
+
+namespace Riskeer.AssemblyTool.IO.Model.Enums
+{
+ ///
+ /// Serializable enum defining the assembly categories for an assessment section.
+ ///
+ public enum SerializableAssessmentSectionCategoryGroup
+ {
+ ///
+ /// Represents the assembly category A+ for an assessment section.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssessmentSectionCategoryGroupAPlus)]
+ APlus = 1,
+
+ ///
+ /// Represents the assembly category A for an assessment section.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssessmentSectionCategoryGroupA)]
+ A = 2,
+
+ ///
+ /// Represents the assembly category IIt for an assessment section.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssessmentSectionCategoryGroupB)]
+ B = 3,
+
+ ///
+ /// Represents the assembly category IIIt for an assessment section.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssessmentSectionCategoryGroupC)]
+ C = 4,
+
+ ///
+ /// Represents the assembly category IVt for an assessment section.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssessmentSectionCategoryGroupD)]
+ D = 5,
+
+ ///
+ /// Represents the assembly category NGO (Not assessed) for an assessment section.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssessmentSectionCategoryGroupNotAssessed)]
+ NotAssessed = 6
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableAssessmentType.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableAssessmentType.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableAssessmentType.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,61 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Xml.Serialization;
+
+namespace Riskeer.AssemblyTool.IO.Model.Enums
+{
+ ///
+ /// Serializable enum defining the assessment types.
+ ///
+ public enum SerializableAssessmentType
+ {
+ ///
+ /// Represents the simple assessment type.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssessmentTypeSimpleAssessment)]
+ SimpleAssessment = 1,
+
+ ///
+ /// Represents the detailed assessment type.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssessmentTypeDetailedAssessment)]
+ DetailedAssessment = 2,
+
+ ///
+ /// Represents the tailor made assessment type.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssessmentTypeTailorMadeAssessment)]
+ TailorMadeAssessment = 3,
+
+ ///
+ /// Represents the combined assessment type.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssessmentTypeCombinedAssessment)]
+ CombinedAssessment = 4,
+
+ ///
+ /// Represents the cmbined section assessment type.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableAssessmentTypeCombinedSectionAssessment)]
+ CombinedSectionAssessment = 5
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableFailureMechanismCategoryGroup.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableFailureMechanismCategoryGroup.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableFailureMechanismCategoryGroup.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,79 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Xml.Serialization;
+
+namespace Riskeer.AssemblyTool.IO.Model.Enums
+{
+ ///
+ /// Serializable enum defining the assembly categories for a failure mechanism.
+ ///
+ public enum SerializableFailureMechanismCategoryGroup
+ {
+ ///
+ /// Represents the assembly category NVT (Not applicable) for a failure mechanism.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.NotApplicable)]
+ NotApplicable = 1,
+
+ ///
+ /// Represents the assembly category It for a failure mechanism.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismCategoryGroupIt)]
+ It = 2,
+
+ ///
+ /// Represents the assembly category IIt for a failure mechanism.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismCategoryGroupIIt)]
+ IIt = 3,
+
+ ///
+ /// Represents the assembly category IIIt for a failure mechanism.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismCategoryGroupIIIt)]
+ IIIt = 4,
+
+ ///
+ /// Represents the assembly category IVt for a failure mechanism.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismCategoryGroupIVt)]
+ IVt = 5,
+
+ ///
+ /// Represents the assembly category Vt for a failure mechanism.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismCategoryGroupVt)]
+ Vt = 6,
+
+ ///
+ /// Represents the assembly category VIt for a failure mechanism.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismCategoryGroupVIt)]
+ VIt = 7,
+
+ ///
+ /// Represents the assembly category VIIt for a failure mechanism.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismCategoryGroupVIIt)]
+ VIIt = 8
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableFailureMechanismGroup.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableFailureMechanismGroup.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableFailureMechanismGroup.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,55 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Xml.Serialization;
+
+namespace Riskeer.AssemblyTool.IO.Model.Enums
+{
+ ///
+ /// Serializable enum defining the failure mechanism groups.
+ ///
+ public enum SerializableFailureMechanismGroup
+ {
+ ///
+ /// Represents the failure mechanism group 1.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismGroup1)]
+ Group1 = 1,
+
+ ///
+ /// Represents the failure mechanism group 2.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismGroup2)]
+ Group2 = 2,
+
+ ///
+ /// Represents the failure mechanism group 3.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismGroup3)]
+ Group3 = 3,
+
+ ///
+ /// Represents the failure mechanism group 4.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismGroup4)]
+ Group4 = 4
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableFailureMechanismSectionCategoryGroup.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableFailureMechanismSectionCategoryGroup.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableFailureMechanismSectionCategoryGroup.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,79 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Xml.Serialization;
+
+namespace Riskeer.AssemblyTool.IO.Model.Enums
+{
+ ///
+ /// Serializable enum defining the assembly categories for a failure mechanism section.
+ ///
+ public enum SerializableFailureMechanismSectionCategoryGroup
+ {
+ ///
+ /// Represents the assembly category NVT (Not applicable) for a failure mechanism section.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.NotApplicable)]
+ NotApplicable = 1,
+
+ ///
+ /// Represents the assembly category Iv for a failure mechanism section.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismSectionCategoryGroupIv)]
+ Iv = 2,
+
+ ///
+ /// Represents the assembly category IIv for a failure mechanism section.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismSectionCategoryGroupIIv)]
+ IIv = 3,
+
+ ///
+ /// Represents the assembly category IIIv for a failure mechanism section.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismSectionCategoryGroupIIIv)]
+ IIIv = 4,
+
+ ///
+ /// Represents the assembly category IVv for a failure mechanism section.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismSectionCategoryGroupIVv)]
+ IVv = 5,
+
+ ///
+ /// Represents the assembly category Vv for a failure mechanism section.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismSectionCategoryGroupVv)]
+ Vv = 6,
+
+ ///
+ /// Represents the assembly category VIv for a failure mechanism section.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismSectionCategoryGroupVIv)]
+ VIv = 7,
+
+ ///
+ /// Represents the assembly category VIIv for a failure mechanism section.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismSectionCategoryGroupVIIv)]
+ VIIv = 8
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableFailureMechanismSectionType.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableFailureMechanismSectionType.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableFailureMechanismSectionType.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,43 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Xml.Serialization;
+
+namespace Riskeer.AssemblyTool.IO.Model.Enums
+{
+ ///
+ /// Serializable enum defining failure mechanism section types.
+ ///
+ public enum SerializableFailureMechanismSectionType
+ {
+ ///
+ /// Represents a failure mechanism section.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismSectionTypeFailureMechanism)]
+ FailureMechanism = 1,
+
+ ///
+ /// Represents a combined failure mechanism section.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismSectionTypeCombined)]
+ Combined = 2
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableFailureMechanismType.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableFailureMechanismType.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Enums/SerializableFailureMechanismType.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,139 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Xml.Serialization;
+
+namespace Riskeer.AssemblyTool.IO.Model.Enums
+{
+ ///
+ /// Serializable enum defining the failure mechanism types.
+ ///
+ public enum SerializableFailureMechanismType
+ {
+ ///
+ /// Represents the failure mechanism macro stability inwards.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismTypeSTBI)]
+ STBI = 1,
+
+ ///
+ /// Represents the failure mechanism macro stability outwards.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismTypeSTBU)]
+ STBU = 2,
+
+ ///
+ /// Represents the failure mechanism piping.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismTypeSTPH)]
+ STPH = 3,
+
+ ///
+ /// Represents the failure mechanism microstability.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismTypeSTMI)]
+ STMI = 4,
+
+ ///
+ /// Represents the failure mechanism wave impact asphalt cover.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismTypeAGK)]
+ AGK = 5,
+
+ ///
+ /// Represents the failure mechanism water pressure asphalt cover.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismTypeAWO)]
+ AWO = 6,
+
+ ///
+ /// Represents the failure mechanism grass cover erosion outwards.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismTypeGEBU)]
+ GEBU = 7,
+
+ ///
+ /// Represents the failure mechanism grass cover slipoff outwards.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismTypeGABU)]
+ GABU = 8,
+
+ ///
+ /// Represents the failure mechanism grass cover erosion inwards.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismTypeGEKB)]
+ GEKB = 9,
+
+ ///
+ /// Represents the failure mechanism grass cover slipoff inwards.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismTypeGABI)]
+ GABI = 10,
+
+ ///
+ /// Represents the failure mechanism stability stone cover.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismTypeZST)]
+ ZST = 11,
+
+ ///
+ /// Represents the failure mechanism dune erosion.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismTypeDA)]
+ DA = 12,
+
+ ///
+ /// Represents the failure mechanism height structurews.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismTypeHTKW)]
+ HTKW = 13,
+
+ ///
+ /// Represents the failure mechanism closing structures.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismTypeBSKW)]
+ BSKW = 14,
+
+ ///
+ /// Represents the failure mechanism piping structures.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismTypePKW)]
+ PKW = 15,
+
+ ///
+ /// Represents the failure mechanism stability point structures.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismTypeSTKWp)]
+ STKWp = 16,
+
+ ///
+ /// Represents the failure mechanism strength stability lengthwise construction.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismTypeSTKWl)]
+ STKWl = 17,
+
+ ///
+ /// Represents the failure mechanism technical innovation.
+ ///
+ [XmlEnum(AssemblyXmlEnumIdentifiers.SerializableFailureMechanismTypeINN)]
+ INN = 18
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Gml/SerializableBoundary.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Gml/SerializableBoundary.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Gml/SerializableBoundary.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,65 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Xml.Serialization;
+using Core.Common.Base.Geometry;
+
+namespace Riskeer.AssemblyTool.IO.Model.Gml
+{
+ ///
+ /// Class describing a boundary object.
+ ///
+ public class SerializableBoundary
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public SerializableBoundary() {}
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The lower corner of the boundary.
+ /// The upper corner of the boundary.
+ /// Thrown when any parameter is null.
+ public SerializableBoundary(Point2D lowerCorner, Point2D upperCorner)
+ {
+ if (lowerCorner == null)
+ {
+ throw new ArgumentNullException(nameof(lowerCorner));
+ }
+
+ if (upperCorner == null)
+ {
+ throw new ArgumentNullException(nameof(upperCorner));
+ }
+
+ Envelope = new SerializableEnvelope(lowerCorner, upperCorner);
+ }
+
+ ///
+ /// Gets or sets the envelope describing the boundary.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.Envelope)]
+ public SerializableEnvelope Envelope { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Gml/SerializableEnvelope.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Gml/SerializableEnvelope.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Gml/SerializableEnvelope.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,73 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Xml.Serialization;
+using Core.Common.Base.Geometry;
+using Riskeer.AssemblyTool.IO.Model.Helpers;
+
+namespace Riskeer.AssemblyTool.IO.Model.Gml
+{
+ ///
+ /// Class describing a GML envelope object.
+ ///
+ public class SerializableEnvelope
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public SerializableEnvelope() {}
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The lower corner of the envelope.
+ /// The upper corner of the envelope.
+ /// Thrown when any parameter is null.
+ public SerializableEnvelope(Point2D lowerCorner, Point2D upperCorner)
+ {
+ if (lowerCorner == null)
+ {
+ throw new ArgumentNullException(nameof(lowerCorner));
+ }
+
+ if (upperCorner == null)
+ {
+ throw new ArgumentNullException(nameof(upperCorner));
+ }
+
+ LowerCorner = GeometrySerializationFormatter.Format(lowerCorner);
+ UpperCorner = GeometrySerializationFormatter.Format(upperCorner);
+ }
+
+ ///
+ /// Gets or sets the coordinates of the lower corner of the envelope.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.LowerCorner)]
+ public string LowerCorner { get; set; }
+
+ ///
+ /// Gets or sets the coordinates of the upper corner of the envelope.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.UpperCorner)]
+ public string UpperCorner { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Gml/SerializableLineString.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Gml/SerializableLineString.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Gml/SerializableLineString.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,74 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.Xml.Serialization;
+using Core.Common.Base.Geometry;
+using Riskeer.AssemblyTool.IO.Model.Helpers;
+using Riskeer.AssemblyTool.IO.Properties;
+
+namespace Riskeer.AssemblyTool.IO.Model.Gml
+{
+ ///
+ /// Class describing a serializable line string.
+ ///
+ public class SerializableLineString
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public SerializableLineString()
+ {
+ CoordinateSystem = Resources.CoordinateSystemName;
+ }
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The geometry of the line.
+ /// Thrown when
+ /// is null.
+ /// Thrown when contains no elements.
+ public SerializableLineString(IEnumerable geometry) : this()
+ {
+ if (geometry == null)
+ {
+ throw new ArgumentNullException(nameof(geometry));
+ }
+
+ Geometry = GeometrySerializationFormatter.Format(geometry);
+ }
+
+ ///
+ /// Gets or sets the name of the coordinate system this line is projected on.
+ ///
+ [XmlAttribute(AssemblyXmlIdentifiers.CoordinateSystem)]
+ public string CoordinateSystem { get; set; }
+
+ ///
+ /// Gets or sets the list of coordinates representing the
+ /// geometry of the line.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.Geometry)]
+ public string Geometry { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Helpers/GeometrySerializationFormatter.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Helpers/GeometrySerializationFormatter.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Helpers/GeometrySerializationFormatter.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,75 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Linq;
+using Core.Common.Base.Geometry;
+
+namespace Riskeer.AssemblyTool.IO.Model.Helpers
+{
+ ///
+ /// Helper methods to format geometry for serialization.
+ ///
+ public static class GeometrySerializationFormatter
+ {
+ ///
+ /// Formats a collection of to a string for serialization.
+ ///
+ /// The collection of points to format.
+ /// A formatted string of all given points.
+ /// Thrown when
+ /// is null.
+ /// Thrown when contains no elements.
+ public static string Format(IEnumerable geometry)
+ {
+ if (geometry == null)
+ {
+ throw new ArgumentNullException(nameof(geometry));
+ }
+
+ if (!geometry.Any())
+ {
+ throw new ArgumentException(@"Geometry cannot be empty.", nameof(geometry));
+ }
+
+ return geometry.Select(Format).Aggregate((c1, c2) => c1 + " " + c2);
+ }
+
+ ///
+ /// Formats a to a string for serialization.
+ ///
+ /// The point to format.
+ /// A formatted string of the given point.
+ /// Thrown when
+ /// is null.
+ public static string Format(Point2D point)
+ {
+ if (point == null)
+ {
+ throw new ArgumentNullException(nameof(point));
+ }
+
+ return point.X.ToString(CultureInfo.InvariantCulture) + " " + point.Y.ToString(CultureInfo.InvariantCulture);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Helpers/SerializableIdValidator.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Helpers/SerializableIdValidator.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/Helpers/SerializableIdValidator.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,48 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Text.RegularExpressions;
+
+namespace Riskeer.AssemblyTool.IO.Model.Helpers
+{
+ ///
+ /// Validator to validate the id of a serializable object.
+ ///
+ public static class SerializableIdValidator
+ {
+ ///
+ /// Validates whether is a valid id to be used
+ /// as an identifier in an xml context.
+ ///
+ /// The identifier to validate.
+ /// true when is valid, false otherwise.
+ public static bool Validate(string id)
+ {
+ if (string.IsNullOrWhiteSpace(id))
+ {
+ return false;
+ }
+
+ var regex = new Regex(@"^[A-Za-z\\_][A-Za-z\\_\d\-\.]+$");
+ return regex.IsMatch(id);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableAssembly.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableAssembly.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableAssembly.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,174 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.Xml.Serialization;
+using Core.Common.Base.Geometry;
+using Riskeer.AssemblyTool.IO.Model.Gml;
+using Riskeer.AssemblyTool.IO.Model.Helpers;
+
+namespace Riskeer.AssemblyTool.IO.Model
+{
+ ///
+ /// Serializable class containing all data for an assembly result export.
+ ///
+ [Serializable]
+ [XmlRoot(ElementName = AssemblyXmlIdentifiers.Assembly, Namespace = AssemblyXmlIdentifiers.AssemblyNamespace)]
+ public class SerializableAssembly
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public SerializableAssembly() {}
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The unique ID of the assembly.
+ /// The lower corner of the assembly map boundary.
+ /// The upper corner of the assembly map boundary.
+ /// The that belongs to the assembly.
+ /// The that belongs to the assembly.
+ /// The that belongs to the assembly.
+ /// The collection of that
+ /// belong to the assembly.
+ /// The collection of that
+ /// belong to the assembly.
+ /// The collection of that
+ /// belong to the assembly.
+ /// The collection of that
+ /// belong to the assembly.
+ /// The collection of that
+ /// belong to the assembly.
+ /// Thrown when any parameter except is null.
+ /// Thrown when is invalid.
+ public SerializableAssembly(string id,
+ Point2D lowerCorner,
+ Point2D upperCorner,
+ SerializableAssessmentSection assessmentSection,
+ SerializableAssessmentProcess assessmentProcess,
+ SerializableTotalAssemblyResult totalAssemblyResult,
+ IEnumerable failureMechanisms,
+ IEnumerable failureMechanismSectionAssemblies,
+ IEnumerable combinedFailureMechanismSectionAssemblies,
+ IEnumerable failureMechanismSectionCollections,
+ IEnumerable failureMechanismSections)
+ {
+ if (!SerializableIdValidator.Validate(id))
+ {
+ throw new ArgumentException($@"'{nameof(id)}' must have a value and consist only of alphanumerical characters, '-', '_' or '.'.");
+ }
+
+ if (lowerCorner == null)
+ {
+ throw new ArgumentNullException(nameof(lowerCorner));
+ }
+
+ if (upperCorner == null)
+ {
+ throw new ArgumentNullException(nameof(upperCorner));
+ }
+
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ if (assessmentProcess == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentProcess));
+ }
+
+ if (totalAssemblyResult == null)
+ {
+ throw new ArgumentNullException(nameof(totalAssemblyResult));
+ }
+
+ if (failureMechanisms == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanisms));
+ }
+
+ if (failureMechanismSectionAssemblies == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanismSectionAssemblies));
+ }
+
+ if (combinedFailureMechanismSectionAssemblies == null)
+ {
+ throw new ArgumentNullException(nameof(combinedFailureMechanismSectionAssemblies));
+ }
+
+ if (failureMechanismSectionCollections == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanismSectionCollections));
+ }
+
+ if (failureMechanismSections == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanismSections));
+ }
+
+ Id = id;
+ Boundary = new SerializableBoundary(lowerCorner, upperCorner);
+
+ var featureMembers = new List
+ {
+ assessmentSection,
+ assessmentProcess,
+ totalAssemblyResult
+ };
+ featureMembers.AddRange(failureMechanisms);
+ featureMembers.AddRange(failureMechanismSectionAssemblies);
+ featureMembers.AddRange(combinedFailureMechanismSectionAssemblies);
+ featureMembers.AddRange(failureMechanismSectionCollections);
+ featureMembers.AddRange(failureMechanismSections);
+ FeatureMembers = featureMembers.ToArray();
+ }
+
+ ///
+ /// Gets or sets the ID of the assembly.
+ ///
+ [XmlAttribute(AssemblyXmlIdentifiers.Id, Namespace = AssemblyXmlIdentifiers.GmlNamespace)]
+ public string Id { get; set; }
+
+ ///
+ /// Gets or sets the map boundary of the assembly.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.BoundedBy, Namespace = AssemblyXmlIdentifiers.GmlNamespace)]
+ public SerializableBoundary Boundary { get; set; }
+
+ ///
+ /// Gets or sets the collection of feature members for the assembly.
+ ///
+ [XmlArray(AssemblyXmlIdentifiers.FeatureMember)]
+ [XmlArrayItem(typeof(SerializableAssessmentSection))]
+ [XmlArrayItem(typeof(SerializableAssessmentProcess))]
+ [XmlArrayItem(typeof(SerializableTotalAssemblyResult))]
+ [XmlArrayItem(typeof(SerializableFailureMechanism))]
+ [XmlArrayItem(typeof(SerializableFailureMechanismSectionAssembly))]
+ [XmlArrayItem(typeof(SerializableCombinedFailureMechanismSectionAssembly))]
+ [XmlArrayItem(typeof(SerializableFailureMechanismSectionCollection))]
+ [XmlArrayItem(typeof(SerializableFailureMechanismSection))]
+ public SerializableFeatureMember[] FeatureMembers { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableAssessmentProcess.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableAssessmentProcess.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableAssessmentProcess.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,91 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Xml.Serialization;
+using Riskeer.AssemblyTool.IO.Model.Helpers;
+
+namespace Riskeer.AssemblyTool.IO.Model
+{
+ ///
+ /// Class describing a serializable assessment process.
+ ///
+ [XmlType(AssemblyXmlIdentifiers.AssessmentProcess)]
+ public class SerializableAssessmentProcess : SerializableFeatureMember
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public SerializableAssessmentProcess()
+ {
+ StartYear = 2017;
+ EndYear = 2023;
+ }
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The unique ID of the assessment process.
+ /// The assessment section this process belongs to.
+ /// Thrown when any parameter except is null.
+ /// Thrown when is invalid.
+ public SerializableAssessmentProcess(string id,
+ SerializableAssessmentSection assessmentSection) : this()
+ {
+ if (!SerializableIdValidator.Validate(id))
+ {
+ throw new ArgumentException($@"'{nameof(id)}' must have a value and consist only of alphanumerical characters, '-', '_' or '.'.");
+ }
+
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ Id = id;
+ AssessmentSectionId = assessmentSection.Id;
+ }
+
+ ///
+ /// Gets or sets the ID.
+ ///
+ [XmlAttribute(AssemblyXmlIdentifiers.AssessmentProcessId)]
+ public string Id { get; set; }
+
+ ///
+ /// Gets or sets the ID of the parent assessment section.
+ ///
+ [XmlAttribute(AssemblyXmlIdentifiers.AssessmentSectionIdRef)]
+ public string AssessmentSectionId { get; set; }
+
+ ///
+ /// Gets or sets the starting year.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.StartYear)]
+ public int StartYear { get; set; }
+
+ ///
+ /// Gets or sets the end year.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.EndYear)]
+ public int EndYear { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableAssessmentSection.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableAssessmentSection.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableAssessmentSection.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,115 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.Xml.Serialization;
+using Core.Common.Base.Geometry;
+using Riskeer.AssemblyTool.IO.Model.DataTypes;
+using Riskeer.AssemblyTool.IO.Model.Helpers;
+using Riskeer.AssemblyTool.IO.Properties;
+
+namespace Riskeer.AssemblyTool.IO.Model
+{
+ ///
+ /// Class describing a serializable assessment section.
+ ///
+ [XmlType(AssemblyXmlIdentifiers.AssessmentSection)]
+ public class SerializableAssessmentSection : SerializableFeatureMember
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public SerializableAssessmentSection()
+ {
+ AssessmentSectionType = Resources.AssessmentSectionType;
+ }
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The unique ID of the assessment section.
+ /// The name of the assessment section.
+ /// The geometry of the reference line.
+ /// Thrown when any parameter except is null.
+ /// Thrown when:
+ ///
+ /// contains no elements.
+ /// is invalid.
+ ///
+ ///
+ public SerializableAssessmentSection(string id,
+ string name,
+ IEnumerable geometry) : this()
+ {
+ if (!SerializableIdValidator.Validate(id))
+ {
+ throw new ArgumentException($@"'{nameof(id)}' must have a value and consist only of alphanumerical characters, '-', '_' or '.'.");
+ }
+
+ if (name == null)
+ {
+ throw new ArgumentNullException(nameof(name));
+ }
+
+ if (geometry == null)
+ {
+ throw new ArgumentNullException(nameof(geometry));
+ }
+
+ Id = id;
+ Name = name;
+ ReferenceLineLength = new SerializableMeasure(Math2D.Length(geometry));
+ ReferenceLineGeometry = new SerializableLine(geometry);
+ }
+
+ ///
+ /// Gets or sets the ID.
+ ///
+ [XmlAttribute(AssemblyXmlIdentifiers.Id, Namespace = AssemblyXmlIdentifiers.GmlNamespace)]
+ public string Id { get; set; }
+
+ ///
+ /// Gets or sets the name of the assessment section.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.Name)]
+ public string Name { get; set; }
+
+ ///
+ /// Gets or sets the geometry of the reference line.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.Geometry2D)]
+ public SerializableLine ReferenceLineGeometry { get; set; }
+
+ ///
+ /// Gets or sets the length of the reference line.
+ /// [m]
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.Length)]
+ public SerializableMeasure ReferenceLineLength { get; set; }
+
+ ///
+ /// Gets or sets the type of the assessment section.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.AssessmentSectionType)]
+ public string AssessmentSectionType { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableCombinedFailureMechanismSectionAssembly.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableCombinedFailureMechanismSectionAssembly.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableCombinedFailureMechanismSectionAssembly.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,118 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Xml.Serialization;
+using Riskeer.AssemblyTool.IO.Model.DataTypes;
+using Riskeer.AssemblyTool.IO.Model.Helpers;
+
+namespace Riskeer.AssemblyTool.IO.Model
+{
+ ///
+ /// Class describing a serializable combined failure mechanism section assembly.
+ ///
+ [XmlType(AssemblyXmlIdentifiers.CombinedFailureMechanismSectionAssembly)]
+ public class SerializableCombinedFailureMechanismSectionAssembly : SerializableFeatureMember
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public SerializableCombinedFailureMechanismSectionAssembly() {}
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The unique ID of the assembly.
+ /// The total assembly result this assembly belongs to.
+ /// The section this assembly belongs to.
+ /// The collection of assembly results for this assembly per failure mechanism.
+ /// The combined assembly result for this assembly.
+ /// Thrown when any parameter except is null.
+ /// Thrown when is invalid.
+ public SerializableCombinedFailureMechanismSectionAssembly(string id,
+ SerializableTotalAssemblyResult totalAssemblyResult,
+ SerializableFailureMechanismSection section,
+ SerializableCombinedFailureMechanismSectionAssemblyResult[] failureMechanismResults,
+ SerializableFailureMechanismSectionAssemblyResult combinedSectionResult) : this()
+ {
+ if (!SerializableIdValidator.Validate(id))
+ {
+ throw new ArgumentException($@"'{nameof(id)}' must have a value and consist only of alphanumerical characters, '-', '_' or '.'.");
+ }
+
+ if (totalAssemblyResult == null)
+ {
+ throw new ArgumentNullException(nameof(totalAssemblyResult));
+ }
+
+ if (section == null)
+ {
+ throw new ArgumentNullException(nameof(section));
+ }
+
+ if (failureMechanismResults == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanismResults));
+ }
+
+ if (combinedSectionResult == null)
+ {
+ throw new ArgumentNullException(nameof(combinedSectionResult));
+ }
+
+ Id = id;
+ TotalAssemblyResultId = totalAssemblyResult.Id;
+ FailureMechanismSectionId = section.Id;
+ FailureMechanismResults = failureMechanismResults;
+ CombinedSectionResult = combinedSectionResult;
+ }
+
+ ///
+ /// Gets or sets the ID.
+ ///
+ [XmlAttribute(AssemblyXmlIdentifiers.CombinedFailureMechanismSectionAssemblyId)]
+ public string Id { get; set; }
+
+ ///
+ /// Gets or sets the parent total assembly result ID.
+ ///
+ [XmlAttribute(AssemblyXmlIdentifiers.TotalAssemblyResultIdRef)]
+ public string TotalAssemblyResultId { get; set; }
+
+ ///
+ /// Gets or sets the parent failure mechanism section ID.
+ ///
+ [XmlAttribute(AssemblyXmlIdentifiers.FailureMechanismSectionIdRef)]
+ public string FailureMechanismSectionId { get; set; }
+
+ ///
+ /// Gets or sets the combined assembly result.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.CombinedCombinedSectionResult)]
+ public SerializableFailureMechanismSectionAssemblyResult CombinedSectionResult { get; set; }
+
+ ///
+ /// Gets or sets the array of results for this section per failure mechanism.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.CombinedSectionFailureMechanismResult)]
+ public SerializableCombinedFailureMechanismSectionAssemblyResult[] FailureMechanismResults { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableFailureMechanism.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableFailureMechanism.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableFailureMechanism.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,119 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Xml.Serialization;
+using Riskeer.AssemblyTool.IO.Model.DataTypes;
+using Riskeer.AssemblyTool.IO.Model.Enums;
+using Riskeer.AssemblyTool.IO.Model.Helpers;
+using Riskeer.AssemblyTool.IO.Properties;
+
+namespace Riskeer.AssemblyTool.IO.Model
+{
+ ///
+ /// Class describing a serializable failure mechanism.
+ ///
+ [XmlType(AssemblyXmlIdentifiers.FailureMechanism)]
+ public class SerializableFailureMechanism : SerializableFeatureMember
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public SerializableFailureMechanism()
+ {
+ DirectFailureMechanism = Resources.DirectFailureMechanism;
+ }
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The unique ID of the assembly result.
+ /// The total assembly result the failure mechanism belongs to.
+ /// The type of the failure mechanism.
+ /// The group of the failure mechanism.
+ /// The total failure mechanism assembly result.
+ /// Thrown when any parameter except is null.
+ /// Thrown when is invalid.
+ public SerializableFailureMechanism(string id,
+ SerializableTotalAssemblyResult totalAssemblyResult,
+ SerializableFailureMechanismType failureMechanismType,
+ SerializableFailureMechanismGroup failureMechanismGroup,
+ SerializableFailureMechanismAssemblyResult failureMechanismAssemblyResult) : this()
+ {
+ if (!SerializableIdValidator.Validate(id))
+ {
+ throw new ArgumentException($@"'{nameof(id)}' must have a value and consist only of alphanumerical characters, '-', '_' or '.'.");
+ }
+
+ if (totalAssemblyResult == null)
+ {
+ throw new ArgumentNullException(nameof(totalAssemblyResult));
+ }
+
+ if (failureMechanismAssemblyResult == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanismAssemblyResult));
+ }
+
+ Id = id;
+ TotalAssemblyResultId = totalAssemblyResult.Id;
+ FailureMechanismType = failureMechanismType;
+ FailureMechanismGroup = failureMechanismGroup;
+ FailureMechanismAssemblyResult = failureMechanismAssemblyResult;
+ }
+
+ ///
+ /// Gets or sets the ID.
+ ///
+ [XmlAttribute(AssemblyXmlIdentifiers.FailureMechanismId)]
+ public string Id { get; set; }
+
+ ///
+ /// Gets or sets the parent total assembly result ID.
+ ///
+ [XmlAttribute(AssemblyXmlIdentifiers.TotalAssemblyResultIdRef)]
+ public string TotalAssemblyResultId { get; set; }
+
+ ///
+ /// Gets or sets the failure mechanism type.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.FailureMechanismType)]
+ public SerializableFailureMechanismType FailureMechanismType { get; set; }
+
+ ///
+ /// Gets or sets the failure mechanism group.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.FailureMechanismGroup)]
+ public SerializableFailureMechanismGroup FailureMechanismGroup { get; set; }
+
+ ///
+ /// Gets or sets the direct failure mechanism indicator.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.DirectFailureMechanism)]
+ public string DirectFailureMechanism { get; set; }
+
+ ///
+ /// Gets or sets the total failure mechanism assembly result.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.FailureMechanismAssemblyResult)]
+ public SerializableFailureMechanismAssemblyResult FailureMechanismAssemblyResult { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableFailureMechanismSection.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableFailureMechanismSection.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableFailureMechanismSection.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,154 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.Xml.Serialization;
+using Core.Common.Base.Geometry;
+using Riskeer.AssemblyTool.IO.Model.DataTypes;
+using Riskeer.AssemblyTool.IO.Model.Enums;
+using Riskeer.AssemblyTool.IO.Model.Helpers;
+
+namespace Riskeer.AssemblyTool.IO.Model
+{
+ ///
+ /// Class describing a serializable failure mechanism section object.
+ ///
+ [XmlType(AssemblyXmlIdentifiers.FailureMechanismSection)]
+ public class SerializableFailureMechanismSection : SerializableFeatureMember
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public SerializableFailureMechanismSection() {}
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The unique ID of the section.
+ /// The failure mechanism sections object the section belong to.
+ /// The distance over the reference line where this section starts in meters.
+ /// The distance over the reference line where this section ends in meters.
+ /// The geometry of the section.
+ /// The type of the section.
+ /// The assembly method used to create this section.
+ /// Thrown when ,
+ /// or is null.
+ /// Thrown when:
+ ///
+ /// contains no elements.
+ /// is invalid.
+ ///
+ ///
+ public SerializableFailureMechanismSection(string id,
+ SerializableFailureMechanismSectionCollection failureMechanismSectionCollection,
+ double startDistance,
+ double endDistance,
+ IEnumerable geometry,
+ SerializableFailureMechanismSectionType sectionType,
+ SerializableAssemblyMethod? assemblyMethod = null)
+ {
+ if (!SerializableIdValidator.Validate(id))
+ {
+ throw new ArgumentException($@"'{nameof(id)}' must have a value and consist only of alphanumerical characters, '-', '_' or '.'.");
+ }
+
+ if (failureMechanismSectionCollection == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanismSectionCollection));
+ }
+
+ if (geometry == null)
+ {
+ throw new ArgumentNullException(nameof(geometry));
+ }
+
+ Id = id;
+ StartDistance = new SerializableMeasure(startDistance);
+ EndDistance = new SerializableMeasure(endDistance);
+ FailureMechanismSectionCollectionId = failureMechanismSectionCollection.Id;
+ Geometry = new SerializableLine(geometry);
+ Length = new SerializableMeasure(Math2D.Length(geometry));
+ AssemblyMethod = assemblyMethod;
+ FailureMechanismSectionType = sectionType;
+ }
+
+ ///
+ /// Gets or sets the ID.
+ ///
+ [XmlAttribute(AssemblyXmlIdentifiers.Id, Namespace = AssemblyXmlIdentifiers.GmlNamespace)]
+ public string Id { get; set; }
+
+ ///
+ /// Gets or sets the ID of the parent failure mechanism section collection.
+ ///
+ [XmlAttribute(AssemblyXmlIdentifiers.FailureMechanismSectionCollectionIdRef)]
+ public string FailureMechanismSectionCollectionId { get; set; }
+
+ ///
+ /// Gets or sets the section starting distance.
+ /// [m]
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.StartDistance)]
+ public SerializableMeasure StartDistance { get; set; }
+
+ ///
+ /// Gets or sets the section ending distance.
+ /// [m]
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.EndDistance)]
+ public SerializableMeasure EndDistance { get; set; }
+
+ ///
+ /// Gets or sets the section geometry.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.GeometryLine2D)]
+ public SerializableLine Geometry { get; set; }
+
+ ///
+ /// Gets or sets the section length.
+ /// [m]
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.Length)]
+ public SerializableMeasure Length { get; set; }
+
+ ///
+ /// Gets or sets the section type.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.FailureMechanismSectionType)]
+ public SerializableFailureMechanismSectionType FailureMechanismSectionType { get; set; }
+
+ ///
+ /// Gets or sets the assembly method used to create this section.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.AssemblyMethod)]
+ public SerializableAssemblyMethod? AssemblyMethod { get; set; }
+
+ ///
+ /// Determines whether should be serialized.
+ ///
+ /// true if should be serialized, false otherwise.
+ public bool ShouldSerializeAssemblyMethod()
+ {
+ return AssemblyMethod.HasValue;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableFailureMechanismSectionAssembly.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableFailureMechanismSectionAssembly.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableFailureMechanismSectionAssembly.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,118 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Xml.Serialization;
+using Riskeer.AssemblyTool.IO.Model.DataTypes;
+using Riskeer.AssemblyTool.IO.Model.Helpers;
+
+namespace Riskeer.AssemblyTool.IO.Model
+{
+ ///
+ /// Class describing a serializable failure mechanism section assembly.
+ ///
+ [XmlType(AssemblyXmlIdentifiers.FailureMechanismSectionAssembly)]
+ public class SerializableFailureMechanismSectionAssembly : SerializableFeatureMember
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public SerializableFailureMechanismSectionAssembly() {}
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The unique ID of the assembly.
+ /// The failure mechanism this assembly belongs to.
+ /// The section this assembly belongs to.
+ /// The collection of assembly results for this section assembly.
+ /// The combined assembly result for this section assembly.
+ /// Thrown when any parameter except is null.
+ /// Thrown when is invalid.
+ public SerializableFailureMechanismSectionAssembly(string id,
+ SerializableFailureMechanism failureMechanism,
+ SerializableFailureMechanismSection section,
+ SerializableFailureMechanismSectionAssemblyResult[] sectionResults,
+ SerializableFailureMechanismSectionAssemblyResult combinedSectionResult) : this()
+ {
+ if (!SerializableIdValidator.Validate(id))
+ {
+ throw new ArgumentException($@"'{nameof(id)}' must have a value and consist only of alphanumerical characters, '-', '_' or '.'.");
+ }
+
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ if (section == null)
+ {
+ throw new ArgumentNullException(nameof(section));
+ }
+
+ if (sectionResults == null)
+ {
+ throw new ArgumentNullException(nameof(sectionResults));
+ }
+
+ if (combinedSectionResult == null)
+ {
+ throw new ArgumentNullException(nameof(combinedSectionResult));
+ }
+
+ Id = id;
+ FailureMechanismId = failureMechanism.Id;
+ FailureMechanismSectionId = section.Id;
+ SectionResults = sectionResults;
+ CombinedSectionResult = combinedSectionResult;
+ }
+
+ ///
+ /// Gets or sets the ID.
+ ///
+ [XmlAttribute(AssemblyXmlIdentifiers.FailureMechanismSectionAssemblyId)]
+ public string Id { get; set; }
+
+ ///
+ /// Gets or sets the parent failure mechanism ID.
+ ///
+ [XmlAttribute(AssemblyXmlIdentifiers.FailureMechanismIdRef)]
+ public string FailureMechanismId { get; set; }
+
+ ///
+ /// Gets or sets the parent failure mechanism section ID.
+ ///
+ [XmlAttribute(AssemblyXmlIdentifiers.FailureMechanismSectionIdRef)]
+ public string FailureMechanismSectionId { get; set; }
+
+ ///
+ /// Gets or sets the combined assembly result.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.CombinedSectionResult)]
+ public SerializableFailureMechanismSectionAssemblyResult CombinedSectionResult { get; set; }
+
+ ///
+ /// Gets or sets the array of results for this section.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.SectionResults)]
+ public SerializableFailureMechanismSectionAssemblyResult[] SectionResults { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableFailureMechanismSectionCollection.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableFailureMechanismSectionCollection.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableFailureMechanismSectionCollection.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,60 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Xml.Serialization;
+using Riskeer.AssemblyTool.IO.Model.Helpers;
+
+namespace Riskeer.AssemblyTool.IO.Model
+{
+ ///
+ /// Class describing a serializable failure mechanism section collection object.
+ ///
+ [XmlType(AssemblyXmlIdentifiers.FailureMechanismSectionCollection)]
+ public class SerializableFailureMechanismSectionCollection : SerializableFeatureMember
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public SerializableFailureMechanismSectionCollection() {}
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The unique ID of the sections.
+ /// Thrown when is invalid.
+ public SerializableFailureMechanismSectionCollection(string id)
+ {
+ if (!SerializableIdValidator.Validate(id))
+ {
+ throw new ArgumentException($@"'{nameof(id)}' must have a value and consist only of alphanumerical characters, '-', '_' or '.'.");
+ }
+
+ Id = id;
+ }
+
+ ///
+ /// Gets or sets the ID.
+ ///
+ [XmlAttribute(AssemblyXmlIdentifiers.FailureMechanismSectionCollectionId)]
+ public string Id { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableFeatureMember.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableFeatureMember.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableFeatureMember.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,28 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+namespace Riskeer.AssemblyTool.IO.Model
+{
+ ///
+ /// Base class for serializable feature members.
+ ///
+ public abstract class SerializableFeatureMember {}
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableTotalAssemblyResult.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableTotalAssemblyResult.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Model/SerializableTotalAssemblyResult.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,118 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Xml.Serialization;
+using Riskeer.AssemblyTool.IO.Model.DataTypes;
+using Riskeer.AssemblyTool.IO.Model.Helpers;
+
+namespace Riskeer.AssemblyTool.IO.Model
+{
+ ///
+ /// Class describing a serializable total assembly result.
+ ///
+ [XmlType(AssemblyXmlIdentifiers.TotalAssemblyResult)]
+ public class SerializableTotalAssemblyResult : SerializableFeatureMember
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public SerializableTotalAssemblyResult() {}
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The unique ID of the assembly result.
+ /// The assessment process this result belongs to.
+ /// The assembly result for failure mechanisms with a probability.
+ /// The assembly result for failure mechanisms without a probability.
+ /// The assembly result for the assessment section.
+ /// Thrown when any parameter except is null.
+ /// Thrown when is invalid.
+ public SerializableTotalAssemblyResult(string id,
+ SerializableAssessmentProcess assessmentProcess,
+ SerializableFailureMechanismAssemblyResult assemblyResultWithoutProbability,
+ SerializableFailureMechanismAssemblyResult assemblyResultWithProbability,
+ SerializableAssessmentSectionAssemblyResult assessmentSectionAssemblyResult) : this()
+ {
+ if (!SerializableIdValidator.Validate(id))
+ {
+ throw new ArgumentException($@"'{nameof(id)}' must have a value and consist only of alphanumerical characters, '-', '_' or '.'.");
+ }
+
+ if (assessmentProcess == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentProcess));
+ }
+
+ if (assemblyResultWithoutProbability == null)
+ {
+ throw new ArgumentNullException(nameof(assemblyResultWithoutProbability));
+ }
+
+ if (assemblyResultWithProbability == null)
+ {
+ throw new ArgumentNullException(nameof(assemblyResultWithProbability));
+ }
+
+ if (assessmentSectionAssemblyResult == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSectionAssemblyResult));
+ }
+
+ Id = id;
+ AssessmentProcessId = assessmentProcess.Id;
+ AssemblyResultWithoutProbability = assemblyResultWithoutProbability;
+ AssemblyResultWithProbability = assemblyResultWithProbability;
+ AssessmentSectionAssemblyResult = assessmentSectionAssemblyResult;
+ }
+
+ ///
+ /// Gets or sets the ID.
+ ///
+ [XmlAttribute(AssemblyXmlIdentifiers.TotalAssemblyResultId)]
+ public string Id { get; set; }
+
+ ///
+ /// Gets or sets the parent assessment process ID.
+ ///
+ [XmlAttribute(AssemblyXmlIdentifiers.AssessmentProcessIdRef)]
+ public string AssessmentProcessId { get; set; }
+
+ ///
+ /// Gets or sets the assessment section assembly result.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.AssessmentSectionAssemblyResult)]
+ public SerializableAssessmentSectionAssemblyResult AssessmentSectionAssemblyResult { get; set; }
+
+ ///
+ /// Gets or sets the assembly result with probability.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.AssemblyResultWithProbability)]
+ public SerializableFailureMechanismAssemblyResult AssemblyResultWithProbability { get; set; }
+
+ ///
+ /// Gets or sets the assembly result without probability.
+ ///
+ [XmlElement(AssemblyXmlIdentifiers.AssemblyResultWithoutProbability)]
+ public SerializableFailureMechanismAssemblyResult AssemblyResultWithoutProbability { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Properties/AssemblyInfo.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Properties/AssemblyInfo.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Properties/AssemblyInfo.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,25 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Reflection;
+
+[assembly: AssemblyTitle("Riskeer.AssemblyTool.IO")]
+[assembly: AssemblyProduct("Riskeer.AssemblyTool.IO")]
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Properties/Resources.Designer.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Properties/Resources.Designer.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Properties/Resources.Designer.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,129 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Riskeer.AssemblyTool.IO.Properties {
+ using System;
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Riskeer.AssemblyTool.IO.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to DKTRJCT.
+ ///
+ internal static string AssessmentSectionType {
+ get {
+ return ResourceManager.GetString("AssessmentSectionType", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to EPSG:28992.
+ ///
+ internal static string CoordinateSystemName {
+ get {
+ return ResourceManager.GetString("CoordinateSystemName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to DIRECT.
+ ///
+ internal static string DirectFailureMechanism {
+ get {
+ return ResourceManager.GetString("DirectFailureMechanism", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to VOLLDG.
+ ///
+ internal static string FullAssembly {
+ get {
+ return ResourceManager.GetString("FullAssembly", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to m.
+ ///
+ internal static string SerializableMeasure_Meter {
+ get {
+ return ResourceManager.GetString("SerializableMeasure_Meter", resourceCulture);
+ }
+ }
+ }
+}
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Properties/Resources.resx
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Properties/Resources.resx (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Properties/Resources.resx (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ DKTRJCT
+
+
+ DIRECT
+
+
+ VOLLDG
+
+
+ m
+
+
+ EPSG:28992
+
+
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Riskeer.AssemblyTool.IO.csproj
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Riskeer.AssemblyTool.IO.csproj (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/Riskeer.AssemblyTool.IO.csproj (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,83 @@
+
+
+
+ {B9838495-B090-4B84-A387-A8974F4F9CC4}
+ Riskeer.AssemblyTool.IO
+ Riskeer.AssemblyTool.IO
+
+
+
+
+
+
+
+
+
+ Copying.licenseheader
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ True
+ True
+ Resources.resx
+
+
+
+
+
+ {3BBFD65B-B277-4E50-AE6D-BD24C3434609}
+ Core.Common.Base
+ False
+
+
+ {E344867E-9AC9-44C8-88A5-8185681679A9}
+ Core.Common.IO
+ False
+
+
+ {f49bd8b2-332a-4c91-a196-8cce0a2c7d98}
+ Core.Common.Util
+ False
+
+
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/SerializableAssemblyWriter.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/SerializableAssemblyWriter.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.IO/SerializableAssemblyWriter.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,75 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.IO;
+using System.Xml.Serialization;
+using Core.Common.IO.Exceptions;
+using Riskeer.AssemblyTool.IO.Model;
+using CoreCommonUtilResources = Core.Common.Util.Properties.Resources;
+
+namespace Riskeer.AssemblyTool.IO
+{
+ ///
+ /// Writer for saving instances of to a file.
+ ///
+ public static class SerializableAssemblyWriter
+ {
+ ///
+ /// Writes a to a file.
+ ///
+ /// The to be written to the file.
+ /// The path to the file.
+ /// Thrown when any parameter is null.
+ /// Thrown when unable to write to .
+ public static void WriteAssembly(SerializableAssembly serializableAssembly, string filePath)
+ {
+ if (serializableAssembly == null)
+ {
+ throw new ArgumentNullException(nameof(serializableAssembly));
+ }
+
+ if (filePath == null)
+ {
+ throw new ArgumentNullException(nameof(filePath));
+ }
+
+ TextWriter writer = null;
+ try
+ {
+ var serializer = new XmlSerializer(typeof(SerializableAssembly));
+ writer = new StreamWriter(filePath);
+ var xmlns = new XmlSerializerNamespaces();
+ xmlns.Add(AssemblyXmlIdentifiers.GmlNamespaceIdentifier, AssemblyXmlIdentifiers.GmlNamespace);
+ xmlns.Add(AssemblyXmlIdentifiers.AssemblyNamespaceIdentifier, AssemblyXmlIdentifiers.AssemblyNamespace);
+ serializer.Serialize(writer, serializableAssembly, xmlns);
+ }
+ catch (SystemException e)
+ {
+ throw new CriticalFileWriteException(string.Format(CoreCommonUtilResources.Error_General_output_error_0, filePath), e);
+ }
+ finally
+ {
+ writer?.Close();
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/AssessmentSectionAssemblyCalculator.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/AssessmentSectionAssemblyCalculator.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/AssessmentSectionAssemblyCalculator.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,149 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// 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 Assembly.Kernel.Exceptions;
+using Assembly.Kernel.Interfaces;
+using Assembly.Kernel.Model;
+using Assembly.Kernel.Model.CategoryLimits;
+using Riskeer.AssemblyTool.Data;
+using Riskeer.AssemblyTool.KernelWrapper.Creators;
+using Riskeer.AssemblyTool.KernelWrapper.Kernels;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Calculators.Assembly
+{
+ ///
+ /// Class representing an assessment section assembly calculator.
+ ///
+ public class AssessmentSectionAssemblyCalculator : IAssessmentSectionAssemblyCalculator
+ {
+ private readonly IAssemblyToolKernelFactory factory;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The factory responsible for creating the assembly kernel.
+ /// Thrown when any parameter is null.
+ public AssessmentSectionAssemblyCalculator(IAssemblyToolKernelFactory factory)
+ {
+ if (factory == null)
+ {
+ throw new ArgumentNullException(nameof(factory));
+ }
+
+ this.factory = factory;
+ }
+
+ public FailureMechanismAssembly AssembleFailureMechanisms(IEnumerable input,
+ double signalingNorm, double lowerLimitNorm,
+ double failureProbabilityMarginFactor)
+ {
+ try
+ {
+ ICategoryLimitsCalculator categoriesKernel = factory.CreateAssemblyCategoriesKernel();
+ CategoriesList categories = categoriesKernel.CalculateFailureMechanismCategoryLimitsWbi11(
+ new AssessmentSection(1, signalingNorm, lowerLimitNorm),
+ new FailureMechanism(1, failureProbabilityMarginFactor));
+
+ IAssessmentGradeAssembler kernel = factory.CreateAssessmentSectionAssemblyKernel();
+ FailureMechanismAssemblyResult output = kernel.AssembleAssessmentSectionWbi2B1(
+ input.Select(AssessmentSectionAssemblyInputCreator.CreateFailureMechanismAssemblyResult).ToArray(),
+ categories,
+ false);
+
+ return FailureMechanismAssemblyCreator.Create(output);
+ }
+ catch (AssemblyException e)
+ {
+ throw new AssessmentSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new AssessmentSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ public FailureMechanismAssemblyCategoryGroup AssembleFailureMechanisms(IEnumerable input)
+ {
+ try
+ {
+ IAssessmentGradeAssembler kernel = factory.CreateAssessmentSectionAssemblyKernel();
+ EFailureMechanismCategory output = kernel.AssembleAssessmentSectionWbi2A1(
+ input.Select(AssessmentSectionAssemblyInputCreator.CreateFailureMechanismAssemblyResult).ToArray(),
+ false);
+
+ return FailureMechanismAssemblyCreator.CreateFailureMechanismAssemblyCategoryGroup(output);
+ }
+ catch (AssemblyException e)
+ {
+ throw new AssessmentSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new AssessmentSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ public AssessmentSectionAssemblyCategoryGroup AssembleAssessmentSection(FailureMechanismAssemblyCategoryGroup failureMechanismsWithoutProbability,
+ FailureMechanismAssembly failureMechanismsWithProbability)
+ {
+ try
+ {
+ IAssessmentGradeAssembler kernel = factory.CreateAssessmentSectionAssemblyKernel();
+ EAssessmentGrade output = kernel.AssembleAssessmentSectionWbi2C1(
+ AssessmentSectionAssemblyInputCreator.CreateFailureMechanismCategory(failureMechanismsWithoutProbability),
+ AssessmentSectionAssemblyInputCreator.CreateFailureMechanismAssemblyResult(failureMechanismsWithProbability));
+
+ return AssemblyCategoryCreator.CreateAssessmentSectionAssemblyCategory(output);
+ }
+ catch (AssemblyException e)
+ {
+ throw new AssessmentSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new AssessmentSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ public IEnumerable AssembleCombinedFailureMechanismSections(
+ IEnumerable> input, double assessmentSectionLength)
+ {
+ try
+ {
+ ICommonFailureMechanismSectionAssembler kernel = factory.CreateCombinedFailureMechanismSectionAssemblyKernel();
+ AssemblyResult output = kernel.AssembleCommonFailureMechanismSections(FailureMechanismSectionListCreator.Create(input), assessmentSectionLength, false);
+
+ return CombinedFailureMechanismSectionAssemblyCreator.Create(output);
+ }
+ catch (AssemblyException e)
+ {
+ throw new AssessmentSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new AssessmentSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/AssessmentSectionAssemblyCalculatorException.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/AssessmentSectionAssemblyCalculatorException.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/AssessmentSectionAssemblyCalculatorException.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,68 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Runtime.Serialization;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Calculators.Assembly
+{
+ ///
+ /// The exception that is thrown when an error occurs while performing an assessment section assembly.
+ ///
+ [Serializable]
+ public class AssessmentSectionAssemblyCalculatorException : Exception
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public AssessmentSectionAssemblyCalculatorException() {}
+
+ ///
+ /// Initializes a new instance of the class
+ /// with a specified error message.
+ ///
+ /// The message that describes the error.
+ public AssessmentSectionAssemblyCalculatorException(string message)
+ : base(message) {}
+
+ ///
+ /// Initializes a new instance of the class with a specified error message
+ /// and a reference to the inner exception that is the cause of this exception.
+ ///
+ /// The error message that explains the reason for the exception.
+ /// The exception that is the cause of the current exception,
+ /// or null if no inner exception is specified.
+ public AssessmentSectionAssemblyCalculatorException(string message, Exception innerException) : base(message, innerException) {}
+
+ ///
+ /// Initializes a new instance of with
+ /// serialized data.
+ /// The that holds the serialized
+ /// object data about the exception being thrown.
+ /// The that contains contextual
+ /// information about the source or destination.
+ /// The parameter is
+ /// null.
+ /// The class name is null or
+ /// is zero (0).
+ protected AssessmentSectionAssemblyCalculatorException(SerializationInfo info, StreamingContext context) : base(info, context) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismAssemblyCalculator.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismAssemblyCalculator.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismAssemblyCalculator.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,107 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// 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 Assembly.Kernel.Exceptions;
+using Assembly.Kernel.Interfaces;
+using Assembly.Kernel.Model;
+using Assembly.Kernel.Model.CategoryLimits;
+using Riskeer.AssemblyTool.Data;
+using Riskeer.AssemblyTool.KernelWrapper.Creators;
+using Riskeer.AssemblyTool.KernelWrapper.Kernels;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Calculators.Assembly
+{
+ ///
+ /// Class representing a failure mechanism assembly calculator.
+ ///
+ public class FailureMechanismAssemblyCalculator : IFailureMechanismAssemblyCalculator
+ {
+ private readonly IAssemblyToolKernelFactory factory;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The factory responsible for creating the assembly kernel.
+ /// Thrown when any parameter is null.
+ public FailureMechanismAssemblyCalculator(IAssemblyToolKernelFactory factory)
+ {
+ if (factory == null)
+ {
+ throw new ArgumentNullException(nameof(factory));
+ }
+
+ this.factory = factory;
+ }
+
+ public FailureMechanismAssemblyCategoryGroup Assemble(IEnumerable sectionCategories)
+ {
+ try
+ {
+ IFailureMechanismResultAssembler kernel = factory.CreateFailureMechanismAssemblyKernel();
+ EFailureMechanismCategory output = kernel.AssembleFailureMechanismWbi1A1(
+ sectionCategories.Select(FailureMechanismSectionAssemblyCalculatorInputCreator.CreateFailureMechanismSectionAssemblyDirectResult).ToArray(),
+ false);
+
+ return FailureMechanismAssemblyCreator.CreateFailureMechanismAssemblyCategoryGroup(output);
+ }
+ catch (AssemblyException e)
+ {
+ throw new FailureMechanismAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new FailureMechanismAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ public FailureMechanismAssembly Assemble(IEnumerable sectionAssemblies,
+ AssemblyCategoriesInput assemblyCategoriesInput)
+ {
+ try
+ {
+ ICategoryLimitsCalculator categoriesKernel = factory.CreateAssemblyCategoriesKernel();
+ CategoriesList categories = categoriesKernel.CalculateFailureMechanismCategoryLimitsWbi11(
+ new AssessmentSection(1, assemblyCategoriesInput.SignalingNorm, assemblyCategoriesInput.LowerLimitNorm),
+ new FailureMechanism(assemblyCategoriesInput.N, assemblyCategoriesInput.FailureMechanismContribution));
+
+ IFailureMechanismResultAssembler kernel = factory.CreateFailureMechanismAssemblyKernel();
+ FailureMechanismAssemblyResult output = kernel.AssembleFailureMechanismWbi1B1(
+ new FailureMechanism(assemblyCategoriesInput.N, assemblyCategoriesInput.FailureMechanismContribution),
+ sectionAssemblies.Select(FailureMechanismSectionAssemblyCalculatorInputCreator.CreateFailureMechanismSectionAssemblyDirectResult).ToArray(),
+ categories,
+ false);
+
+ return FailureMechanismAssemblyCreator.Create(output);
+ }
+ catch (AssemblyException e)
+ {
+ throw new FailureMechanismAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new FailureMechanismAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismAssemblyCalculatorException.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismAssemblyCalculatorException.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismAssemblyCalculatorException.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,68 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Runtime.Serialization;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Calculators.Assembly
+{
+ ///
+ /// The exception that is thrown when an error occurs while performing a failure mechanism assembly.
+ ///
+ [Serializable]
+ public class FailureMechanismAssemblyCalculatorException : Exception
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public FailureMechanismAssemblyCalculatorException() {}
+
+ ///
+ /// Initializes a new instance of the class
+ /// with a specified error message.
+ ///
+ /// The error message that explains the reason for the exception.
+ public FailureMechanismAssemblyCalculatorException(string message) : base(message) {}
+
+ ///
+ /// Initializes a new instance of the class
+ /// with a specified error message and a reference to the inner exception that is
+ /// the cause of this exception.
+ ///
+ /// The error message that explains the reason for the exception.
+ /// The exception that is the cause of the current exception,
+ /// or a null reference if no inner exception is specified.
+ public FailureMechanismAssemblyCalculatorException(string message, Exception inner) : base(message, inner) {}
+
+ ///
+ /// Initializes a new instance of with
+ /// serialized data.
+ /// The that holds the serialized
+ /// object data about the exception being thrown.
+ /// The that contains contextual
+ /// information about the source or destination.
+ /// The parameter is
+ /// null.
+ /// The class name is null or
+ /// is zero (0).
+ protected FailureMechanismAssemblyCalculatorException(SerializationInfo info, StreamingContext context) : base(info, context) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismSectionAssemblyCalculator.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismSectionAssemblyCalculator.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismSectionAssemblyCalculator.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,547 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Assembly.Kernel.Exceptions;
+using Assembly.Kernel.Interfaces;
+using Assembly.Kernel.Model;
+using Assembly.Kernel.Model.AssessmentResultTypes;
+using Assembly.Kernel.Model.CategoryLimits;
+using Assembly.Kernel.Model.FmSectionTypes;
+using Ringtoets.Common.Primitives;
+using Riskeer.AssemblyTool.Data;
+using Riskeer.AssemblyTool.KernelWrapper.Creators;
+using Riskeer.AssemblyTool.KernelWrapper.Kernels;
+using IFailureMechanismSectionAssemblyCalculatorKernel = Assembly.Kernel.Interfaces.IAssessmentResultsTranslator;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Calculators.Assembly
+{
+ ///
+ /// Class representing a failure mechanism section assembly calculator.
+ ///
+ public class FailureMechanismSectionAssemblyCalculator : IFailureMechanismSectionAssemblyCalculator
+ {
+ private readonly IAssemblyToolKernelFactory factory;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The factory responsible for creating the assembly kernel.
+ /// Thrown when any parameter is null.
+ public FailureMechanismSectionAssemblyCalculator(IAssemblyToolKernelFactory factory)
+ {
+ if (factory == null)
+ {
+ throw new ArgumentNullException(nameof(factory));
+ }
+
+ this.factory = factory;
+ }
+
+ #region Simple Assessment
+
+ public FailureMechanismSectionAssembly AssembleSimpleAssessment(SimpleAssessmentResultType input)
+ {
+ try
+ {
+ IFailureMechanismSectionAssemblyCalculatorKernel kernel = factory.CreateFailureMechanismSectionAssemblyKernel();
+ FmSectionAssemblyDirectResultWithProbability output = kernel.TranslateAssessmentResultWbi0E1(
+ FailureMechanismSectionAssemblyCalculatorInputCreator.CreateAssessmentResultTypeE1(input));
+
+ return FailureMechanismSectionAssemblyCreator.Create(output);
+ }
+ catch (AssemblyException e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ public FailureMechanismSectionAssembly AssembleSimpleAssessment(SimpleAssessmentValidityOnlyResultType input)
+ {
+ try
+ {
+ IFailureMechanismSectionAssemblyCalculatorKernel kernel = factory.CreateFailureMechanismSectionAssemblyKernel();
+ FmSectionAssemblyDirectResultWithProbability output = kernel.TranslateAssessmentResultWbi0E3(
+ FailureMechanismSectionAssemblyCalculatorInputCreator.CreateAssessmentResultTypeE2(input));
+
+ return FailureMechanismSectionAssemblyCreator.Create(output);
+ }
+ catch (AssemblyException e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ #endregion
+
+ #region Detailed Assessment
+
+ public FailureMechanismSectionAssemblyCategoryGroup AssembleDetailedAssessment(DetailedAssessmentResultType detailedAssessmentResult)
+ {
+ try
+ {
+ IFailureMechanismSectionAssemblyCalculatorKernel kernel = factory.CreateFailureMechanismSectionAssemblyKernel();
+ FmSectionAssemblyDirectResult output = kernel.TranslateAssessmentResultWbi0G1(
+ FailureMechanismSectionAssemblyCalculatorInputCreator.CreateAssessmentResultTypeG1(detailedAssessmentResult));
+
+ return FailureMechanismSectionAssemblyCreator.CreateFailureMechanismSectionAssemblyCategoryGroup(output.Result);
+ }
+ catch (AssemblyException e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ public FailureMechanismSectionAssembly AssembleDetailedAssessment(DetailedAssessmentProbabilityOnlyResultType detailedAssessmentResult,
+ double probability,
+ AssemblyCategoriesInput assemblyCategoriesInput)
+ {
+ return GetDetailedAssembly(detailedAssessmentResult, probability, assemblyCategoriesInput);
+ }
+
+ public FailureMechanismSectionAssembly AssembleDetailedAssessment(DetailedAssessmentProbabilityOnlyResultType detailedAssessmentResult,
+ double probability,
+ double failureMechanismSectionN,
+ AssemblyCategoriesInput assemblyCategoriesInput)
+ {
+ return GetDetailedAssembly(detailedAssessmentResult, probability, failureMechanismSectionN, assemblyCategoriesInput);
+ }
+
+ public FailureMechanismSectionAssembly AssembleDetailedAssessment(DetailedAssessmentProbabilityOnlyResultType detailedAssessmentResult,
+ double probability,
+ double normativeNorm,
+ double failureMechanismN,
+ double failureMechanismContribution)
+ {
+ try
+ {
+ ICategoryLimitsCalculator categoriesKernel = factory.CreateAssemblyCategoriesKernel();
+ CategoriesList categories = categoriesKernel.CalculateFmSectionCategoryLimitsWbi02(
+ normativeNorm,
+ new FailureMechanism(failureMechanismN, failureMechanismContribution));
+
+ IFailureMechanismSectionAssemblyCalculatorKernel kernel = factory.CreateFailureMechanismSectionAssemblyKernel();
+ FmSectionAssemblyDirectResultWithProbability output =
+ kernel.TranslateAssessmentResultWbi0G3(GetAssessmentResultTypeG2(detailedAssessmentResult, probability),
+ probability,
+ categories);
+
+ return FailureMechanismSectionAssemblyCreator.Create(output);
+ }
+ catch (AssemblyException e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ public FailureMechanismSectionAssemblyCategoryGroup AssembleDetailedAssessment(
+ DetailedAssessmentResultType detailedAssessmentResultForFactorizedSignalingNorm,
+ DetailedAssessmentResultType detailedAssessmentResultForSignalingNorm,
+ DetailedAssessmentResultType detailedAssessmentResultForMechanismSpecificLowerLimitNorm,
+ DetailedAssessmentResultType detailedAssessmentResultForLowerLimitNorm,
+ DetailedAssessmentResultType detailedAssessmentResultForFactorizedLowerLimitNorm)
+ {
+ try
+ {
+ IFailureMechanismSectionAssemblyCalculatorKernel kernel = factory.CreateFailureMechanismSectionAssemblyKernel();
+ FmSectionAssemblyDirectResult output = kernel.TranslateAssessmentResultWbi0G6(
+ FailureMechanismSectionAssemblyCalculatorInputCreator.CreateCategoryCompliancyResults(
+ detailedAssessmentResultForFactorizedSignalingNorm,
+ detailedAssessmentResultForSignalingNorm,
+ detailedAssessmentResultForMechanismSpecificLowerLimitNorm,
+ detailedAssessmentResultForLowerLimitNorm,
+ detailedAssessmentResultForFactorizedLowerLimitNorm));
+
+ return FailureMechanismSectionAssemblyCreator.CreateFailureMechanismSectionAssemblyCategoryGroup(output.Result);
+ }
+ catch (AssemblyException e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ private FailureMechanismSectionAssembly GetDetailedAssembly(DetailedAssessmentProbabilityOnlyResultType detailedAssessmentResult,
+ double probability,
+ AssemblyCategoriesInput assemblyCategoriesInput)
+ {
+ try
+ {
+ IFailureMechanismSectionAssemblyCalculatorKernel kernel = factory.CreateFailureMechanismSectionAssemblyKernel();
+ FmSectionAssemblyDirectResultWithProbability output =
+ kernel.TranslateAssessmentResultWbi0G3(GetAssessmentResultTypeG2(detailedAssessmentResult, probability),
+ probability,
+ GetWbi01Categories(assemblyCategoriesInput));
+
+ return FailureMechanismSectionAssemblyCreator.Create(output);
+ }
+ catch (AssemblyException e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ private FailureMechanismSectionAssembly GetDetailedAssembly(DetailedAssessmentProbabilityOnlyResultType detailedAssessmentResult,
+ double probability,
+ double failureMechanismSectionN,
+ AssemblyCategoriesInput assemblyCategoriesInput)
+ {
+ try
+ {
+ IFailureMechanismSectionAssemblyCalculatorKernel kernel = factory.CreateFailureMechanismSectionAssemblyKernel();
+ FmSectionAssemblyDirectResultWithProbability output = kernel.TranslateAssessmentResultWbi0G5(failureMechanismSectionN,
+ GetAssessmentResultTypeG2(detailedAssessmentResult, probability),
+ probability,
+ GetWbi01Categories(assemblyCategoriesInput));
+
+ return FailureMechanismSectionAssemblyCreator.Create(output);
+ }
+ catch (AssemblyException e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ private static EAssessmentResultTypeG2 GetAssessmentResultTypeG2(DetailedAssessmentProbabilityOnlyResultType detailedAssessmentResult, double probability)
+ {
+ return double.IsNaN(probability) && detailedAssessmentResult == DetailedAssessmentProbabilityOnlyResultType.Probability
+ ? EAssessmentResultTypeG2.Gr
+ : FailureMechanismSectionAssemblyCalculatorInputCreator.CreateAssessmentResultTypeG2(detailedAssessmentResult);
+ }
+
+ #endregion
+
+ #region Tailor Made Assessment
+
+ public FailureMechanismSectionAssemblyCategoryGroup AssembleTailorMadeAssessment(TailorMadeAssessmentResultType tailorMadeAssessmentResult)
+ {
+ try
+ {
+ IFailureMechanismSectionAssemblyCalculatorKernel kernel = factory.CreateFailureMechanismSectionAssemblyKernel();
+ FmSectionAssemblyDirectResult output = kernel.TranslateAssessmentResultWbi0T1(
+ FailureMechanismSectionAssemblyCalculatorInputCreator.CreateAssessmentResultTypeT1(tailorMadeAssessmentResult));
+
+ return FailureMechanismSectionAssemblyCreator.CreateFailureMechanismSectionAssemblyCategoryGroup(output.Result);
+ }
+ catch (AssemblyException e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ public FailureMechanismSectionAssembly AssembleTailorMadeAssessment(TailorMadeAssessmentProbabilityAndDetailedCalculationResultType tailorMadeAssessmentResult,
+ double probability,
+ double normativeNorm,
+ double failureMechanismN,
+ double failureMechanismContribution)
+ {
+ try
+ {
+ ICategoryLimitsCalculator categoriesKernel = factory.CreateAssemblyCategoriesKernel();
+ CategoriesList categories = categoriesKernel.CalculateFmSectionCategoryLimitsWbi02(
+ normativeNorm,
+ new FailureMechanism(failureMechanismN, failureMechanismContribution));
+
+ IFailureMechanismSectionAssemblyCalculatorKernel kernel = factory.CreateFailureMechanismSectionAssemblyKernel();
+ FmSectionAssemblyDirectResult output = kernel.TranslateAssessmentResultWbi0T7(
+ double.IsNaN(probability) && tailorMadeAssessmentResult == TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.Probability
+ ? EAssessmentResultTypeT4.Gr
+ : FailureMechanismSectionAssemblyCalculatorInputCreator.CreateAssessmentResultTypeT4(tailorMadeAssessmentResult),
+ probability,
+ categories);
+
+ return FailureMechanismSectionAssemblyCreator.Create(output);
+ }
+ catch (AssemblyException e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ public FailureMechanismSectionAssembly AssembleTailorMadeAssessment(TailorMadeAssessmentProbabilityCalculationResultType tailorMadeAssessmentResult,
+ double probability,
+ AssemblyCategoriesInput assemblyCategoriesInput)
+ {
+ try
+ {
+ IFailureMechanismSectionAssemblyCalculatorKernel kernel = factory.CreateFailureMechanismSectionAssemblyKernel();
+ FmSectionAssemblyDirectResultWithProbability output = kernel.TranslateAssessmentResultWbi0T3(
+ double.IsNaN(probability) && tailorMadeAssessmentResult == TailorMadeAssessmentProbabilityCalculationResultType.Probability
+ ? EAssessmentResultTypeT3.Gr
+ : FailureMechanismSectionAssemblyCalculatorInputCreator.CreateAssessmentResultTypeT3(tailorMadeAssessmentResult),
+ probability,
+ GetWbi01Categories(assemblyCategoriesInput));
+
+ return FailureMechanismSectionAssemblyCreator.Create(output);
+ }
+ catch (AssemblyException e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ private CategoriesList GetWbi01Categories(AssemblyCategoriesInput assemblyCategoriesInput)
+ {
+ ICategoryLimitsCalculator categoriesKernel = factory.CreateAssemblyCategoriesKernel();
+ return categoriesKernel.CalculateFmSectionCategoryLimitsWbi01(
+ new AssessmentSection(1, assemblyCategoriesInput.SignalingNorm, assemblyCategoriesInput.LowerLimitNorm),
+ new FailureMechanism(assemblyCategoriesInput.N, assemblyCategoriesInput.FailureMechanismContribution));
+ }
+
+ public FailureMechanismSectionAssembly AssembleTailorMadeAssessment(TailorMadeAssessmentProbabilityCalculationResultType tailorMadeAssessmentResult,
+ double probability,
+ double failureMechanismSectionN,
+ AssemblyCategoriesInput assemblyCategoriesInput)
+ {
+ try
+ {
+ IFailureMechanismSectionAssemblyCalculatorKernel kernel = factory.CreateFailureMechanismSectionAssemblyKernel();
+ FmSectionAssemblyDirectResultWithProbability output = kernel.TranslateAssessmentResultWbi0T5(
+ failureMechanismSectionN,
+ double.IsNaN(probability) && tailorMadeAssessmentResult == TailorMadeAssessmentProbabilityCalculationResultType.Probability
+ ? EAssessmentResultTypeT3.Gr
+ : FailureMechanismSectionAssemblyCalculatorInputCreator.CreateAssessmentResultTypeT3(tailorMadeAssessmentResult),
+ probability,
+ GetWbi01Categories(assemblyCategoriesInput));
+
+ return FailureMechanismSectionAssemblyCreator.Create(output);
+ }
+ catch (AssemblyException e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ public FailureMechanismSectionAssemblyCategoryGroup AssembleTailorMadeAssessment(
+ TailorMadeAssessmentCategoryGroupResultType tailorMadeAssessmentResult)
+ {
+ try
+ {
+ IFailureMechanismSectionAssemblyCalculatorKernel kernel = factory.CreateFailureMechanismSectionAssemblyKernel();
+ Tuple input =
+ FailureMechanismSectionAssemblyCalculatorInputCreator.CreateAssessmentResultTypeT3WithCategoryGroupResult(
+ tailorMadeAssessmentResult);
+
+ FmSectionAssemblyDirectResult output = kernel.TranslateAssessmentResultWbi0T4(input.Item1, input.Item2);
+
+ return FailureMechanismSectionAssemblyCreator.CreateFailureMechanismSectionAssemblyCategoryGroup(output.Result);
+ }
+ catch (AssemblyException e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ #endregion
+
+ #region Combined Assembly
+
+ public FailureMechanismSectionAssembly AssembleCombined(FailureMechanismSectionAssembly simpleAssembly)
+ {
+ try
+ {
+ IFailureMechanismSectionAssemblyCalculatorKernel kernel = factory.CreateFailureMechanismSectionAssemblyKernel();
+ FmSectionAssemblyDirectResultWithProbability output = kernel.TranslateAssessmentResultWbi0A1(
+ FailureMechanismSectionAssemblyCalculatorInputCreator.CreateFailureMechanismSectionAssemblyDirectResult(simpleAssembly),
+ null,
+ null);
+
+ return FailureMechanismSectionAssemblyCreator.Create(output);
+ }
+ catch (AssemblyException e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ public FailureMechanismSectionAssembly AssembleCombined(FailureMechanismSectionAssembly simpleAssembly,
+ FailureMechanismSectionAssembly detailedAssembly,
+ FailureMechanismSectionAssembly tailorMadeAssembly)
+ {
+ try
+ {
+ IFailureMechanismSectionAssemblyCalculatorKernel kernel = factory.CreateFailureMechanismSectionAssemblyKernel();
+ FmSectionAssemblyDirectResultWithProbability output = kernel.TranslateAssessmentResultWbi0A1(
+ FailureMechanismSectionAssemblyCalculatorInputCreator.CreateFailureMechanismSectionAssemblyDirectResult(simpleAssembly),
+ FailureMechanismSectionAssemblyCalculatorInputCreator.CreateFailureMechanismSectionAssemblyDirectResult(detailedAssembly),
+ FailureMechanismSectionAssemblyCalculatorInputCreator.CreateFailureMechanismSectionAssemblyDirectResult(tailorMadeAssembly));
+
+ return FailureMechanismSectionAssemblyCreator.Create(output);
+ }
+ catch (AssemblyException e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ public FailureMechanismSectionAssemblyCategoryGroup AssembleCombined(FailureMechanismSectionAssemblyCategoryGroup simpleAssembly)
+ {
+ try
+ {
+ return AssembleCombined(FailureMechanismSectionAssemblyCalculatorInputCreator.CreateFailureMechanismSectionAssemblyDirectResult(simpleAssembly),
+ null,
+ null);
+ }
+ catch (AssemblyException e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ public FailureMechanismSectionAssemblyCategoryGroup AssembleCombined(FailureMechanismSectionAssemblyCategoryGroup simpleAssembly,
+ FailureMechanismSectionAssemblyCategoryGroup tailorMadeAssembly)
+ {
+ try
+ {
+ return AssembleCombined(FailureMechanismSectionAssemblyCalculatorInputCreator.CreateFailureMechanismSectionAssemblyDirectResult(simpleAssembly),
+ null,
+ FailureMechanismSectionAssemblyCalculatorInputCreator.CreateFailureMechanismSectionAssemblyDirectResult(tailorMadeAssembly));
+ }
+ catch (AssemblyException e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ public FailureMechanismSectionAssemblyCategoryGroup AssembleCombined(FailureMechanismSectionAssemblyCategoryGroup simpleAssembly,
+ FailureMechanismSectionAssemblyCategoryGroup detailedAssembly,
+ FailureMechanismSectionAssemblyCategoryGroup tailorMadeAssembly)
+ {
+ try
+ {
+ return AssembleCombined(FailureMechanismSectionAssemblyCalculatorInputCreator.CreateFailureMechanismSectionAssemblyDirectResult(simpleAssembly),
+ FailureMechanismSectionAssemblyCalculatorInputCreator.CreateFailureMechanismSectionAssemblyDirectResult(detailedAssembly),
+ FailureMechanismSectionAssemblyCalculatorInputCreator.CreateFailureMechanismSectionAssemblyDirectResult(tailorMadeAssembly));
+ }
+ catch (AssemblyException e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new FailureMechanismSectionAssemblyCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ ///
+ /// Assembles the combined assembly based on the input parameters.
+ ///
+ /// The simple assembly result.
+ /// The simple assembly result.
+ /// The tailor made assembly result.
+ /// A .
+ /// Thrown when an error occurs while assembling.
+ private FailureMechanismSectionAssemblyCategoryGroup AssembleCombined(FmSectionAssemblyDirectResult simpleAssemblyResult,
+ FmSectionAssemblyDirectResult detailedAssemblyResult,
+ FmSectionAssemblyDirectResult tailorMadeAssemblyResult)
+ {
+ IFailureMechanismSectionAssemblyCalculatorKernel kernel = factory.CreateFailureMechanismSectionAssemblyKernel();
+ FmSectionAssemblyDirectResult output = kernel.TranslateAssessmentResultWbi0A1(
+ simpleAssemblyResult,
+ detailedAssemblyResult,
+ tailorMadeAssemblyResult);
+
+ return FailureMechanismSectionAssemblyCreator.CreateFailureMechanismSectionAssemblyCategoryGroup(output.Result);
+ }
+
+ #endregion
+
+ #region Manual Assembly
+
+ public FailureMechanismSectionAssembly AssembleManual(double probability,
+ AssemblyCategoriesInput assemblyCategoriesInput)
+ {
+ return GetDetailedAssembly(DetailedAssessmentProbabilityOnlyResultType.Probability, probability, assemblyCategoriesInput);
+ }
+
+ public FailureMechanismSectionAssembly AssembleManual(double probability,
+ double failureMechanismSectionN,
+ AssemblyCategoriesInput assemblyCategoriesInput)
+ {
+ return GetDetailedAssembly(DetailedAssessmentProbabilityOnlyResultType.Probability, probability, failureMechanismSectionN, assemblyCategoriesInput);
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorException.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorException.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorException.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,68 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Runtime.Serialization;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Calculators.Assembly
+{
+ ///
+ /// The exception that is thrown when an error occurs while performing a failure mechanism section assembly.
+ ///
+ [Serializable]
+ public class FailureMechanismSectionAssemblyCalculatorException : Exception
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public FailureMechanismSectionAssemblyCalculatorException() {}
+
+ ///
+ /// Initializes a new instance of the class
+ /// with a specified error message.
+ ///
+ /// The error message that explains the reason for the exception.
+ public FailureMechanismSectionAssemblyCalculatorException(string message) : base(message) {}
+
+ ///
+ /// Initializes a new instance of the class
+ /// with a specified error message and a reference to the inner exception that is
+ /// the cause of this exception.
+ ///
+ /// The error message that explains the reason for the exception.
+ /// The exception that is the cause of the current exception,
+ /// or a null reference if no inner exception is specified.
+ public FailureMechanismSectionAssemblyCalculatorException(string message, Exception inner) : base(message, inner) {}
+
+ ///
+ /// Initializes a new instance of with
+ /// serialized data.
+ /// The that holds the serialized
+ /// object data about the exception being thrown.
+ /// The that contains contextual
+ /// information about the source or destination.
+ /// The parameter is
+ /// null.
+ /// The class name is null or
+ /// is zero (0).
+ protected FailureMechanismSectionAssemblyCalculatorException(SerializationInfo info, StreamingContext context) : base(info, context) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/IAssessmentSectionAssemblyCalculator.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/IAssessmentSectionAssemblyCalculator.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/IAssessmentSectionAssemblyCalculator.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,82 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Collections.Generic;
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Calculators.Assembly
+{
+ ///
+ /// Interface representing an assessment section assembly calculator.
+ ///
+ public interface IAssessmentSectionAssemblyCalculator
+ {
+ ///
+ /// Assembles the failure mechanisms for the given .
+ ///
+ /// The collection of failure mechanism assemblies to assemble for.
+ /// The signaling norm to calculate with.
+ /// The lower limit norm to calculate with.
+ /// The failure probability margin factor to
+ /// calculate with.
+ /// A .
+ /// Thrown when
+ /// an error occurs while assembling.
+ FailureMechanismAssembly AssembleFailureMechanisms(IEnumerable input,
+ double signalingNorm,
+ double lowerLimitNorm,
+ double failureProbabilityMarginFactor);
+
+ ///
+ /// Assembles the failure mechanisms for the given .
+ ///
+ /// The collection of failure mechanism assembly category groups
+ /// to assemble for.
+ /// A .
+ /// Thrown when
+ /// an error occurs while assembling.
+ FailureMechanismAssemblyCategoryGroup AssembleFailureMechanisms(IEnumerable input);
+
+ ///
+ /// Assembles the assessment section for the given inputs.
+ ///
+ /// The assembly result for
+ /// failure mechanisms without probability to assemble for.
+ /// The assembly result for
+ /// failure mechanisms with probability to assemble for.
+ /// An .
+ /// Thrown when
+ /// an error occurs while assembling.
+ AssessmentSectionAssemblyCategoryGroup AssembleAssessmentSection(FailureMechanismAssemblyCategoryGroup failureMechanismsWithoutProbability,
+ FailureMechanismAssembly failureMechanismsWithProbability);
+
+ ///
+ /// Assembles the combined assessment section for the given input.
+ ///
+ /// The collection of failure mechanism section collections to assemble for.
+ /// The length of the assessment section.
+ /// A collection of .
+ /// Thrown when
+ /// an error occurs while assembling.
+ IEnumerable AssembleCombinedFailureMechanismSections(IEnumerable> input,
+ double assessmentSectionLength);
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/IFailureMechanismAssemblyCalculator.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/IFailureMechanismAssemblyCalculator.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/IFailureMechanismAssemblyCalculator.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,53 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Collections.Generic;
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Calculators.Assembly
+{
+ ///
+ /// Interface representing a failure mechanism assembly calculator.
+ ///
+ public interface IFailureMechanismAssemblyCalculator
+ {
+ ///
+ /// Assembles the failure mechanism using the given .
+ ///
+ /// The collection of to assemble for.
+ /// A .
+ /// Thrown when
+ /// an error occurs while assembling.
+ FailureMechanismAssemblyCategoryGroup Assemble(IEnumerable sectionCategories);
+
+ ///
+ /// Assembles the failure mechanism with failure probabilities using the given parameters.
+ ///
+ /// The collection of to assemble for.
+ /// The object containing the input parameters for
+ /// determining the assembly categories.
+ /// A .
+ /// Thrown when
+ /// an error occurs while assembling.
+ FailureMechanismAssembly Assemble(IEnumerable sectionAssemblies,
+ AssemblyCategoriesInput assemblyCategoriesInput);
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/IFailureMechanismSectionAssemblyCalculator.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/IFailureMechanismSectionAssemblyCalculator.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/IFailureMechanismSectionAssemblyCalculator.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,280 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.ComponentModel;
+using Ringtoets.Common.Primitives;
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Calculators.Assembly
+{
+ ///
+ /// Interface representing a failure mechanism section assembly calculator.
+ ///
+ public interface IFailureMechanismSectionAssemblyCalculator
+ {
+ ///
+ /// Assembles the simple assessment for the given .
+ ///
+ /// The to assemble for.
+ /// A .
+ /// Thrown when
+ /// an error occurs while assembling.
+ FailureMechanismSectionAssembly AssembleSimpleAssessment(SimpleAssessmentResultType input);
+
+ ///
+ /// Assembles the simple assessment for the given .
+ ///
+ /// The to assemble for.
+ /// A .
+ /// Thrown when
+ /// an error occurs while assembling.
+ FailureMechanismSectionAssembly AssembleSimpleAssessment(SimpleAssessmentValidityOnlyResultType input);
+
+ ///
+ /// Assembles the detailed assessment based on the input parameter.
+ ///
+ /// The to assemble for.
+ /// A .
+ /// Thrown when
+ /// an error occurs while assembling.
+ FailureMechanismSectionAssemblyCategoryGroup AssembleDetailedAssessment(DetailedAssessmentResultType detailedAssessmentResult);
+
+ ///
+ /// Assembles the detailed assessment based on the input parameters.
+ ///
+ /// The to assemble for.
+ /// The probability to calculate with.
+ /// The input parameters used to determine the assembly categories.
+ /// A .
+ /// Thrown when is
+ /// an invalid .
+ /// Thrown when contains
+ /// a valid but unsupported .
+ /// Thrown when
+ /// an error occurs while assembling.
+ FailureMechanismSectionAssembly AssembleDetailedAssessment(DetailedAssessmentProbabilityOnlyResultType detailedAssessmentResult,
+ double probability,
+ AssemblyCategoriesInput assemblyCategoriesInput);
+
+ ///
+ /// Assembles the detailed assessment based on the input parameters.
+ ///
+ /// The to assemble for.
+ /// The probability to calculate with.
+ /// The 'N' parameter used to factor in the 'length effect'.
+ /// The input parameters used to determine the assembly categories.
+ /// A .
+ /// Thrown when
+ /// an error occurs while assembling.
+ FailureMechanismSectionAssembly AssembleDetailedAssessment(DetailedAssessmentProbabilityOnlyResultType detailedAssessmentResult,
+ double probability,
+ double failureMechanismSectionN,
+ AssemblyCategoriesInput assemblyCategoriesInput);
+
+ ///
+ /// Assembles the detailed assessment based on the input parameters.
+ ///
+ /// The to assemble for.
+ /// The probability to calculate with.
+ /// The norm which has been defined on the assessment section.
+ /// The 'N' parameter used to factor in the 'length effect'.
+ /// The contribution of a failure mechanism.
+ /// A .
+ /// Thrown when
+ /// an error occurs while assembling.
+ FailureMechanismSectionAssembly AssembleDetailedAssessment(DetailedAssessmentProbabilityOnlyResultType detailedAssessmentResult,
+ double probability,
+ double normativeNorm,
+ double failureMechanismN,
+ double failureMechanismContribution);
+
+ ///
+ /// Assembles the detailed assessment based on the input parameters.
+ ///
+ /// The category boundary Iv
+ /// to assemble for.
+ /// The category boundary IIv
+ /// to assemble for.
+ /// TThe category boundary IIIv
+ /// to assemble for.
+ /// The category boundary IVv
+ /// to assemble for.
+ /// The category boundary Vv
+ /// to assemble for.
+ /// A .
+ /// Thrown when
+ /// an error occurs while assembling.
+ FailureMechanismSectionAssemblyCategoryGroup AssembleDetailedAssessment(
+ DetailedAssessmentResultType detailedAssessmentResultForFactorizedSignalingNorm,
+ DetailedAssessmentResultType detailedAssessmentResultForSignalingNorm,
+ DetailedAssessmentResultType detailedAssessmentResultForMechanismSpecificLowerLimitNorm,
+ DetailedAssessmentResultType detailedAssessmentResultForLowerLimitNorm,
+ DetailedAssessmentResultType detailedAssessmentResultForFactorizedLowerLimitNorm);
+
+ ///
+ /// Assembles the tailor made assessment based on the input parameter.
+ ///
+ /// The
+ /// to assemble for.
+ /// A .
+ /// Thrown when
+ /// an error occurs while assembling.
+ FailureMechanismSectionAssemblyCategoryGroup AssembleTailorMadeAssessment(TailorMadeAssessmentResultType tailorMadeAssessmentResult);
+
+ ///
+ /// Assembles the tailor made assessment based on the input parameters.
+ ///
+ /// The
+ /// to assemble for.
+ /// The probability to calculate with.
+ /// The norm which has been defined on the assessment section.
+ /// The 'N' parameter used to factor in the 'length effect'.
+ /// The contribution of a failure mechanism.
+ /// A .
+ /// Thrown when
+ /// an error occurs while assembling.
+ FailureMechanismSectionAssembly AssembleTailorMadeAssessment(TailorMadeAssessmentProbabilityAndDetailedCalculationResultType tailorMadeAssessmentResult,
+ double probability,
+ double normativeNorm,
+ double failureMechanismN,
+ double failureMechanismContribution);
+
+ ///
+ /// Assembles the tailor made assessment based on the input parameters.
+ ///
+ /// The
+ /// to assemble for.
+ /// The probability to calculate with.
+ /// The input parameters used to determine the assembly categories.
+ /// A .
+ /// Thrown when
+ /// an error occurs while assembling.
+ FailureMechanismSectionAssembly AssembleTailorMadeAssessment(TailorMadeAssessmentProbabilityCalculationResultType tailorMadeAssessmentResult,
+ double probability,
+ AssemblyCategoriesInput assemblyCategoriesInput);
+
+ ///
+ /// Assembles the tailor made assessment based on the input parameters.
+ ///
+ /// The
+ /// to assemble for.
+ /// The probability to calculate with.
+ /// The 'N' parameter used to factor in the 'length effect'.
+ /// The input parameters used to determine the assembly categories.
+ /// A .
+ /// Thrown when
+ /// an error occurs while assembling.
+ FailureMechanismSectionAssembly AssembleTailorMadeAssessment(TailorMadeAssessmentProbabilityCalculationResultType tailorMadeAssessmentResult,
+ double probability,
+ double failureMechanismSectionN,
+ AssemblyCategoriesInput assemblyCategoriesInput);
+
+ ///
+ /// Assembles the tailor made assessment based on the input parameters.
+ ///
+ /// The
+ /// to assemble for.
+ /// A .
+ /// Thrown when
+ /// an error occurs while assembling.
+ FailureMechanismSectionAssemblyCategoryGroup AssembleTailorMadeAssessment(TailorMadeAssessmentCategoryGroupResultType tailorMadeAssessmentResult);
+
+ ///
+ /// Assembles the combined assembly based on the given .
+ ///
+ /// The simple assembly.
+ /// A .
+ /// Thrown when
+ /// an error occurs while assembling.
+ FailureMechanismSectionAssembly AssembleCombined(FailureMechanismSectionAssembly simpleAssembly);
+
+ ///
+ /// Assembles the combined assembly based on the input parameters.
+ ///
+ /// The simple assembly.
+ /// The detailed assembly.
+ /// The tailor made assembly.
+ /// A .
+ /// Thrown when
+ /// an error occurs while assembling.
+ FailureMechanismSectionAssembly AssembleCombined(FailureMechanismSectionAssembly simpleAssembly,
+ FailureMechanismSectionAssembly detailedAssembly,
+ FailureMechanismSectionAssembly tailorMadeAssembly);
+
+ ///
+ /// Assembles the combined assembly based on the given .
+ ///
+ /// The simple assembly.
+ /// A .
+ /// Thrown when
+ /// an error occurs while assembling.
+ FailureMechanismSectionAssemblyCategoryGroup AssembleCombined(FailureMechanismSectionAssemblyCategoryGroup simpleAssembly);
+
+ ///
+ /// Assembles the combined assembly based on the input parameters.
+ ///
+ /// The simple assembly.
+ /// The tailor made assembly.
+ /// A .
+ /// Thrown when
+ /// an error occurs while assembling.
+ FailureMechanismSectionAssemblyCategoryGroup AssembleCombined(FailureMechanismSectionAssemblyCategoryGroup simpleAssembly,
+ FailureMechanismSectionAssemblyCategoryGroup tailorMadeAssembly);
+
+ ///
+ /// Assembles the combined assembly based on the input parameters.
+ ///
+ /// The simple assembly.
+ /// The detailed assembly.
+ /// The tailor made assembly.
+ /// A .
+ /// Thrown when
+ /// an error occurs while assembling.
+ FailureMechanismSectionAssemblyCategoryGroup AssembleCombined(FailureMechanismSectionAssemblyCategoryGroup simpleAssembly,
+ FailureMechanismSectionAssemblyCategoryGroup detailedAssembly,
+ FailureMechanismSectionAssemblyCategoryGroup tailorMadeAssembly);
+
+ ///
+ /// Assembles the manual assembly based on the input parameters.
+ ///
+ /// The probability to calculate with.
+ /// The input parameters used to determine the assembly categories.
+ /// A .
+ /// Thrown when
+ /// an error occurs while assembling.
+ FailureMechanismSectionAssembly AssembleManual(double probability,
+ AssemblyCategoriesInput assemblyCategoriesInput);
+
+ ///
+ /// Assembles the manual assembly based on the input parameters.
+ ///
+ /// The probability to calculate with.
+ /// The 'N' parameter used to factor in the 'length effect'.
+ /// The input parameters used to determine the assembly categories.
+ /// A .
+ /// Thrown when
+ /// an error occurs while assembling.
+ FailureMechanismSectionAssembly AssembleManual(double probability,
+ double failureMechanismSectionN,
+ AssemblyCategoriesInput assemblyCategoriesInput);
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/AssemblyToolCalculatorFactory.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/AssemblyToolCalculatorFactory.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/AssemblyToolCalculatorFactory.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,72 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using Riskeer.AssemblyTool.KernelWrapper.Calculators.Assembly;
+using Riskeer.AssemblyTool.KernelWrapper.Calculators.Categories;
+using Riskeer.AssemblyTool.KernelWrapper.Kernels;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Calculators
+{
+ ///
+ /// Factory which creates calculators for performing assembly tool calculations.
+ ///
+ public class AssemblyToolCalculatorFactory : IAssemblyToolCalculatorFactory
+ {
+ private static IAssemblyToolCalculatorFactory instance;
+
+ private AssemblyToolCalculatorFactory() {}
+
+ ///
+ /// Gets or sets an instance of .
+ ///
+ public static IAssemblyToolCalculatorFactory Instance
+ {
+ get
+ {
+ return instance ?? (instance = new AssemblyToolCalculatorFactory());
+ }
+ internal set
+ {
+ instance = value;
+ }
+ }
+
+ public IAssemblyCategoriesCalculator CreateAssemblyCategoriesCalculator(IAssemblyToolKernelFactory factory)
+ {
+ return new AssemblyCategoriesCalculator(factory);
+ }
+
+ public IFailureMechanismSectionAssemblyCalculator CreateFailureMechanismSectionAssemblyCalculator(IAssemblyToolKernelFactory factory)
+ {
+ return new FailureMechanismSectionAssemblyCalculator(factory);
+ }
+
+ public IFailureMechanismAssemblyCalculator CreateFailureMechanismAssemblyCalculator(IAssemblyToolKernelFactory factory)
+ {
+ return new FailureMechanismAssemblyCalculator(factory);
+ }
+
+ public IAssessmentSectionAssemblyCalculator CreateAssessmentSectionAssemblyCalculator(IAssemblyToolKernelFactory factory)
+ {
+ return new AssessmentSectionAssemblyCalculator(factory);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Categories/AssemblyCategoriesCalculator.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Categories/AssemblyCategoriesCalculator.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Categories/AssemblyCategoriesCalculator.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,142 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Assembly.Kernel.Exceptions;
+using Assembly.Kernel.Interfaces;
+using Assembly.Kernel.Model;
+using Assembly.Kernel.Model.CategoryLimits;
+using Riskeer.AssemblyTool.Data;
+using Riskeer.AssemblyTool.KernelWrapper.Creators;
+using Riskeer.AssemblyTool.KernelWrapper.Kernels;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Calculators.Categories
+{
+ ///
+ /// Class representing an assembly categories calculator.
+ ///
+ public class AssemblyCategoriesCalculator : IAssemblyCategoriesCalculator
+ {
+ private readonly IAssemblyToolKernelFactory factory;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The factory responsible for creating the assembly categories kernel.
+ /// Thrown when any parameter is null.
+ public AssemblyCategoriesCalculator(IAssemblyToolKernelFactory factory)
+ {
+ if (factory == null)
+ {
+ throw new ArgumentNullException(nameof(factory));
+ }
+
+ this.factory = factory;
+ }
+
+ public IEnumerable CalculateAssessmentSectionCategories(double signalingNorm, double lowerLimitNorm)
+ {
+ try
+ {
+ ICategoryLimitsCalculator kernel = factory.CreateAssemblyCategoriesKernel();
+ CategoriesList output = kernel.CalculateAssessmentSectionCategoryLimitsWbi21(
+ new AssessmentSection(1, signalingNorm, lowerLimitNorm));
+
+ return AssemblyCategoryCreator.CreateAssessmentSectionAssemblyCategories(output);
+ }
+ catch (AssemblyException e)
+ {
+ throw new AssemblyCategoriesCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new AssemblyCategoriesCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ public IEnumerable CalculateFailureMechanismCategories(AssemblyCategoriesInput assemblyCategoriesInput)
+ {
+ try
+ {
+ ICategoryLimitsCalculator kernel = factory.CreateAssemblyCategoriesKernel();
+ CategoriesList output = kernel.CalculateFailureMechanismCategoryLimitsWbi11(
+ new AssessmentSection(1, assemblyCategoriesInput.SignalingNorm, assemblyCategoriesInput.LowerLimitNorm),
+ new FailureMechanism(assemblyCategoriesInput.N, assemblyCategoriesInput.FailureMechanismContribution));
+
+ return AssemblyCategoryCreator.CreateFailureMechanismAssemblyCategories(output);
+ }
+ catch (AssemblyException e)
+ {
+ throw new AssemblyCategoriesCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new AssemblyCategoriesCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ public IEnumerable CalculateFailureMechanismSectionCategories(
+ AssemblyCategoriesInput assemblyCategoriesInput)
+ {
+ try
+ {
+ ICategoryLimitsCalculator kernel = factory.CreateAssemblyCategoriesKernel();
+ CategoriesList output = kernel.CalculateFmSectionCategoryLimitsWbi01(
+ new AssessmentSection(1, assemblyCategoriesInput.SignalingNorm, assemblyCategoriesInput.LowerLimitNorm),
+ new FailureMechanism(assemblyCategoriesInput.N, assemblyCategoriesInput.FailureMechanismContribution));
+
+ return AssemblyCategoryCreator.CreateFailureMechanismSectionAssemblyCategories(output);
+ }
+ catch (AssemblyException e)
+ {
+ throw new AssemblyCategoriesCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new AssemblyCategoriesCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+
+ public IEnumerable CalculateGeotechnicalFailureMechanismSectionCategories(double normativeNorm,
+ double failureMechanismN,
+ double failureMechanismContribution)
+ {
+ try
+ {
+ ICategoryLimitsCalculator kernel = factory.CreateAssemblyCategoriesKernel();
+ CategoriesList output = kernel.CalculateFmSectionCategoryLimitsWbi02(
+ normativeNorm,
+ new FailureMechanism(failureMechanismN, failureMechanismContribution));
+
+ return AssemblyCategoryCreator.CreateFailureMechanismSectionAssemblyCategories(output);
+ }
+ catch (AssemblyException e)
+ {
+ throw new AssemblyCategoriesCalculatorException(AssemblyErrorMessageCreator.CreateErrorMessage(e.Errors), e);
+ }
+ catch (Exception e)
+ {
+ throw new AssemblyCategoriesCalculatorException(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), e);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Categories/AssemblyCategoriesCalculatorException.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Categories/AssemblyCategoriesCalculatorException.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Categories/AssemblyCategoriesCalculatorException.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,68 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Runtime.Serialization;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Calculators.Categories
+{
+ ///
+ /// The exception that is thrown when an error occurs while performing an assembly categories calculation.
+ ///
+ [Serializable]
+ public class AssemblyCategoriesCalculatorException : Exception
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public AssemblyCategoriesCalculatorException() {}
+
+ ///
+ /// Initializes a new instance of the class
+ /// with a specified error message.
+ ///
+ /// The error message that explains the reason for the exception.
+ public AssemblyCategoriesCalculatorException(string message) : base(message) {}
+
+ ///
+ /// Initializes a new instance of the class
+ /// with a specified error message and a reference to the inner exception that is
+ /// the cause of this exception.
+ ///
+ /// The error message that explains the reason for the exception.
+ /// The exception that is the cause of the current exception,
+ /// or a null reference if no inner exception is specified.
+ public AssemblyCategoriesCalculatorException(string message, Exception inner) : base(message, inner) {}
+
+ ///
+ /// Initializes a new instance of with
+ /// serialized data.
+ /// The that holds the serialized
+ /// object data about the exception being thrown.
+ /// The that contains contextual
+ /// information about the source or destination.
+ /// The parameter is
+ /// null.
+ /// The class name is null or
+ /// is zero (0).
+ protected AssemblyCategoriesCalculatorException(SerializationInfo info, StreamingContext context) : base(info, context) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Categories/IAssemblyCategoriesCalculator.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Categories/IAssemblyCategoriesCalculator.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Categories/IAssemblyCategoriesCalculator.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,81 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Collections.Generic;
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Calculators.Categories
+{
+ ///
+ /// Interface representing an assembly categories calculator.
+ ///
+ public interface IAssemblyCategoriesCalculator
+ {
+ ///
+ /// Performs the calculation for getting the assessment section categories.
+ ///
+ /// The signaling norm to calculate with.
+ /// The lower limit norm to calculate with.
+ /// An with categories of
+ /// .
+ /// Thrown when an error occurs
+ /// while performing the calculation.
+ IEnumerable CalculateAssessmentSectionCategories(
+ double signalingNorm, double lowerLimitNorm);
+
+ ///
+ /// Performs the calculation for getting the failure mechanism categories.
+ ///
+ /// The object containing the input parameters for
+ /// determining the assembly categories.
+ /// An with categories of
+ /// .
+ /// Thrown when an error occurs
+ /// while performing the calculation.
+ IEnumerable CalculateFailureMechanismCategories(AssemblyCategoriesInput assemblyCategoriesInput);
+
+ ///
+ /// Performs the calculation for getting the failure mechanism section categories.
+ ///
+ /// The object containing the input parameters for
+ /// determining the assembly categories.
+ /// An with categories of
+ /// .
+ /// Thrown when an error occurs
+ /// while performing the calculation.
+ IEnumerable CalculateFailureMechanismSectionCategories(
+ AssemblyCategoriesInput assemblyCategoriesInput);
+
+ ///
+ /// Performs the calculation for getting the geotechnical failure mechanism section categories.
+ ///
+ /// The norm which has been defined on the assessment section.
+ /// The 'N' parameter used to factor in the 'length effect'.
+ /// The contribution of a failure mechanism.
+ /// An with categories of
+ /// .
+ /// Thrown when an error occurs
+ /// while performing the calculation.
+ IEnumerable CalculateGeotechnicalFailureMechanismSectionCategories(double normativeNorm,
+ double failureMechanismN,
+ double failureMechanismContribution);
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/IAssemblyToolCalculatorFactory.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/IAssemblyToolCalculatorFactory.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/IAssemblyToolCalculatorFactory.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,66 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Riskeer.AssemblyTool.KernelWrapper.Calculators.Assembly;
+using Riskeer.AssemblyTool.KernelWrapper.Calculators.Categories;
+using Riskeer.AssemblyTool.KernelWrapper.Kernels;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Calculators
+{
+ ///
+ /// Interface for a factory which creates calculators for performing assembly tool calculations.
+ ///
+ public interface IAssemblyToolCalculatorFactory
+ {
+ ///
+ /// Creates an assembly categories calculator.
+ ///
+ /// The factory responsible for creating the assembly categories kernel.
+ /// The assembly categories calculator.
+ /// Thrown when is null.
+ IAssemblyCategoriesCalculator CreateAssemblyCategoriesCalculator(IAssemblyToolKernelFactory factory);
+
+ ///
+ /// Creates a failure mechanism section assembly calculator.
+ ///
+ /// The factory responsible for creating the assembly kernel.
+ /// The failure mechanism section assembly calculator.
+ /// Thrown when is null.
+ IFailureMechanismSectionAssemblyCalculator CreateFailureMechanismSectionAssemblyCalculator(IAssemblyToolKernelFactory factory);
+
+ ///
+ /// Creates a failure mechanism assembly calculator.
+ ///
+ /// The factory responsible for creating the assembly kernel.
+ /// The failure mechanism assembly calculator.
+ /// Thrown when is null.
+ IFailureMechanismAssemblyCalculator CreateFailureMechanismAssemblyCalculator(IAssemblyToolKernelFactory factory);
+
+ ///
+ /// Creates an assessment section assembly calculator.
+ ///
+ /// The factory responsible for creating the assembly kernel.
+ /// The assessment section assembly calculator.
+ /// Thrown when is null.
+ IAssessmentSectionAssemblyCalculator CreateAssessmentSectionAssemblyCalculator(IAssemblyToolKernelFactory factory);
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/AssemblyCalculatorInputCreator.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/AssemblyCalculatorInputCreator.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/AssemblyCalculatorInputCreator.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,79 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.ComponentModel;
+using Assembly.Kernel.Model.FmSectionTypes;
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Creators
+{
+ ///
+ /// Creates input instances that can be used in the assembly kernel.
+ ///
+ internal static class AssemblyCalculatorInputCreator
+ {
+ ///
+ /// Creates a from a .
+ ///
+ /// The to create
+ /// an for.
+ /// An based on .
+ /// Thrown when
+ /// is an invalid value.
+ /// Thrown when
+ /// is a valid value, but unsupported.
+ public static EFmSectionCategory CreateFailureMechanismSectionCategory(
+ FailureMechanismSectionAssemblyCategoryGroup category)
+ {
+ if (!Enum.IsDefined(typeof(FailureMechanismSectionAssemblyCategoryGroup), category))
+ {
+ throw new InvalidEnumArgumentException(nameof(category),
+ (int) category,
+ typeof(FailureMechanismSectionAssemblyCategoryGroup));
+ }
+
+ switch (category)
+ {
+ case FailureMechanismSectionAssemblyCategoryGroup.Iv:
+ return EFmSectionCategory.Iv;
+ case FailureMechanismSectionAssemblyCategoryGroup.IIv:
+ return EFmSectionCategory.IIv;
+ case FailureMechanismSectionAssemblyCategoryGroup.IIIv:
+ return EFmSectionCategory.IIIv;
+ case FailureMechanismSectionAssemblyCategoryGroup.IVv:
+ return EFmSectionCategory.IVv;
+ case FailureMechanismSectionAssemblyCategoryGroup.Vv:
+ return EFmSectionCategory.Vv;
+ case FailureMechanismSectionAssemblyCategoryGroup.VIv:
+ return EFmSectionCategory.VIv;
+ case FailureMechanismSectionAssemblyCategoryGroup.VIIv:
+ return EFmSectionCategory.VIIv;
+ case FailureMechanismSectionAssemblyCategoryGroup.NotApplicable:
+ return EFmSectionCategory.NotApplicable;
+ case FailureMechanismSectionAssemblyCategoryGroup.None:
+ return EFmSectionCategory.Gr;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/AssemblyCategoryCreator.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/AssemblyCategoryCreator.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/AssemblyCategoryCreator.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,162 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using Assembly.Kernel.Model;
+using Assembly.Kernel.Model.CategoryLimits;
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Creators
+{
+ ///
+ /// Creates instances.
+ ///
+ internal static class AssemblyCategoryCreator
+ {
+ ///
+ /// Creates a collection of
+ /// based on the information given in the .
+ ///
+ /// The with
+ /// to create the result for.
+ /// A collection of
+ /// with information taken from the .
+ /// Thrown when is null.
+ /// Thrown when
+ /// contains an invalid value.
+ /// Thrown when
+ /// contains a valid value, but unsupported.
+ public static IEnumerable CreateAssessmentSectionAssemblyCategories(
+ CategoriesList categories)
+ {
+ if (categories == null)
+ {
+ throw new ArgumentNullException(nameof(categories));
+ }
+
+ return categories.Categories.Select(
+ categoriesOutput => new AssessmentSectionAssemblyCategory(
+ categoriesOutput.LowerLimit,
+ categoriesOutput.UpperLimit,
+ CreateAssessmentSectionAssemblyCategory(categoriesOutput.Category))).ToArray();
+ }
+
+ ///
+ /// Creates a collection of
+ /// based on the information given in the .
+ ///
+ /// The
+ /// with to create the result for.
+ /// A collection of
+ /// with information taken from the .
+ /// Thrown when is null.
+ /// Thrown when
+ /// contains an invalid value.
+ /// Thrown when
+ /// contains a valid value, but unsupported.
+ public static IEnumerable CreateFailureMechanismAssemblyCategories(
+ CategoriesList categories)
+ {
+ if (categories == null)
+ {
+ throw new ArgumentNullException(nameof(categories));
+ }
+
+ return categories.Categories.Select(
+ categoriesOutput => new FailureMechanismAssemblyCategory(
+ categoriesOutput.LowerLimit,
+ categoriesOutput.UpperLimit,
+ FailureMechanismAssemblyCreator.CreateFailureMechanismAssemblyCategoryGroup(categoriesOutput.Category))).ToArray();
+ }
+
+ ///
+ /// Creates a collection of
+ /// based on the information given in the .
+ ///
+ /// The with
+ /// to create the result for.
+ /// A collection of
+ /// with information taken from the .
+ /// Thrown when is null.
+ /// Thrown when
+ /// contains an invalid value.
+ /// Thrown when
+ /// contains a valid value, but unsupported.
+ public static IEnumerable CreateFailureMechanismSectionAssemblyCategories(
+ CategoriesList categories)
+ {
+ if (categories == null)
+ {
+ throw new ArgumentNullException(nameof(categories));
+ }
+
+ return categories.Categories.Select(
+ categoriesOutput => new FailureMechanismSectionAssemblyCategory(
+ categoriesOutput.LowerLimit,
+ categoriesOutput.UpperLimit,
+ FailureMechanismSectionAssemblyCreator.CreateFailureMechanismSectionAssemblyCategoryGroup(categoriesOutput.Category))).ToArray();
+ }
+
+ ///
+ /// Creates a based on .
+ ///
+ /// The to convert.
+ /// A based on .
+ /// Thrown when
+ /// is an invalid value.
+ /// Thrown when
+ /// is a valid value, but unsupported.
+ public static AssessmentSectionAssemblyCategoryGroup CreateAssessmentSectionAssemblyCategory(EAssessmentGrade category)
+ {
+ if (!Enum.IsDefined(typeof(EAssessmentGrade), category))
+ {
+ throw new InvalidEnumArgumentException(nameof(category),
+ (int) category,
+ typeof(EAssessmentGrade));
+ }
+
+ switch (category)
+ {
+ case EAssessmentGrade.APlus:
+ return AssessmentSectionAssemblyCategoryGroup.APlus;
+ case EAssessmentGrade.A:
+ return AssessmentSectionAssemblyCategoryGroup.A;
+ case EAssessmentGrade.B:
+ return AssessmentSectionAssemblyCategoryGroup.B;
+ case EAssessmentGrade.C:
+ return AssessmentSectionAssemblyCategoryGroup.C;
+ case EAssessmentGrade.D:
+ return AssessmentSectionAssemblyCategoryGroup.D;
+ case EAssessmentGrade.Gr:
+ return AssessmentSectionAssemblyCategoryGroup.None;
+ case EAssessmentGrade.Ngo:
+ return AssessmentSectionAssemblyCategoryGroup.NotAssessed;
+ case EAssessmentGrade.Nvt:
+ return AssessmentSectionAssemblyCategoryGroup.NotApplicable;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/AssemblyErrorMessageCreator.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/AssemblyErrorMessageCreator.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/AssemblyErrorMessageCreator.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,138 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using Assembly.Kernel.Exceptions;
+using Riskeer.AssemblyTool.KernelWrapper.Properties;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Creators
+{
+ ///
+ /// Class that creates to localized error messages for the assembly tool.
+ ///
+ public static class AssemblyErrorMessageCreator
+ {
+ ///
+ /// Creates a localized string based on the contents of .
+ ///
+ /// The collection of to localize.
+ /// A localized string containing the error messages.
+ /// Thrown when is null.
+ /// Thrown when contains an
+ /// invalid value of .
+ public static string CreateErrorMessage(IEnumerable errorMessages)
+ {
+ if (errorMessages == null)
+ {
+ throw new ArgumentNullException(nameof(errorMessages));
+ }
+
+ return errorMessages.Count() == 1
+ ? GetErrorMessage(errorMessages.Single().ErrorCode)
+ : errorMessages.Aggregate(string.Empty, (current, message) => current + "- " + GetErrorMessage(message.ErrorCode) + "\n");
+ }
+
+ ///
+ /// Creates a generic error message.
+ ///
+ /// A generic error message.
+ public static string CreateGenericErrorMessage()
+ {
+ return Resources.AssemblyErrorMessageCreator_GenericErrorMessage;
+ }
+
+ ///
+ /// Gets the localized error message that belongs to the given .
+ ///
+ /// The to localize.
+ /// A localized string.
+ /// Thrown when
+ /// is an invalid value of .
+ /// Thrown when is a valid value,
+ /// but unsupported.
+ private static string GetErrorMessage(EAssemblyErrors assemblyError)
+ {
+ if (!Enum.IsDefined(typeof(EAssemblyErrors), assemblyError))
+ {
+ throw new InvalidEnumArgumentException(nameof(assemblyError), (int) assemblyError, typeof(EAssemblyErrors));
+ }
+
+ switch (assemblyError)
+ {
+ case EAssemblyErrors.SignallingLimitOutOfRange:
+ return Resources.AssemblyErrorMessageCreator_SignalingLimitOutOfRange;
+ case EAssemblyErrors.LowerLimitOutOfRange:
+ return Resources.AssemblyErrorMessageCreator_LowerLimitOutOfRange;
+ case EAssemblyErrors.FailurePropbabilityMarginOutOfRange:
+ return Resources.AssemblyErrorMessageCreator_FailureProbabilityMarginOutOfRange;
+ case EAssemblyErrors.LengthEffectFactorOutOfRange:
+ return Resources.AssemblyErrorMessageCreator_LengthEffectFactorOutOfRange;
+ case EAssemblyErrors.SectionLengthOutOfRange:
+ return Resources.AssemblyErrorMessageCreator_SectionLengthOutOfRange;
+ case EAssemblyErrors.SignallingLimitAboveLowerLimit:
+ return Resources.AssemblyErrorMessageCreator_SignalingLimitAboveLowerLimit;
+ case EAssemblyErrors.PsigDsnAbovePsig:
+ return Resources.AssemblyErrorMessageCreator_PsigDsnAbovePsig;
+ case EAssemblyErrors.PlowDsnAbovePlow:
+ return Resources.AssemblyErrorMessageCreator_PlowDsnAbovePlow;
+ case EAssemblyErrors.LowerLimitIsAboveUpperLimit:
+ return Resources.AssemblyErrorMessageCreator_LowerLimitIsAboveUpperLimit;
+ case EAssemblyErrors.CategoryLowerLimitOutOfRange:
+ return Resources.AssemblyErrorMessageCreator_CategoryLowerLimitOutOfRange;
+ case EAssemblyErrors.CategoryUpperLimitOutOfRange:
+ return Resources.AssemblyErrorMessageCreator_CategoryUpperLimitOutOfRange;
+ case EAssemblyErrors.TranslateAssessmentInvalidInput:
+ return Resources.AssemblyErrorMessageCreator_TranslateAssessmentInvalidInput;
+ case EAssemblyErrors.ValueMayNotBeNull:
+ return Resources.AssemblyErrorMessageCreator_ValueMayNotBeNull;
+ case EAssemblyErrors.CategoryNotAllowed:
+ return Resources.AssemblyErrorMessageCreator_CategoryNotAllowed;
+ case EAssemblyErrors.DoesNotComplyAfterComply:
+ return Resources.AssemblyErrorMessageCreator_DoesNotComplyAfterComply;
+ case EAssemblyErrors.FmSectionLengthInvalid:
+ return Resources.AssemblyErrorMessageCreator_FmSectionLengthInvalid;
+ case EAssemblyErrors.FmSectionSectionStartEndInvalid:
+ return Resources.AssemblyErrorMessageCreator_FmSectionSectionStartEndInvalid;
+ case EAssemblyErrors.FailureProbabilityOutOfRange:
+ return Resources.AssemblyErrorMessageCreator_FailureProbabilityOutOfRange;
+ case EAssemblyErrors.InputNotTheSameType:
+ return Resources.AssemblyErrorMessageCreator_InputNotTheSameType;
+ case EAssemblyErrors.FailureMechanismAssemblerInputInvalid:
+ return Resources.AssemblyErrorMessageCreator_NoSectionsImported;
+ case EAssemblyErrors.CommonFailureMechanismSectionsInvalid:
+ return Resources.AssemblyErrorMessageCreator_CommonFailureMechanismSectionsInvalid;
+ case EAssemblyErrors.CommonFailureMechanismSectionsNotConsecutive:
+ return Resources.AssemblyErrorMessageCreator_CommonFailureMechanismSectionsNotConsecutive;
+ case EAssemblyErrors.RequestedPointOutOfRange:
+ return Resources.AssemblyErrorMessageCreator_RequestedPointOutOfRange;
+ case EAssemblyErrors.SectionsWithoutCategory:
+ return Resources.AssemblyErrorMessageCreator_SectionsWithoutCategory;
+ case EAssemblyErrors.InvalidCategoryLimits:
+ return Resources.AssemblyErrorMessageCreator_GetErrorMessage_InvalidCategoryLimits;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/AssessmentSectionAssemblyInputCreator.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/AssessmentSectionAssemblyInputCreator.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/AssessmentSectionAssemblyInputCreator.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,118 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.ComponentModel;
+using Assembly.Kernel.Exceptions;
+using Assembly.Kernel.Interfaces;
+using Assembly.Kernel.Model;
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Creators
+{
+ ///
+ /// Creates input instances to be used in the .
+ ///
+ internal static class AssessmentSectionAssemblyInputCreator
+ {
+ ///
+ /// Creates based on the given parameters.
+ ///
+ /// The assembly to create a for.
+ /// The created .
+ /// Thrown when
+ /// is null.
+ /// Thrown when contains
+ /// an invalid .
+ /// Thrown when contains
+ /// a valid but unsupported .
+ /// Thrown when has an
+ /// invalid value.
+ public static FailureMechanismAssemblyResult CreateFailureMechanismAssemblyResult(FailureMechanismAssembly input)
+ {
+ if (input == null)
+ {
+ throw new ArgumentNullException(nameof(input));
+ }
+
+ return new FailureMechanismAssemblyResult(CreateFailureMechanismCategory(input.Group),
+ input.Probability);
+ }
+
+ ///
+ /// Creates based on the given parameters.
+ ///
+ /// The assembly to create a for.
+ /// The created .
+ /// Thrown when contains
+ /// an invalid .
+ /// Thrown when contains
+ /// a valid but unsupported .
+ public static FailureMechanismAssemblyResult CreateFailureMechanismAssemblyResult(FailureMechanismAssemblyCategoryGroup input)
+ {
+ return new FailureMechanismAssemblyResult(CreateFailureMechanismCategory(input), double.NaN);
+ }
+
+ ///
+ /// Creates a based on the .
+ ///
+ /// The
+ /// to create a for.
+ /// The created .
+ /// Thrown when contains
+ /// an invalid .
+ /// Thrown when contains
+ /// a valid but unsupported .
+ public static EFailureMechanismCategory CreateFailureMechanismCategory(FailureMechanismAssemblyCategoryGroup input)
+ {
+ if (!Enum.IsDefined(typeof(FailureMechanismAssemblyCategoryGroup), input))
+ {
+ throw new InvalidEnumArgumentException(nameof(input),
+ (int) input,
+ typeof(FailureMechanismAssemblyCategoryGroup));
+ }
+
+ switch (input)
+ {
+ case FailureMechanismAssemblyCategoryGroup.None:
+ return EFailureMechanismCategory.Gr;
+ case FailureMechanismAssemblyCategoryGroup.NotApplicable:
+ return EFailureMechanismCategory.Nvt;
+ case FailureMechanismAssemblyCategoryGroup.It:
+ return EFailureMechanismCategory.It;
+ case FailureMechanismAssemblyCategoryGroup.IIt:
+ return EFailureMechanismCategory.IIt;
+ case FailureMechanismAssemblyCategoryGroup.IIIt:
+ return EFailureMechanismCategory.IIIt;
+ case FailureMechanismAssemblyCategoryGroup.IVt:
+ return EFailureMechanismCategory.IVt;
+ case FailureMechanismAssemblyCategoryGroup.Vt:
+ return EFailureMechanismCategory.Vt;
+ case FailureMechanismAssemblyCategoryGroup.VIt:
+ return EFailureMechanismCategory.VIt;
+ case FailureMechanismAssemblyCategoryGroup.VIIt:
+ return EFailureMechanismCategory.VIIt;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/CombinedFailureMechanismSectionAssemblyCreator.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/CombinedFailureMechanismSectionAssemblyCreator.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/CombinedFailureMechanismSectionAssemblyCreator.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,76 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// 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 Assembly.Kernel.Model;
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Creators
+{
+ ///
+ /// Creates instances.
+ ///
+ internal static class CombinedFailureMechanismSectionAssemblyCreator
+ {
+ ///
+ /// Creates a collection of
+ /// based on the .
+ ///
+ /// The to create the
+ /// for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ public static IEnumerable Create(AssemblyResult result)
+ {
+ if (result == null)
+ {
+ throw new ArgumentNullException(nameof(result));
+ }
+
+ var sectionAssemblies = new List();
+
+ for (var i = 0; i < result.CombinedSectionResult.Count(); i++)
+ {
+ FmSectionWithDirectCategory section = result.CombinedSectionResult.ElementAt(i);
+ sectionAssemblies.Add(new CombinedFailureMechanismSectionAssembly(
+ CreateSection(section),
+ result.ResultPerFailureMechanism
+ .Select(failureMechanismSectionList =>
+ (FmSectionWithDirectCategory) failureMechanismSectionList.Sections.ElementAt(i))
+ .Select(element =>
+ FailureMechanismSectionAssemblyCreator.CreateFailureMechanismSectionAssemblyCategoryGroup(
+ element.Category)).ToArray()));
+ }
+
+ return sectionAssemblies;
+ }
+
+ private static CombinedAssemblyFailureMechanismSection CreateSection(FmSectionWithDirectCategory section)
+ {
+ return new CombinedAssemblyFailureMechanismSection(
+ section.SectionStart, section.SectionEnd,
+ FailureMechanismSectionAssemblyCreator.CreateFailureMechanismSectionAssemblyCategoryGroup(section.Category));
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/FailureMechanismAssemblyCreator.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/FailureMechanismAssemblyCreator.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/FailureMechanismAssemblyCreator.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,99 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.ComponentModel;
+using Assembly.Kernel.Model;
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Creators
+{
+ ///
+ /// Creates instances and
+ /// values.
+ ///
+ internal static class FailureMechanismAssemblyCreator
+ {
+ ///
+ /// Creates from the given .
+ ///
+ /// The result to create the assembly from.
+ /// The created assembly.
+ /// Thrown when is null.
+ /// Thrown when
+ /// is an invalid value.
+ /// Thrown when
+ /// is a valid value, but unsupported.
+ public static FailureMechanismAssembly Create(FailureMechanismAssemblyResult result)
+ {
+ if (result == null)
+ {
+ throw new ArgumentNullException(nameof(result));
+ }
+
+ return new FailureMechanismAssembly(result.FailureProbability,
+ CreateFailureMechanismAssemblyCategoryGroup(result.Category));
+ }
+
+ ///
+ /// Converts a into a .
+ ///
+ /// The to convert.
+ /// A based on .
+ /// Thrown when
+ /// is an invalid value.
+ /// Thrown when
+ /// is a valid value, but unsupported.
+ public static FailureMechanismAssemblyCategoryGroup CreateFailureMechanismAssemblyCategoryGroup(EFailureMechanismCategory category)
+ {
+ if (!Enum.IsDefined(typeof(EFailureMechanismCategory), category))
+ {
+ throw new InvalidEnumArgumentException(nameof(category),
+ (int) category,
+ typeof(EFailureMechanismCategory));
+ }
+
+ switch (category)
+ {
+ case EFailureMechanismCategory.It:
+ return FailureMechanismAssemblyCategoryGroup.It;
+ case EFailureMechanismCategory.IIt:
+ return FailureMechanismAssemblyCategoryGroup.IIt;
+ case EFailureMechanismCategory.IIIt:
+ return FailureMechanismAssemblyCategoryGroup.IIIt;
+ case EFailureMechanismCategory.IVt:
+ return FailureMechanismAssemblyCategoryGroup.IVt;
+ case EFailureMechanismCategory.Vt:
+ return FailureMechanismAssemblyCategoryGroup.Vt;
+ case EFailureMechanismCategory.VIt:
+ return FailureMechanismAssemblyCategoryGroup.VIt;
+ case EFailureMechanismCategory.VIIt:
+ return FailureMechanismAssemblyCategoryGroup.VIIt;
+ case EFailureMechanismCategory.Gr:
+ return FailureMechanismAssemblyCategoryGroup.None;
+ case EFailureMechanismCategory.Nvt:
+ return FailureMechanismAssemblyCategoryGroup.NotApplicable;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/FailureMechanismSectionAssemblyCalculatorInputCreator.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/FailureMechanismSectionAssemblyCalculatorInputCreator.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/FailureMechanismSectionAssemblyCalculatorInputCreator.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,452 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.ComponentModel;
+using Assembly.Kernel.Exceptions;
+using Assembly.Kernel.Interfaces;
+using Assembly.Kernel.Model;
+using Assembly.Kernel.Model.AssessmentResultTypes;
+using Assembly.Kernel.Model.FmSectionTypes;
+using Ringtoets.Common.Primitives;
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Creators
+{
+ ///
+ /// Creates input instances that can be used in .
+ ///
+ internal static class FailureMechanismSectionAssemblyCalculatorInputCreator
+ {
+ ///
+ /// Creates based on the given .
+ ///
+ /// The to create an
+ /// for.
+ /// The created .
+ /// Thrown when
+ /// is an invalid value.
+ /// Thrown when
+ /// is a valid value, but unsupported.
+ public static EAssessmentResultTypeE1 CreateAssessmentResultTypeE1(SimpleAssessmentResultType input)
+ {
+ if (!Enum.IsDefined(typeof(SimpleAssessmentResultType), input))
+ {
+ throw new InvalidEnumArgumentException(nameof(input),
+ (int) input,
+ typeof(SimpleAssessmentResultType));
+ }
+
+ switch (input)
+ {
+ case SimpleAssessmentResultType.None:
+ return EAssessmentResultTypeE1.Gr;
+ case SimpleAssessmentResultType.NotApplicable:
+ return EAssessmentResultTypeE1.Nvt;
+ case SimpleAssessmentResultType.ProbabilityNegligible:
+ return EAssessmentResultTypeE1.Fv;
+ case SimpleAssessmentResultType.AssessFurther:
+ return EAssessmentResultTypeE1.Vb;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+
+ ///
+ /// Creates based on the given .
+ ///
+ /// The to create an
+ /// for.
+ /// The created .
+ /// Thrown when
+ /// is an invalid value.
+ /// Thrown when
+ /// is a valid value, but unsupported.
+ public static EAssessmentResultTypeE2 CreateAssessmentResultTypeE2(SimpleAssessmentValidityOnlyResultType input)
+ {
+ if (!Enum.IsDefined(typeof(SimpleAssessmentValidityOnlyResultType), input))
+ {
+ throw new InvalidEnumArgumentException(nameof(input),
+ (int) input,
+ typeof(SimpleAssessmentValidityOnlyResultType));
+ }
+
+ switch (input)
+ {
+ case SimpleAssessmentValidityOnlyResultType.None:
+ return EAssessmentResultTypeE2.Gr;
+ case SimpleAssessmentValidityOnlyResultType.NotApplicable:
+ return EAssessmentResultTypeE2.Nvt;
+ case SimpleAssessmentValidityOnlyResultType.Applicable:
+ return EAssessmentResultTypeE2.Wvt;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+
+ ///
+ /// Creates based on the given parameters.
+ ///
+ /// The to create
+ /// a for.
+ /// The created .
+ /// Thrown when
+ /// is null.
+ /// Thrown when contains
+ /// an invalid .
+ /// Thrown when contains
+ /// a valid but unsupported .
+ /// Thrown when has an
+ /// invalid value.
+ public static FmSectionAssemblyDirectResultWithProbability CreateFailureMechanismSectionAssemblyDirectResult(FailureMechanismSectionAssembly assembly)
+ {
+ if (assembly == null)
+ {
+ throw new ArgumentNullException(nameof(assembly));
+ }
+
+ return new FmSectionAssemblyDirectResultWithProbability(AssemblyCalculatorInputCreator.CreateFailureMechanismSectionCategory(assembly.Group),
+ assembly.Probability);
+ }
+
+ ///
+ /// Creates based on the given parameters.
+ ///
+ /// The
+ /// to create a for.
+ /// The created .
+ /// Thrown when is
+ /// an invalid .
+ /// Thrown when is
+ /// a valid but unsupported .
+ /// Thrown when has an
+ /// invalid value.
+ public static FmSectionAssemblyDirectResult CreateFailureMechanismSectionAssemblyDirectResult(
+ FailureMechanismSectionAssemblyCategoryGroup categoryGroup)
+ {
+ return new FmSectionAssemblyDirectResult(AssemblyCalculatorInputCreator.CreateFailureMechanismSectionCategory(categoryGroup));
+ }
+
+ ///
+ /// Creates a based on the given parameters.
+ ///
+ /// The
+ /// for category boundary Iv.
+ /// The for category
+ /// boundary IIv.
+ /// The
+ /// result for category boundary IIIv.
+ /// The for category
+ /// boundary IVv.
+ /// The
+ /// for category boundary Vv.
+ /// The created .
+ /// Thrown when any parameter is an invalid
+ /// .
+ /// Thrown when any parameter is a valid, but unsupported
+ /// .
+ public static FmSectionCategoryCompliancyResults CreateCategoryCompliancyResults(
+ DetailedAssessmentResultType detailedAssessmentResultForFactorizedSignalingNorm,
+ DetailedAssessmentResultType detailedAssessmentResultForSignalingNorm,
+ DetailedAssessmentResultType detailedAssessmentResultForMechanismSpecificLowerLimitNorm,
+ DetailedAssessmentResultType detailedAssessmentResultForLowerLimitNorm,
+ DetailedAssessmentResultType detailedAssessmentResultForFactorizedLowerLimitNorm)
+ {
+ var compliancyResults = new FmSectionCategoryCompliancyResults();
+ compliancyResults.Set(EFmSectionCategory.Iv, CreateCategoryCompliancy(detailedAssessmentResultForFactorizedSignalingNorm));
+ compliancyResults.Set(EFmSectionCategory.IIv, CreateCategoryCompliancy(detailedAssessmentResultForSignalingNorm));
+ compliancyResults.Set(EFmSectionCategory.IIIv, CreateCategoryCompliancy(detailedAssessmentResultForMechanismSpecificLowerLimitNorm));
+ compliancyResults.Set(EFmSectionCategory.IVv, CreateCategoryCompliancy(detailedAssessmentResultForLowerLimitNorm));
+ compliancyResults.Set(EFmSectionCategory.Vv, CreateCategoryCompliancy(detailedAssessmentResultForFactorizedLowerLimitNorm));
+ return compliancyResults;
+ }
+
+ ///
+ /// Creates a based on the given .
+ ///
+ /// The to create an
+ /// for.
+ /// The created .
+ /// Thrown when
+ /// is an invalid .
+ /// Thrown when
+ /// is a valid, but unsupported .
+ public static EAssessmentResultTypeG1 CreateAssessmentResultTypeG1(DetailedAssessmentResultType detailedAssessmentResult)
+ {
+ if (!Enum.IsDefined(typeof(DetailedAssessmentResultType), detailedAssessmentResult))
+ {
+ throw new InvalidEnumArgumentException(nameof(detailedAssessmentResult),
+ (int) detailedAssessmentResult,
+ typeof(DetailedAssessmentResultType));
+ }
+
+ switch (detailedAssessmentResult)
+ {
+ case DetailedAssessmentResultType.None:
+ return EAssessmentResultTypeG1.Gr;
+ case DetailedAssessmentResultType.Sufficient:
+ return EAssessmentResultTypeG1.V;
+ case DetailedAssessmentResultType.Insufficient:
+ return EAssessmentResultTypeG1.Vn;
+ case DetailedAssessmentResultType.NotAssessed:
+ return EAssessmentResultTypeG1.Ngo;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+
+ ///
+ /// Creates a based on the given .
+ ///
+ /// The to create an
+ /// for.
+ /// The created .
+ /// Thrown when
+ /// is an invalid .
+ /// Thrown when
+ /// is a valid, but unsupported .
+ public static EAssessmentResultTypeG2 CreateAssessmentResultTypeG2(DetailedAssessmentProbabilityOnlyResultType detailedAssessmentResult)
+ {
+ if (!Enum.IsDefined(typeof(DetailedAssessmentProbabilityOnlyResultType), detailedAssessmentResult))
+ {
+ throw new InvalidEnumArgumentException(nameof(detailedAssessmentResult),
+ (int) detailedAssessmentResult,
+ typeof(DetailedAssessmentProbabilityOnlyResultType));
+ }
+
+ switch (detailedAssessmentResult)
+ {
+ case DetailedAssessmentProbabilityOnlyResultType.Probability:
+ return EAssessmentResultTypeG2.ResultSpecified;
+ case DetailedAssessmentProbabilityOnlyResultType.NotAssessed:
+ return EAssessmentResultTypeG2.Ngo;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+
+ ///
+ /// Creates a based on the given .
+ ///
+ /// The result to create
+ /// an for.
+ /// The created .
+ /// Thrown when
+ /// is an invalid .
+ /// Thrown when
+ /// is a valid, but unsupported .
+ public static EAssessmentResultTypeT1 CreateAssessmentResultTypeT1(TailorMadeAssessmentResultType tailorMadeAssessmentResult)
+ {
+ if (!Enum.IsDefined(typeof(TailorMadeAssessmentResultType), tailorMadeAssessmentResult))
+ {
+ throw new InvalidEnumArgumentException(nameof(tailorMadeAssessmentResult),
+ (int) tailorMadeAssessmentResult,
+ typeof(TailorMadeAssessmentResultType));
+ }
+
+ switch (tailorMadeAssessmentResult)
+ {
+ case TailorMadeAssessmentResultType.None:
+ return EAssessmentResultTypeT1.Gr;
+ case TailorMadeAssessmentResultType.ProbabilityNegligible:
+ return EAssessmentResultTypeT1.Fv;
+ case TailorMadeAssessmentResultType.Sufficient:
+ return EAssessmentResultTypeT1.V;
+ case TailorMadeAssessmentResultType.Insufficient:
+ return EAssessmentResultTypeT1.Vn;
+ case TailorMadeAssessmentResultType.NotAssessed:
+ return EAssessmentResultTypeT1.Ngo;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+
+ ///
+ /// Creates a based on the given .
+ ///
+ /// The to create an
+ /// for.
+ /// The created .
+ /// Thrown when
+ /// is an invalid .
+ /// Thrown when
+ /// is a valid, but unsupported .
+ public static EAssessmentResultTypeT3 CreateAssessmentResultTypeT3(TailorMadeAssessmentProbabilityCalculationResultType tailorMadeAssessmentResult)
+ {
+ if (!Enum.IsDefined(typeof(TailorMadeAssessmentProbabilityCalculationResultType), tailorMadeAssessmentResult))
+ {
+ throw new InvalidEnumArgumentException(nameof(tailorMadeAssessmentResult),
+ (int) tailorMadeAssessmentResult,
+ typeof(TailorMadeAssessmentProbabilityCalculationResultType));
+ }
+
+ switch (tailorMadeAssessmentResult)
+ {
+ case TailorMadeAssessmentProbabilityCalculationResultType.None:
+ return EAssessmentResultTypeT3.Gr;
+ case TailorMadeAssessmentProbabilityCalculationResultType.ProbabilityNegligible:
+ return EAssessmentResultTypeT3.Fv;
+ case TailorMadeAssessmentProbabilityCalculationResultType.Probability:
+ return EAssessmentResultTypeT3.ResultSpecified;
+ case TailorMadeAssessmentProbabilityCalculationResultType.NotAssessed:
+ return EAssessmentResultTypeT3.Ngo;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+
+ ///
+ /// Creates a based on the
+ /// given .
+ ///
+ /// The to create an
+ /// for.
+ /// The created .
+ /// Thrown when
+ /// is an invalid .
+ /// Thrown when
+ /// is a valid, but unsupported .
+ public static EAssessmentResultTypeT4 CreateAssessmentResultTypeT4(
+ TailorMadeAssessmentProbabilityAndDetailedCalculationResultType tailorMadeAssessmentResult)
+ {
+ if (!Enum.IsDefined(typeof(TailorMadeAssessmentProbabilityAndDetailedCalculationResultType), tailorMadeAssessmentResult))
+ {
+ throw new InvalidEnumArgumentException(nameof(tailorMadeAssessmentResult),
+ (int) tailorMadeAssessmentResult,
+ typeof(TailorMadeAssessmentProbabilityAndDetailedCalculationResultType));
+ }
+
+ switch (tailorMadeAssessmentResult)
+ {
+ case TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.None:
+ return EAssessmentResultTypeT4.Gr;
+ case TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.ProbabilityNegligible:
+ return EAssessmentResultTypeT4.Fv;
+ case TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.Probability:
+ return EAssessmentResultTypeT4.ResultSpecified;
+ case TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.Sufficient:
+ return EAssessmentResultTypeT4.V;
+ case TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.Insufficient:
+ return EAssessmentResultTypeT4.Vn;
+ case TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.NotAssessed:
+ return EAssessmentResultTypeT4.Ngo;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+
+ ///
+ /// Creates a from a .
+ ///
+ /// The to create a
+ /// for.
+ /// A based on .
+ /// Thrown when
+ /// is an invalid value.
+ /// Thrown when
+ /// is a valid value, but unsupported.
+ public static Tuple CreateAssessmentResultTypeT3WithCategoryGroupResult(
+ TailorMadeAssessmentCategoryGroupResultType category)
+ {
+ EFmSectionCategory result = CreateFailureMechanismSectionCategory(category);
+ return result == EFmSectionCategory.Gr
+ ? new Tuple(EAssessmentResultTypeT3.Gr, null)
+ : new Tuple(EAssessmentResultTypeT3.ResultSpecified, result);
+ }
+
+ ///
+ /// Creates a from a .
+ ///
+ /// The to create
+ /// an .
+ /// A based on .
+ /// Thrown when
+ /// is an invalid value.
+ /// Thrown when
+ /// is a valid value, but unsupported.
+ private static EFmSectionCategory CreateFailureMechanismSectionCategory(
+ TailorMadeAssessmentCategoryGroupResultType tailorMadeAssessmentResult)
+ {
+ if (!Enum.IsDefined(typeof(TailorMadeAssessmentCategoryGroupResultType), tailorMadeAssessmentResult))
+ {
+ throw new InvalidEnumArgumentException(nameof(tailorMadeAssessmentResult),
+ (int) tailorMadeAssessmentResult,
+ typeof(TailorMadeAssessmentCategoryGroupResultType));
+ }
+
+ switch (tailorMadeAssessmentResult)
+ {
+ case TailorMadeAssessmentCategoryGroupResultType.Iv:
+ return EFmSectionCategory.Iv;
+ case TailorMadeAssessmentCategoryGroupResultType.IIv:
+ return EFmSectionCategory.IIv;
+ case TailorMadeAssessmentCategoryGroupResultType.IIIv:
+ return EFmSectionCategory.IIIv;
+ case TailorMadeAssessmentCategoryGroupResultType.IVv:
+ return EFmSectionCategory.IVv;
+ case TailorMadeAssessmentCategoryGroupResultType.Vv:
+ return EFmSectionCategory.Vv;
+ case TailorMadeAssessmentCategoryGroupResultType.VIv:
+ return EFmSectionCategory.VIv;
+ case TailorMadeAssessmentCategoryGroupResultType.VIIv:
+ return EFmSectionCategory.VIIv;
+ case TailorMadeAssessmentCategoryGroupResultType.None:
+ return EFmSectionCategory.Gr;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+
+ ///
+ /// Creates a based on the given .
+ ///
+ /// The to create an
+ /// for.
+ /// The created .
+ /// Thrown when
+ /// is an invalid .
+ /// Thrown when
+ /// is a valid, but unsupported .
+ private static ECategoryCompliancy CreateCategoryCompliancy(DetailedAssessmentResultType detailedAssessmentResult)
+ {
+ if (!Enum.IsDefined(typeof(DetailedAssessmentResultType), detailedAssessmentResult))
+ {
+ throw new InvalidEnumArgumentException(nameof(detailedAssessmentResult),
+ (int) detailedAssessmentResult,
+ typeof(DetailedAssessmentResultType));
+ }
+
+ switch (detailedAssessmentResult)
+ {
+ case DetailedAssessmentResultType.None:
+ return ECategoryCompliancy.NoResult;
+ case DetailedAssessmentResultType.Sufficient:
+ return ECategoryCompliancy.Complies;
+ case DetailedAssessmentResultType.Insufficient:
+ return ECategoryCompliancy.DoesNotComply;
+ case DetailedAssessmentResultType.NotAssessed:
+ return ECategoryCompliancy.Ngo;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/FailureMechanismSectionAssemblyCreator.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/FailureMechanismSectionAssemblyCreator.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/FailureMechanismSectionAssemblyCreator.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,120 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.ComponentModel;
+using Assembly.Kernel.Model.FmSectionTypes;
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Creators
+{
+ ///
+ /// Creates instances and
+ /// values.
+ ///
+ internal static class FailureMechanismSectionAssemblyCreator
+ {
+ ///
+ /// Creates from the given .
+ ///
+ /// The result to create the assembly from.
+ /// The created assembly.
+ /// Thrown when is null.
+ /// Thrown when
+ /// is an invalid value.
+ /// Thrown when
+ /// is a valid value, but unsupported.
+ public static FailureMechanismSectionAssembly Create(FmSectionAssemblyDirectResult result)
+ {
+ if (result == null)
+ {
+ throw new ArgumentNullException(nameof(result));
+ }
+
+ return new FailureMechanismSectionAssembly(double.NaN,
+ CreateFailureMechanismSectionAssemblyCategoryGroup(result.Result));
+ }
+
+ ///
+ /// Creates from the given .
+ ///
+ /// The result to create the assembly from.
+ /// The created assembly.
+ /// Thrown when is null.
+ /// Thrown when
+ /// is an invalid value.
+ /// Thrown when
+ /// is a valid value, but unsupported.
+ public static FailureMechanismSectionAssembly Create(FmSectionAssemblyDirectResultWithProbability result)
+ {
+ if (result == null)
+ {
+ throw new ArgumentNullException(nameof(result));
+ }
+
+ return new FailureMechanismSectionAssembly(result.FailureProbability,
+ CreateFailureMechanismSectionAssemblyCategoryGroup(result.Result));
+ }
+
+ ///
+ /// Converts a into a .
+ ///
+ /// The to convert.
+ /// A based on .
+ /// Thrown when
+ /// is an invalid value.
+ /// Thrown when
+ /// is a valid value, but unsupported.
+ public static FailureMechanismSectionAssemblyCategoryGroup CreateFailureMechanismSectionAssemblyCategoryGroup(EFmSectionCategory category)
+ {
+ if (!Enum.IsDefined(typeof(EFmSectionCategory), category))
+ {
+ throw new InvalidEnumArgumentException(nameof(category),
+ (int) category,
+ typeof(EFmSectionCategory));
+ }
+
+ switch (category)
+ {
+ case EFmSectionCategory.Iv:
+ return FailureMechanismSectionAssemblyCategoryGroup.Iv;
+ case EFmSectionCategory.IIv:
+ return FailureMechanismSectionAssemblyCategoryGroup.IIv;
+ case EFmSectionCategory.IIIv:
+ return FailureMechanismSectionAssemblyCategoryGroup.IIIv;
+ case EFmSectionCategory.IVv:
+ return FailureMechanismSectionAssemblyCategoryGroup.IVv;
+ case EFmSectionCategory.Vv:
+ return FailureMechanismSectionAssemblyCategoryGroup.Vv;
+ case EFmSectionCategory.VIv:
+ return FailureMechanismSectionAssemblyCategoryGroup.VIv;
+ case EFmSectionCategory.VIIv:
+ return FailureMechanismSectionAssemblyCategoryGroup.VIIv;
+ case EFmSectionCategory.Gr:
+ return FailureMechanismSectionAssemblyCategoryGroup.None;
+ case EFmSectionCategory.NotApplicable:
+ return FailureMechanismSectionAssemblyCategoryGroup.NotApplicable;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/FailureMechanismSectionListCreator.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/FailureMechanismSectionListCreator.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/FailureMechanismSectionListCreator.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,66 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using Assembly.Kernel.Model;
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Creators
+{
+ ///
+ /// Creates instances.
+ ///
+ internal static class FailureMechanismSectionListCreator
+ {
+ ///
+ /// Creates a collection of based on the
+ /// given .
+ ///
+ /// The collection of failure mechanism
+ /// section collections to create the failure mechanism section lists for.
+ /// A collection of .
+ /// Thrown when
+ /// is null.
+ /// Thrown when
+ /// is an invalid value.
+ /// Thrown when
+ /// is a valid value, but unsupported.
+ public static IEnumerable Create(
+ IEnumerable> failureMechanismSectionsCollection)
+ {
+ if (failureMechanismSectionsCollection == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanismSectionsCollection));
+ }
+
+ return failureMechanismSectionsCollection.Select(sectionCollection => new FailureMechanismSectionList(
+ string.Empty,
+ sectionCollection.Select(s => new FmSectionWithDirectCategory(
+ s.SectionStart, s.SectionEnd,
+ AssemblyCalculatorInputCreator.CreateFailureMechanismSectionCategory(
+ s.CategoryGroup)))))
+ .ToArray();
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Kernels/AssemblyToolKernelFactory.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Kernels/AssemblyToolKernelFactory.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Kernels/AssemblyToolKernelFactory.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,73 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using Assembly.Kernel.Implementations;
+using Assembly.Kernel.Interfaces;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Kernels
+{
+ ///
+ /// Factory that creates the assembly tool kernels.
+ ///
+ public class AssemblyToolKernelFactory : IAssemblyToolKernelFactory
+ {
+ private static IAssemblyToolKernelFactory instance;
+
+ private AssemblyToolKernelFactory() {}
+
+ public static IAssemblyToolKernelFactory Instance
+ {
+ get
+ {
+ return instance ?? (instance = new AssemblyToolKernelFactory());
+ }
+ set
+ {
+ instance = value;
+ }
+ }
+
+ public ICategoryLimitsCalculator CreateAssemblyCategoriesKernel()
+ {
+ return new CategoryLimitsCalculator();
+ }
+
+ public IAssessmentResultsTranslator CreateFailureMechanismSectionAssemblyKernel()
+ {
+ return new AssessmentResultsTranslator();
+ }
+
+ public IFailureMechanismResultAssembler CreateFailureMechanismAssemblyKernel()
+ {
+ return new FailureMechanismResultAssembler();
+ }
+
+ public IAssessmentGradeAssembler CreateAssessmentSectionAssemblyKernel()
+ {
+ return new AssessmentGradeAssembler();
+ }
+
+ public ICommonFailureMechanismSectionAssembler CreateCombinedFailureMechanismSectionAssemblyKernel()
+ {
+ return new CommonFailureMechanismSectionAssembler();
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Kernels/IAssemblyToolKernelFactory.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Kernels/IAssemblyToolKernelFactory.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Kernels/IAssemblyToolKernelFactory.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,61 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using Assembly.Kernel.Interfaces;
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Kernels
+{
+ ///
+ /// Factory responsible for creating kernels that can be used for performing an assembly tool calculation.
+ ///
+ public interface IAssemblyToolKernelFactory
+ {
+ ///
+ /// Creates an assembly categories kernel.
+ ///
+ /// A new .
+ ICategoryLimitsCalculator CreateAssemblyCategoriesKernel();
+
+ ///
+ /// Creates a failure mechanism section assembly kernel.
+ ///
+ /// A new .
+ IAssessmentResultsTranslator CreateFailureMechanismSectionAssemblyKernel();
+
+ ///
+ /// Creates a failure mechanism assembly kernel.
+ ///
+ /// A new .
+ IFailureMechanismResultAssembler CreateFailureMechanismAssemblyKernel();
+
+ ///
+ /// Creates an assessment section assembly kernel.
+ ///
+ /// A new .
+ IAssessmentGradeAssembler CreateAssessmentSectionAssemblyKernel();
+
+ ///
+ /// Creates a combined failure mechanism section assembly kernel.
+ ///
+ /// A new .
+ ICommonFailureMechanismSectionAssembler CreateCombinedFailureMechanismSectionAssemblyKernel();
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Properties/AssemblyInfo.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Properties/AssemblyInfo.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Properties/AssemblyInfo.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,28 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+[assembly: AssemblyTitle("Riskeer.AssemblyTool.KernelWrapper")]
+[assembly: AssemblyProduct("Riskeer.AssemblyTool.KernelWrapper")]
+[assembly: InternalsVisibleTo("Ringtoets.AssemblyTool.KernelWrapper.Test")]
+[assembly: InternalsVisibleTo("Ringtoets.AssemblyTool.KernelWrapper.TestUtil")]
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Properties/Resources.Designer.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Properties/Resources.Designer.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Properties/Resources.Designer.cs (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,318 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Riskeer.AssemblyTool.KernelWrapper.Properties {
+ using System;
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Riskeer.AssemblyTool.KernelWrapper.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Categoriebovengrens moet in het bereik [0,1] liggen..
+ ///
+ internal static string AssemblyErrorMessageCreator_CategoryLowerLimitOutOfRange {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_CategoryLowerLimitOutOfRange", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Het specificeren van een toetsoordeel voor deze categorie is niet mogelijk..
+ ///
+ internal static string AssemblyErrorMessageCreator_CategoryNotAllowed {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_CategoryNotAllowed", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Categorieondergrens moet in het bereik [0,1] liggen..
+ ///
+ internal static string AssemblyErrorMessageCreator_CategoryUpperLimitOutOfRange {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_CategoryUpperLimitOutOfRange", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Ieder relevant toetsspoor moet een vakindeling geïmporteerd hebben..
+ ///
+ internal static string AssemblyErrorMessageCreator_CommonFailureMechanismSectionsInvalid {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_CommonFailureMechanismSectionsInvalid", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Alle (deel)vakken moeten minimaal een lengte hebben van 0.01 [m]..
+ ///
+ internal static string AssemblyErrorMessageCreator_CommonFailureMechanismSectionsNotConsecutive {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_CommonFailureMechanismSectionsNotConsecutive", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Een lagere categorie moet als voldoende worden aangemerkt indien het vak aan een hogere categorie voldoet..
+ ///
+ internal static string AssemblyErrorMessageCreator_DoesNotComplyAfterComply {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_DoesNotComplyAfterComply", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Faalkansruimte moet in het bereik [0,1] liggen..
+ ///
+ internal static string AssemblyErrorMessageCreator_FailureProbabilityMarginOutOfRange {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_FailureProbabilityMarginOutOfRange", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to De gespecificeerde kans moet in het bereik [0,1] liggen..
+ ///
+ internal static string AssemblyErrorMessageCreator_FailureProbabilityOutOfRange {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_FailureProbabilityOutOfRange", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Gezamenlijke lengte van alle deelvakken moet gelijk zijn aan de trajectlengte..
+ ///
+ internal static string AssemblyErrorMessageCreator_FmSectionLengthInvalid {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_FmSectionLengthInvalid", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to De lengte van een berekende deelvak kon niet goed worden bepaald..
+ ///
+ internal static string AssemblyErrorMessageCreator_FmSectionSectionStartEndInvalid {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_FmSectionSectionStartEndInvalid", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Er is een onverwachte fout opgetreden tijdens het assembleren..
+ ///
+ internal static string AssemblyErrorMessageCreator_GenericErrorMessage {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_GenericErrorMessage", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to De categoriegrenzen zijn niet aaneengesloten en spannen niet de volldige faalskansruimte..
+ ///
+ internal static string AssemblyErrorMessageCreator_GetErrorMessage_InvalidCategoryLimits {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_GetErrorMessage_InvalidCategoryLimits", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to De resultaten voor alle vakken moeten allen wel of geen kansspecificatie bevatten..
+ ///
+ internal static string AssemblyErrorMessageCreator_InputNotTheSameType {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_InputNotTheSameType", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Lengte-effect factor moet minimaal 1 zijn..
+ ///
+ internal static string AssemblyErrorMessageCreator_LengthEffectFactorOutOfRange {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_LengthEffectFactorOutOfRange", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to De categoriebovengrens moet boven de categorieondergrens liggen..
+ ///
+ internal static string AssemblyErrorMessageCreator_LowerLimitIsAboveUpperLimit {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_LowerLimitIsAboveUpperLimit", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Ondergrens moet in het bereik [0,1] liggen..
+ ///
+ internal static string AssemblyErrorMessageCreator_LowerLimitOutOfRange {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_LowerLimitOutOfRange", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Er moet een vakindeling zijn geïmporteerd..
+ ///
+ internal static string AssemblyErrorMessageCreator_NoSectionsImported {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_NoSectionsImported", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Berekende ondergrens per doorsnede is groter dan de ondergrens van het traject..
+ ///
+ internal static string AssemblyErrorMessageCreator_PlowDsnAbovePlow {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_PlowDsnAbovePlow", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Berekende signaleringskans per doorsnede is groter dan de signaleringskans van het traject..
+ ///
+ internal static string AssemblyErrorMessageCreator_PsigDsnAbovePsig {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_PsigDsnAbovePsig", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to De gespecificeerde resultaten voor een of meerdere toetssporen dekken niet de volledige lengte van het traject..
+ ///
+ internal static string AssemblyErrorMessageCreator_RequestedPointOutOfRange {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_RequestedPointOutOfRange", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to De trajectlengte moet groter zijn dan 0 [m]..
+ ///
+ internal static string AssemblyErrorMessageCreator_SectionLengthOutOfRange {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_SectionLengthOutOfRange", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Er zijn een of meerdere vakindelingen gevonden die geen categorie hebben..
+ ///
+ internal static string AssemblyErrorMessageCreator_SectionsWithoutCategory {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_SectionsWithoutCategory", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to De signaleringskans moet kleiner zijn dan de ondergrens..
+ ///
+ internal static string AssemblyErrorMessageCreator_SignalingLimitAboveLowerLimit {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_SignalingLimitAboveLowerLimit", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Signaleringskans moet in het bereik [0,1] liggen..
+ ///
+ internal static string AssemblyErrorMessageCreator_SignalingLimitOutOfRange {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_SignalingLimitOutOfRange", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Er is een ongeldig resultaat gespecificeerd voor de gebruikte methode..
+ ///
+ internal static string AssemblyErrorMessageCreator_TranslateAssessmentInvalidInput {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_TranslateAssessmentInvalidInput", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Er is ongeldige invoer gedefinieerd voor de gebruikte methode..
+ ///
+ internal static string AssemblyErrorMessageCreator_ValueMayNotBeNull {
+ get {
+ return ResourceManager.GetString("AssemblyErrorMessageCreator_ValueMayNotBeNull", resourceCulture);
+ }
+ }
+ }
+}
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Properties/Resources.resx
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Properties/Resources.resx (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Properties/Resources.resx (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,198 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Signaleringskans moet in het bereik [0,1] liggen.
+
+
+ Ondergrens moet in het bereik [0,1] liggen.
+
+
+ Faalkansruimte moet in het bereik [0,1] liggen.
+
+
+ Lengte-effect factor moet minimaal 1 zijn.
+
+
+ De trajectlengte moet groter zijn dan 0 [m].
+
+
+ De signaleringskans moet kleiner zijn dan de ondergrens.
+
+
+ Berekende signaleringskans per doorsnede is groter dan de signaleringskans van het traject.
+
+
+ Berekende ondergrens per doorsnede is groter dan de ondergrens van het traject.
+
+
+ De categoriebovengrens moet boven de categorieondergrens liggen.
+
+
+ Categoriebovengrens moet in het bereik [0,1] liggen.
+
+
+ Categorieondergrens moet in het bereik [0,1] liggen.
+
+
+ Er is een ongeldig resultaat gespecificeerd voor de gebruikte methode.
+
+
+ Er is ongeldige invoer gedefinieerd voor de gebruikte methode.
+
+
+ Het specificeren van een toetsoordeel voor deze categorie is niet mogelijk.
+
+
+ Een lagere categorie moet als voldoende worden aangemerkt indien het vak aan een hogere categorie voldoet.
+
+
+ Gezamenlijke lengte van alle deelvakken moet gelijk zijn aan de trajectlengte.
+
+
+ De lengte van een berekende deelvak kon niet goed worden bepaald.
+
+
+ De gespecificeerde kans moet in het bereik [0,1] liggen.
+
+
+ De resultaten voor alle vakken moeten allen wel of geen kansspecificatie bevatten.
+
+
+ Er moet een vakindeling zijn geïmporteerd.
+
+
+ Alle (deel)vakken moeten minimaal een lengte hebben van 0.01 [m].
+
+
+ De gespecificeerde resultaten voor een of meerdere toetssporen dekken niet de volledige lengte van het traject.
+
+
+ Er is een onverwachte fout opgetreden tijdens het assembleren.
+
+
+ Ieder relevant toetsspoor moet een vakindeling geïmporteerd hebben.
+
+
+ Er zijn een of meerdere vakindelingen gevonden die geen categorie hebben.
+
+
+ De categoriegrenzen zijn niet aaneengesloten en spannen niet de volldige faalskansruimte.
+
+
\ No newline at end of file
Index: Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Riskeer.AssemblyTool.KernelWrapper.csproj
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Riskeer.AssemblyTool.KernelWrapper.csproj (revision 0)
+++ Ringtoets/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Riskeer.AssemblyTool.KernelWrapper.csproj (revision 2841df5cd6395e7590512848731122179637ed2d)
@@ -0,0 +1,72 @@
+
+
+
+ {358B6DA2-A1DF-477F-B6AC-C30204265CB0}
+ Riskeer.AssemblyTool.KernelWrapper
+ Riskeer.AssemblyTool.KernelWrapper
+
+
+
+
+ ..\..\..\..\lib\Plugins\AssemblyTool\Assembly.Kernel.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ True
+ True
+ Resources.resx
+
+
+
+
+ Copying.licenseheader
+
+
+
+
+ {78AA56F5-431D-465C-AC50-3173D7E90AC1}
+ Ringtoets.Common.Primitives
+ False
+
+
+ {420ED9C3-0C33-47EA-B893-121A9C0DB4F1}
+ Riskeer.AssemblyTool.Data
+ False
+
+
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+
\ No newline at end of file