Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/GuiServices/HydraulicBoundaryLocationCalculationGuiServiceTest.cs =================================================================== diff -u -r54cb5f9ab9e6f6fe428a1d6f7b07c81a50e2fcab -rc9bd6bb2616d76ccae091516fbd2f5b575aafdfa --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/GuiServices/HydraulicBoundaryLocationCalculationGuiServiceTest.cs (.../HydraulicBoundaryLocationCalculationGuiServiceTest.cs) (revision 54cb5f9ab9e6f6fe428a1d6f7b07c81a50e2fcab) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/GuiServices/HydraulicBoundaryLocationCalculationGuiServiceTest.cs (.../HydraulicBoundaryLocationCalculationGuiServiceTest.cs) (revision c9bd6bb2616d76ccae091516fbd2f5b575aafdfa) @@ -244,7 +244,7 @@ using (new HydraRingCalculatorFactoryConfig()) { var guiService = new HydraulicBoundaryLocationCalculationGuiService(viewParent); - + // Call Action call = () => guiService.CalculateDesignWaterLevels(validDatabasePath, new List Index: Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Plugin/DuneErosionPlugin.cs =================================================================== diff -u -r33996c939c8044f0e09d8b1f1ef69b5b5b1e28c3 -rc9bd6bb2616d76ccae091516fbd2f5b575aafdfa --- Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Plugin/DuneErosionPlugin.cs (.../DuneErosionPlugin.cs) (revision 33996c939c8044f0e09d8b1f1ef69b5b5b1e28c3) +++ Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Plugin/DuneErosionPlugin.cs (.../DuneErosionPlugin.cs) (revision c9bd6bb2616d76ccae091516fbd2f5b575aafdfa) @@ -27,20 +27,18 @@ using System.Windows.Forms; using Core.Common.Controls.TreeView; using Core.Common.Gui.ContextMenu; -using Core.Common.Gui.Forms.ProgressDialog; using Core.Common.Gui.Plugin; using Ringtoets.Common.Data.AssessmentSection; -using Ringtoets.Common.Forms; using Ringtoets.Common.Forms.PresentationObjects; using Ringtoets.Common.Forms.TreeNodeInfos; using Ringtoets.DuneErosion.Data; using Ringtoets.DuneErosion.Forms; +using Ringtoets.DuneErosion.Forms.GuiServices; using Ringtoets.DuneErosion.Forms.PresentationObjects; using Ringtoets.DuneErosion.Forms.PropertyClasses; using Ringtoets.DuneErosion.Forms.Views; using Ringtoets.DuneErosion.IO; using Ringtoets.DuneErosion.Plugin.Properties; -using Ringtoets.DuneErosion.Service; using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; using RingtoetsCommonDataResources = Ringtoets.Common.Data.Properties.Resources; @@ -51,6 +49,8 @@ /// public class DuneErosionPlugin : PluginBase { + private DuneLocationCalculationGuiService duneLocationCalculationGuiService; + public override IEnumerable GetPropertyInfos() { yield return new PropertyInfo @@ -138,6 +138,17 @@ }; } + public override void Activate() + { + base.Activate(); + + if (Gui == null) + { + throw new InvalidOperationException("Gui cannot be null"); + } + duneLocationCalculationGuiService = new DuneLocationCalculationGuiService(Gui.MainWindow); + } + #region TreeNodeInfo #region failureMechanismContext TreeNodeInfo @@ -235,11 +246,14 @@ RingtoetsCommonFormsResources.CalculateAllIcon, (sender, args) => { - ActivityProgressDialogRunner.Run(Gui.MainWindow, - context.WrappedData - .Select(location => new DuneErosionBoundaryCalculationActivity(location, - context.FailureMechanism, - context.AssessmentSection)).ToArray()); + if (duneLocationCalculationGuiService == null) + { + return; + } + + duneLocationCalculationGuiService.Calculate(context.WrappedData, + context.FailureMechanism, + context.AssessmentSection); context.NotifyObservers(); }) { Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Forms.Test/Ringtoets.DuneErosion.Forms.Test.csproj =================================================================== diff -u -ra81d02e782f9203821d33528002441746fbff8e6 -rc9bd6bb2616d76ccae091516fbd2f5b575aafdfa --- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Forms.Test/Ringtoets.DuneErosion.Forms.Test.csproj (.../Ringtoets.DuneErosion.Forms.Test.csproj) (revision a81d02e782f9203821d33528002441746fbff8e6) +++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Forms.Test/Ringtoets.DuneErosion.Forms.Test.csproj (.../Ringtoets.DuneErosion.Forms.Test.csproj) (revision c9bd6bb2616d76ccae091516fbd2f5b575aafdfa) @@ -131,7 +131,7 @@ {888d4097-8bc2-4703-9fb1-8744c94d525e} Ringtoets.HydraRing.Calculation - False + True {74CBA865-9338-447F-BAD9-28312446AE84} Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Plugin.Test/DuneErosionPluginTest.cs =================================================================== diff -u -r74d8d838a60411ed1566f8afbd0003c1b9cf86cf -rc9bd6bb2616d76ccae091516fbd2f5b575aafdfa --- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Plugin.Test/DuneErosionPluginTest.cs (.../DuneErosionPluginTest.cs) (revision 74d8d838a60411ed1566f8afbd0003c1b9cf86cf) +++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Plugin.Test/DuneErosionPluginTest.cs (.../DuneErosionPluginTest.cs) (revision c9bd6bb2616d76ccae091516fbd2f5b575aafdfa) @@ -19,6 +19,7 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using System.Collections.Generic; using System.Linq; using Core.Common.Controls.TreeView; @@ -48,6 +49,21 @@ } [Test] + public void Activate_GuiNull_ThrowInvalidOperationException() + { + // Setup + using (var plugin = new DuneErosionPlugin()) + { + // Call + TestDelegate test = () => plugin.Activate(); + + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("Gui cannot be null", exception.Message); + } + } + + [Test] public void GetPropertiesInfos_ReturnSupportedPropertyInfos() { // Setup Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Plugin.Test/TreeNodeInfos/DuneLocationsContextTreeNodeInfoTest.cs =================================================================== diff -u -r4f7eba3e9725bd6cc0e4406e21995056c86501b7 -rc9bd6bb2616d76ccae091516fbd2f5b575aafdfa --- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Plugin.Test/TreeNodeInfos/DuneLocationsContextTreeNodeInfoTest.cs (.../DuneLocationsContextTreeNodeInfoTest.cs) (revision 4f7eba3e9725bd6cc0e4406e21995056c86501b7) +++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Plugin.Test/TreeNodeInfos/DuneLocationsContextTreeNodeInfoTest.cs (.../DuneLocationsContextTreeNodeInfoTest.cs) (revision c9bd6bb2616d76ccae091516fbd2f5b575aafdfa) @@ -308,6 +308,7 @@ failureMechanism.DuneLocations.Attach(observerMock); plugin.Gui = gui; + plugin.Activate(); using (ContextMenuStrip contextMenu = info.ContextMenuStrip(context, null, treeViewControl)) using (new HydraRingCalculatorFactoryConfig()) Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Plugin.Test/ViewInfos/DuneErosionLocationsViewInfoTest.cs =================================================================== diff -u -r4f7eba3e9725bd6cc0e4406e21995056c86501b7 -rc9bd6bb2616d76ccae091516fbd2f5b575aafdfa --- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Plugin.Test/ViewInfos/DuneErosionLocationsViewInfoTest.cs (.../DuneErosionLocationsViewInfoTest.cs) (revision 4f7eba3e9725bd6cc0e4406e21995056c86501b7) +++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Plugin.Test/ViewInfos/DuneErosionLocationsViewInfoTest.cs (.../DuneErosionLocationsViewInfoTest.cs) (revision c9bd6bb2616d76ccae091516fbd2f5b575aafdfa) @@ -22,6 +22,8 @@ using System.Collections.Generic; using System.Linq; using Core.Common.Base; +using Core.Common.Gui; +using Core.Common.Gui.Forms.MainWindow; using Core.Common.Gui.Plugin; using Core.Common.TestUtil; using NUnit.Framework; @@ -163,6 +165,9 @@ // Setup var mocks = new MockRepository(); IAssessmentSection assessmentSectionStub = mocks.Stub(); + IGui guiStub = mocks.Stub(); + IMainWindow windowsStub = mocks.Stub(); + guiStub.Stub(gs => gs.MainWindow).Return(windowsStub); mocks.ReplayAll(); var failureMechanism = new DuneErosionFailureMechanism(); @@ -172,6 +177,7 @@ failureMechanism, assessmentSectionStub); + plugin.Gui = guiStub; plugin.Activate(); using (var view = new DuneLocationsView())