Index: Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Plugin/StabilityPointStructuresPlugin.cs =================================================================== diff -u -r341ddc4bed3bbbae529c1c282d15cc9b593d1e6a -r5883d15ec29f0c599a5df6ed77b1f3102897e35d --- Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Plugin/StabilityPointStructuresPlugin.cs (.../StabilityPointStructuresPlugin.cs) (revision 341ddc4bed3bbbae529c1c282d15cc9b593d1e6a) +++ Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Plugin/StabilityPointStructuresPlugin.cs (.../StabilityPointStructuresPlugin.cs) (revision 5883d15ec29f0c599a5df6ed77b1f3102897e35d) @@ -162,6 +162,18 @@ #endregion + #region Validation and Calculation + + private static string ValidateAllDataAvailableAndGetErrorMessage(IAssessmentSection assessmentSection, StabilityPointStructuresFailureMechanism failureMechanism) + { + return null; + } + private static void ValidateAll(IEnumerable calculations, IAssessmentSection assessmentSection) {} + private static void CalculateAll(StabilityPointStructuresFailureMechanismContext context) {} + private static void CalculateAll(CalculationGroup group, StabilityPointStructuresCalculationGroupContext context) {} + + #endregion + #region TreeNodeInfo #region StabilityPointStructuresFailureMechanismContext TreeNodeInfo @@ -217,8 +229,10 @@ return builder.AddToggleRelevancyOfFailureMechanismItem(failureMechanismContext, RemoveAllViewsForItem) .AddSeparator() - .AddValidateAllCalculationsInFailureMechanismItem(failureMechanismContext, null) - .AddPerformAllCalculationsInFailureMechanismItem(failureMechanismContext, null) + .AddValidateAllCalculationsInFailureMechanismItem(failureMechanismContext, + c => ValidateAll(c.WrappedData.Calculations.OfType(), c.Parent), + ValidateAllDataAvailableAndGetErrorMessageForCalculationsInFailureMechanism) + .AddPerformAllCalculationsInFailureMechanismItem(failureMechanismContext, CalculateAll) .AddClearAllCalculationOutputInFailureMechanismItem(failureMechanismContext.WrappedData) .AddSeparator() .AddExpandAllItem() @@ -246,6 +260,11 @@ .Build(); } + private string ValidateAllDataAvailableAndGetErrorMessageForCalculationsInFailureMechanism(StabilityPointStructuresFailureMechanismContext context) + { + return ValidateAllDataAvailableAndGetErrorMessage(context.Parent, context.WrappedData); + } + #endregion #region StabilityPointStructuresCalculationGroupContext TreeNodeInfo @@ -306,8 +325,9 @@ } builder.AddSeparator() - .AddValidateAllCalculationsInGroupItem(context, null) - .AddPerformAllCalculationsInGroupItem(group, context, null) + .AddValidateAllCalculationsInGroupItem(context, + c => ValidateAll(c.WrappedData.GetCalculations().OfType(), c.AssessmentSection)) + .AddPerformAllCalculationsInGroupItem(group, context, CalculateAll) .AddClearAllCalculationOutputInGroupItem(group) .AddSeparator(); @@ -388,7 +408,7 @@ StabilityPointStructuresCalculation calculation = context.WrappedData; - return builder.AddValidateCalculationItem(context, delegate { }) + return builder.AddValidateCalculationItem(context, delegate { }, ValidateAllDataAvailableAndGetErrorMessageForCalculation) .AddPerformCalculationItem(calculation, context, Calculate) .AddClearCalculationOutputItem(calculation) .AddSeparator() @@ -402,6 +422,11 @@ .Build(); } + private static string ValidateAllDataAvailableAndGetErrorMessageForCalculation(StabilityPointStructuresCalculationContext context) + { + return ValidateAllDataAvailableAndGetErrorMessage(context.AssessmentSection, context.FailureMechanism); + } + private void Calculate(StabilityPointStructuresCalculation calculation, StabilityPointStructuresCalculationContext context) {} private void CalculationContextOnNodeRemoved(StabilityPointStructuresCalculationContext context, object parentData)