Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsCalculationActivity.cs
===================================================================
diff -u -r0a51f20ac93373a43f79bb4c6327bce1d46545c6 -r6ccc539ce58e63f0e0fbff0da189c87b65146129
--- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsCalculationActivity.cs (.../GrassCoverErosionInwardsCalculationActivity.cs) (revision 0a51f20ac93373a43f79bb4c6327bce1d46545c6)
+++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsCalculationActivity.cs (.../GrassCoverErosionInwardsCalculationActivity.cs) (revision 6ccc539ce58e63f0e0fbff0da189c87b65146129)
@@ -24,23 +24,21 @@
using Ringtoets.Common.Data.AssessmentSection;
using Ringtoets.Common.Service;
using Ringtoets.GrassCoverErosionInwards.Data;
+using Ringtoets.HydraRing.Calculation.Activities;
using Ringtoets.HydraRing.Calculation.Data.Output;
-using Ringtoets.HydraRing.Calculation.Services;
namespace Ringtoets.GrassCoverErosionInwards.Service
{
///
/// for running a grass cover erosion inwards calculation.
///
- public class GrassCoverErosionInwardsCalculationActivity : Activity
+ public class GrassCoverErosionInwardsCalculationActivity : HydraRingActivity
{
private readonly GrassCoverErosionInwardsCalculation calculation;
private readonly string hlcdDirectory;
private readonly GrassCoverErosionInwardsFailureMechanism failureMechanism;
private readonly IAssessmentSection assessmentSection;
- private ExceedanceProbabilityCalculationOutput output;
-
public override string Name
{
get
@@ -67,44 +65,26 @@
protected override void OnRun()
{
- if (!GrassCoverErosionInwardsCalculationService.Validate(calculation, assessmentSection))
- {
- State = ActivityState.Failed;
- return;
- }
-
- LogMessages.Clear();
- calculation.ClearOutput();
-
var failureMechanismSection = failureMechanism.Sections.First(); // TODO: Obtain dike section based on cross section of structure with reference line
- output = GrassCoverErosionInwardsCalculationService.Calculate(calculation,
- hlcdDirectory,
- failureMechanismSection,
- failureMechanismSection.Name, // TODO: Provide name of reference line instead
- failureMechanism.GeneralInput);
-
- if (output == null)
- {
- State = ActivityState.Failed;
- }
+ PerformRun(() => GrassCoverErosionInwardsCalculationService.Validate(calculation, assessmentSection),
+ () => calculation.ClearOutput(),
+ () => GrassCoverErosionInwardsCalculationService.Calculate(calculation,
+ hlcdDirectory,
+ failureMechanismSection,
+ failureMechanismSection.Name, // TODO: Provide name of reference line instead
+ failureMechanism.GeneralInput));
}
- protected override void OnCancel()
- {
- HydraRingCalculationService.CancelRunningCalculation();
- }
-
protected override void OnFinish()
{
- if (State == ActivityState.Executed)
+ PerformFinish(() =>
{
calculation.Output = ProbabilityAssessmentService.Calculate(assessmentSection.FailureMechanismContribution.Norm,
failureMechanism.Contribution,
failureMechanism.GeneralInput.N,
- output.Beta);
- calculation.NotifyObservers();
- }
+ Output.Beta);
+ }, calculation);
}
}
}
\ No newline at end of file
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Integration.Test/GrassCoverErosionInwardsCalculationActivityIntegrationTest.cs
===================================================================
diff -u -r0a51f20ac93373a43f79bb4c6327bce1d46545c6 -r6ccc539ce58e63f0e0fbff0da189c87b65146129
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Integration.Test/GrassCoverErosionInwardsCalculationActivityIntegrationTest.cs (.../GrassCoverErosionInwardsCalculationActivityIntegrationTest.cs) (revision 0a51f20ac93373a43f79bb4c6327bce1d46545c6)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Integration.Test/GrassCoverErosionInwardsCalculationActivityIntegrationTest.cs (.../GrassCoverErosionInwardsCalculationActivityIntegrationTest.cs) (revision 6ccc539ce58e63f0e0fbff0da189c87b65146129)
@@ -56,6 +56,12 @@
}
var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
+ failureMechanism.AddSection(new FailureMechanismSection("test section", new[]
+ {
+ new Point2D(0, 0),
+ new Point2D(1, 1)
+ }));
+
var calculation = new GrassCoverErosionInwardsCalculation();
var activity = new GrassCoverErosionInwardsCalculationActivity(calculation, "", failureMechanism, assessmentSection);
@@ -88,6 +94,12 @@
};
var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
+ failureMechanism.AddSection(new FailureMechanismSection("test section", new[]
+ {
+ new Point2D(0, 0),
+ new Point2D(1, 1)
+ }));
+
var calculation = new GrassCoverErosionInwardsCalculation();
var activity = new GrassCoverErosionInwardsCalculationActivity(calculation, "", failureMechanism, assessmentSection);
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Service.Test/Ringtoets.GrassCoverErosionInwards.Service.Test.csproj
===================================================================
diff -u -r0a51f20ac93373a43f79bb4c6327bce1d46545c6 -r6ccc539ce58e63f0e0fbff0da189c87b65146129
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Service.Test/Ringtoets.GrassCoverErosionInwards.Service.Test.csproj (.../Ringtoets.GrassCoverErosionInwards.Service.Test.csproj) (revision 0a51f20ac93373a43f79bb4c6327bce1d46545c6)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Service.Test/Ringtoets.GrassCoverErosionInwards.Service.Test.csproj (.../Ringtoets.GrassCoverErosionInwards.Service.Test.csproj) (revision 6ccc539ce58e63f0e0fbff0da189c87b65146129)
@@ -71,6 +71,10 @@
{d4200f43-3f72-4f42-af0a-8ced416a38ec}
Ringtoets.Common.Data
+
+ {888d4097-8bc2-4703-9fb1-8744c94d525e}
+ Ringtoets.HydraRing.Calculation
+
{70F8CC9C-5BC8-4FB2-B201-EAE7FA8088C2}
Ringtoets.HydraRing.Data
Index: Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Service/HeightStructuresCalculationActivity.cs
===================================================================
diff -u -r0a51f20ac93373a43f79bb4c6327bce1d46545c6 -r6ccc539ce58e63f0e0fbff0da189c87b65146129
--- Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Service/HeightStructuresCalculationActivity.cs (.../HeightStructuresCalculationActivity.cs) (revision 0a51f20ac93373a43f79bb4c6327bce1d46545c6)
+++ Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Service/HeightStructuresCalculationActivity.cs (.../HeightStructuresCalculationActivity.cs) (revision 6ccc539ce58e63f0e0fbff0da189c87b65146129)
@@ -24,23 +24,21 @@
using Ringtoets.Common.Data.AssessmentSection;
using Ringtoets.Common.Service;
using Ringtoets.HeightStructures.Data;
+using Ringtoets.HydraRing.Calculation.Activities;
using Ringtoets.HydraRing.Calculation.Data.Output;
-using Ringtoets.HydraRing.Calculation.Services;
namespace Ringtoets.HeightStructures.Service
{
///
/// for running a height structures calculation.
///
- public class HeightStructuresCalculationActivity : Activity
+ public class HeightStructuresCalculationActivity : HydraRingActivity
{
private readonly HeightStructuresCalculation calculation;
private readonly string hlcdDirectory;
private readonly HeightStructuresFailureMechanism failureMechanism;
private readonly IAssessmentSection assessmentSection;
- private ExceedanceProbabilityCalculationOutput output;
-
public override string Name
{
get
@@ -67,44 +65,26 @@
protected override void OnRun()
{
- if (!HeightStructuresCalculationService.Validate(calculation, assessmentSection))
- {
- State = ActivityState.Failed;
- return;
- }
-
- LogMessages.Clear();
- calculation.ClearOutput();
-
var failureMechanismSection = failureMechanism.Sections.First(); // TODO: Obtain dike section based on cross section of structure with reference line
- output = HeightStructuresCalculationService.Calculate(calculation,
- hlcdDirectory,
- failureMechanismSection,
- failureMechanismSection.Name, // TODO: Provide name of reference line instead
- failureMechanism.GeneralInput);
-
- if (output == null)
- {
- State = ActivityState.Failed;
- }
+ PerformRun(() => HeightStructuresCalculationService.Validate(calculation, assessmentSection),
+ () => calculation.ClearOutput(),
+ () => HeightStructuresCalculationService.Calculate(calculation,
+ hlcdDirectory,
+ failureMechanismSection,
+ failureMechanismSection.Name, // TODO: Provide name of reference line instead
+ failureMechanism.GeneralInput));
}
- protected override void OnCancel()
- {
- HydraRingCalculationService.CancelRunningCalculation();
- }
-
protected override void OnFinish()
{
- if (State == ActivityState.Executed)
+ PerformFinish(() =>
{
calculation.Output = ProbabilityAssessmentService.Calculate(assessmentSection.FailureMechanismContribution.Norm,
failureMechanism.Contribution,
failureMechanism.GeneralInput.N,
- output.Beta);
- calculation.NotifyObservers();
- }
+ Output.Beta);
+ }, calculation);
}
}
}
\ No newline at end of file
Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Integration.Test/HeightStructuresCalculationActivityIntegrationTest.cs
===================================================================
diff -u -r0a51f20ac93373a43f79bb4c6327bce1d46545c6 -r6ccc539ce58e63f0e0fbff0da189c87b65146129
--- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Integration.Test/HeightStructuresCalculationActivityIntegrationTest.cs (.../HeightStructuresCalculationActivityIntegrationTest.cs) (revision 0a51f20ac93373a43f79bb4c6327bce1d46545c6)
+++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Integration.Test/HeightStructuresCalculationActivityIntegrationTest.cs (.../HeightStructuresCalculationActivityIntegrationTest.cs) (revision 6ccc539ce58e63f0e0fbff0da189c87b65146129)
@@ -56,6 +56,12 @@
}
var failureMechanism = new HeightStructuresFailureMechanism();
+ failureMechanism.AddSection(new FailureMechanismSection("test section", new[]
+ {
+ new Point2D(0, 0),
+ new Point2D(1, 1)
+ }));
+
var calculation = new HeightStructuresCalculation();
var activity = new HeightStructuresCalculationActivity(calculation, "", failureMechanism, assessmentSection);
@@ -88,6 +94,12 @@
};
var failureMechanism = new HeightStructuresFailureMechanism();
+ failureMechanism.AddSection(new FailureMechanismSection("test section", new[]
+ {
+ new Point2D(0, 0),
+ new Point2D(1, 1)
+ }));
+
var calculation = new HeightStructuresCalculation();
var activity = new HeightStructuresCalculationActivity(calculation, "", failureMechanism, assessmentSection);
Fisheye: Tag 6ccc539ce58e63f0e0fbff0da189c87b65146129 refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Activities/ExceedanceProbabilityCalculationActivity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Activities/HydraRingActivity.cs
===================================================================
diff -u -r636a79efa1f104b917c48d043151ada9fc4e69ac -r6ccc539ce58e63f0e0fbff0da189c87b65146129
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Activities/HydraRingActivity.cs (.../HydraRingActivity.cs) (revision 636a79efa1f104b917c48d043151ada9fc4e69ac)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Activities/HydraRingActivity.cs (.../HydraRingActivity.cs) (revision 6ccc539ce58e63f0e0fbff0da189c87b65146129)
@@ -20,32 +20,68 @@
// All rights reserved.
using System;
+using Core.Common.Base;
using Core.Common.Base.Service;
+using Ringtoets.HydraRing.Calculation.Services;
namespace Ringtoets.HydraRing.Calculation.Activities
{
///
/// for running calculations via Hydra-Ring.
///
- public abstract class HydraRingActivity : Activity
+ public abstract class HydraRingActivity : Activity
{
- private readonly Action beforeRunAction;
+ ///
+ /// The output of the activity.
+ ///
+ protected T Output;
+ protected abstract override void OnRun();
+
+ protected override void OnCancel()
+ {
+ HydraRingCalculationService.CancelRunningCalculation();
+ }
+
+ protected abstract override void OnFinish();
+
///
- /// Creates a new instance of the class.
+ /// Template method for performing the run of the activity.
///
- /// The action to perform before running a Hydra-Ring calculation (like clearing output, validation, etc.).
- protected HydraRingActivity(Action beforeRunAction)
+ /// The method to perform for validation.
+ /// The method to perform for clearing the data of the output to set.
+ /// The method to perform for the calculation.
+ protected void PerformRun(Func validationFunc, Action clearAction, Func calculationFunc)
{
- this.beforeRunAction = beforeRunAction;
+ if (!validationFunc())
+ {
+ State = ActivityState.Failed;
+ return;
+ }
+
+ LogMessages.Clear();
+ clearAction();
+
+ Output = calculationFunc();
+
+ if (Output == null)
+ {
+ State = ActivityState.Failed;
+ }
}
- protected override void OnRun()
+ ///
+ /// Template method for performing the finish of the activity.
+ ///
+ /// The method to set the output on the object.
+ /// The object to notify the observers upon.
+ protected void PerformFinish(Action setOutputAction, Observable observableObject)
{
- if (beforeRunAction != null)
+ if (State == ActivityState.Executed)
{
- beforeRunAction();
+ setOutputAction();
+ observableObject.NotifyObservers();
}
}
}
-}
+}
\ No newline at end of file
Fisheye: Tag 6ccc539ce58e63f0e0fbff0da189c87b65146129 refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Activities/HydraRingActivityFactory.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 6ccc539ce58e63f0e0fbff0da189c87b65146129 refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Activities/TargetProbabilityCalculationActivity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj
===================================================================
diff -u -re568165b751acf8d72cdf0d128f76d7792dadb56 -r6ccc539ce58e63f0e0fbff0da189c87b65146129
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj (.../Ringtoets.HydraRing.Calculation.csproj) (revision e568165b751acf8d72cdf0d128f76d7792dadb56)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj (.../Ringtoets.HydraRing.Calculation.csproj) (revision 6ccc539ce58e63f0e0fbff0da189c87b65146129)
@@ -51,7 +51,6 @@
Properties\GlobalAssembly.cs
-
@@ -65,7 +64,6 @@
-
@@ -96,7 +94,6 @@
-
Fisheye: Tag 6ccc539ce58e63f0e0fbff0da189c87b65146129 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Activities/ExceedanceProbabilityCalculationActivityTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 6ccc539ce58e63f0e0fbff0da189c87b65146129 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Activities/HydraRingActivityFactoryTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Activities/HydraRingActivityTest.cs
===================================================================
diff -u -r636a79efa1f104b917c48d043151ada9fc4e69ac -r6ccc539ce58e63f0e0fbff0da189c87b65146129
--- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Activities/HydraRingActivityTest.cs (.../HydraRingActivityTest.cs) (revision 636a79efa1f104b917c48d043151ada9fc4e69ac)
+++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Activities/HydraRingActivityTest.cs (.../HydraRingActivityTest.cs) (revision 6ccc539ce58e63f0e0fbff0da189c87b65146129)
@@ -20,7 +20,10 @@
// All rights reserved.
using System;
+using Core.Common.Base;
+using Core.Common.Base.Service;
using NUnit.Framework;
+using Rhino.Mocks;
using Ringtoets.HydraRing.Calculation.Activities;
namespace Ringtoets.HydraRing.Calculation.Test.Activities
@@ -29,39 +32,139 @@
public class HydraRingActivityTest
{
[Test]
- public void Run_BeforeRunActionSet_BeforeRunActionPerformed()
+ public void Run_ValidationFuncReturnsFalse_PerformsValidationAndStateFailed()
{
// Setup
- var count = 0;
- var hydraRingActivity = new TestHydraRingActivity(() => { count++; });
+ TestHydraRingActivity activity = new TestHydraRingActivity(false, null);
// Call
- hydraRingActivity.Run();
+ activity.Run();
// Assert
- Assert.AreEqual(1, count);
+ Assert.AreEqual(ActivityState.Failed, activity.State);
}
[Test]
- public void Run_BeforeRunActionNull_DoesNotThrow()
+ public void Run_ValidationFuncReturnsTrue_PerformsValidationAndCalculation()
{
// Setup
- var hydraRingActivity = new TestHydraRingActivity(null);
+ TestHydraRingActivity activity = new TestHydraRingActivity(true, null);
// Call
- TestDelegate test = () => hydraRingActivity.Run();
+ activity.Run();
// Assert
- Assert.DoesNotThrow(test);
+ Assert.IsNaN(activity.Value);
}
- private class TestHydraRingActivity : HydraRingActivity
+ [Test]
+ public void Run_CalculationFuncReturnsNull_PerformsValidationAndCalculationAndStateFailed()
{
- public TestHydraRingActivity(Action beforeRunAction) : base(beforeRunAction) {}
+ // Setup
+ TestHydraRingActivity activity = new TestHydraRingActivity(true, () => null);
- protected override void OnCancel() {}
+ // Call
+ activity.Run();
- protected override void OnFinish() {}
+ // Assert
+ Assert.AreEqual(ActivityState.Failed, activity.State);
}
+
+ [Test]
+ public void Run_CalculationFuncReturnsValue_PerformsValidationAndCalculationAndStateNotFailed()
+ {
+ // Setup
+ TestHydraRingActivity activity = new TestHydraRingActivity(true, () => 2.0);
+
+ // Call
+ activity.Run();
+
+ // Assert
+ Assert.AreNotEqual(ActivityState.Failed, activity.State);
+ }
+
+ [Test]
+ public void Finish_StateExecuted_SetsOutputAndNotifiesObservers()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var observerMock = mocks.StrictMock();
+ observerMock.Expect(o => o.UpdateObserver());
+ mocks.ReplayAll();
+
+ Observable observableObject = new TestObservable();
+ observableObject.Attach(observerMock);
+
+ double newValue = 2.0;
+ TestHydraRingActivity activity = new TestHydraRingActivity(true, () => newValue, observableObject);
+
+ activity.Run();
+
+ // Call
+ activity.Finish();
+
+ // Assert
+ Assert.AreEqual(newValue, activity.Value);
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void Finish_OutputNull_DoesNotSetOutputAndDoesNotNotifyObservers()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var observerMock = mocks.StrictMock();
+ mocks.ReplayAll();
+
+ Observable observableObject = new TestObservable();
+ observableObject.Attach(observerMock);
+
+ double newValue = 2.0;
+ TestHydraRingActivity activity = new TestHydraRingActivity(true, () => null, observableObject);
+
+ activity.Run();
+
+ // Call
+ activity.Finish();
+
+ // Assert
+ Assert.IsNaN(activity.Value);
+ mocks.VerifyAll();
+ }
+
+ private class TestHydraRingActivity : HydraRingActivity
-
-
@@ -99,7 +97,6 @@
-
Index: Ringtoets/Integration/src/Ringtoets.Integration.Service/DesignWaterLevelCalculationActivity.cs
===================================================================
diff -u -r0a51f20ac93373a43f79bb4c6327bce1d46545c6 -r6ccc539ce58e63f0e0fbff0da189c87b65146129
--- Ringtoets/Integration/src/Ringtoets.Integration.Service/DesignWaterLevelCalculationActivity.cs (.../DesignWaterLevelCalculationActivity.cs) (revision 0a51f20ac93373a43f79bb4c6327bce1d46545c6)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Service/DesignWaterLevelCalculationActivity.cs (.../DesignWaterLevelCalculationActivity.cs) (revision 6ccc539ce58e63f0e0fbff0da189c87b65146129)
@@ -21,8 +21,8 @@
using Core.Common.Base.Service;
using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.HydraRing.Calculation.Activities;
using Ringtoets.HydraRing.Calculation.Data.Output;
-using Ringtoets.HydraRing.Calculation.Services;
using Ringtoets.HydraRing.Data;
using Ringtoets.Integration.Service.Properties;
@@ -31,11 +31,10 @@
///
/// for running a design water level calculation.
///
- public class DesignWaterLevelCalculationActivity : Activity
+ public class DesignWaterLevelCalculationActivity : HydraRingActivity
{
private readonly IAssessmentSection assessmentSection;
private readonly HydraulicBoundaryLocation hydraulicBoundaryLocation;
- private TargetProbabilityCalculationOutput output;
public override string Name
{
@@ -58,38 +57,17 @@
protected override void OnRun()
{
- if (!DesignWaterLevelCalculationService.Validate(assessmentSection.HydraulicBoundaryDatabase, hydraulicBoundaryLocation))
- {
- State = ActivityState.Failed;
- return;
- }
-
- LogMessages.Clear();
- hydraulicBoundaryLocation.DesignWaterLevel = double.NaN;
-
- output = DesignWaterLevelCalculationService.Calculate(assessmentSection,
- assessmentSection.HydraulicBoundaryDatabase,
- hydraulicBoundaryLocation,
- assessmentSection.Name); // TODO: Provide name of reference line instead
-
- if (output == null)
- {
- State = ActivityState.Failed;
- }
+ PerformRun(() => DesignWaterLevelCalculationService.Validate(assessmentSection.HydraulicBoundaryDatabase, hydraulicBoundaryLocation),
+ () => hydraulicBoundaryLocation.DesignWaterLevel = double.NaN,
+ () => DesignWaterLevelCalculationService.Calculate(assessmentSection,
+ assessmentSection.HydraulicBoundaryDatabase,
+ hydraulicBoundaryLocation,
+ assessmentSection.Name)); // TODO: Provide name of reference line instead
}
- protected override void OnCancel()
- {
- HydraRingCalculationService.CancelRunningCalculation();
- }
-
protected override void OnFinish()
{
- if (State == ActivityState.Executed)
- {
- hydraulicBoundaryLocation.DesignWaterLevel = output.Result;
- hydraulicBoundaryLocation.NotifyObservers();
- }
+ PerformFinish(() => hydraulicBoundaryLocation.DesignWaterLevel = Output.Result, hydraulicBoundaryLocation);
}
}
}