Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/FileImporters/ClosingStructureUpdateDataStrategyTest.cs
===================================================================
diff -u -r8f469f065acb26b785ea45ddeb3ae766b7edd812 -r922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1
--- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/FileImporters/ClosingStructureUpdateDataStrategyTest.cs (.../ClosingStructureUpdateDataStrategyTest.cs) (revision 8f469f065acb26b785ea45ddeb3ae766b7edd812)
+++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/FileImporters/ClosingStructureUpdateDataStrategyTest.cs (.../ClosingStructureUpdateDataStrategyTest.cs) (revision 922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1)
@@ -253,9 +253,10 @@
// Assert
AssertClosingStructures(readStructure, structure);
- CollectionAssert.AreEqual(new[]
+ CollectionAssert.AreEqual(new IObservable[]
{
- targetCollection
+ targetCollection,
+ structure
}, affectedObjects);
}
@@ -306,6 +307,7 @@
CollectionAssert.AreEqual(new IObservable[]
{
failureMechanism.ClosingStructures,
+ structure,
calculation.InputParameters,
calculation
}, affectedObjects);
@@ -382,6 +384,7 @@
CollectionAssert.AreEquivalent(new IObservable[]
{
+ affectedStructure,
affectedCalculation,
affectedCalculation.InputParameters,
targetDataCollection
@@ -435,6 +438,7 @@
CollectionAssert.AreEquivalent(new IObservable[]
{
structures,
+ affectedStructure,
affectedCalculation,
affectedCalculation.InputParameters
}, affectedObjects);
@@ -510,6 +514,7 @@
CollectionAssert.AreEqual(new IObservable[]
{
failureMechanism.ClosingStructures,
+ structure,
calculation.InputParameters,
sectionResults[0],
sectionResults[1]
Index: Ringtoets/Common/src/Ringtoets.Common.Data/StructureBase.cs
===================================================================
diff -u -rf765cbda8002f3db4b7855ba9933899f7ebcf820 -r922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1
--- Ringtoets/Common/src/Ringtoets.Common.Data/StructureBase.cs (.../StructureBase.cs) (revision f765cbda8002f3db4b7855ba9933899f7ebcf820)
+++ Ringtoets/Common/src/Ringtoets.Common.Data/StructureBase.cs (.../StructureBase.cs) (revision 922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1)
@@ -20,6 +20,7 @@
// All rights reserved.
using System;
+using Core.Common.Base;
using Core.Common.Base.Data;
using Core.Common.Base.Geometry;
@@ -28,7 +29,7 @@
///
/// Base definition of a structure.
///
- public abstract class StructureBase
+ public abstract class StructureBase : Observable
{
///
/// Creates a new instance of .
Index: Ringtoets/Common/src/Ringtoets.Common.Data/UpdateDataStrategies/UpdateDataStrategyBase.cs
===================================================================
diff -u -rb7f91e5d6aaac3c9a52cfda9b1bdd3a74ee4f8b1 -r922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1
--- Ringtoets/Common/src/Ringtoets.Common.Data/UpdateDataStrategies/UpdateDataStrategyBase.cs (.../UpdateDataStrategyBase.cs) (revision b7f91e5d6aaac3c9a52cfda9b1bdd3a74ee4f8b1)
+++ Ringtoets/Common/src/Ringtoets.Common.Data/UpdateDataStrategies/UpdateDataStrategyBase.cs (.../UpdateDataStrategyBase.cs) (revision 922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1)
@@ -41,7 +41,7 @@
/// The target data type.
/// The failure mechanism in which the target collection should be updated.
public abstract class UpdateDataStrategyBase
- where TTargetData : class
+ where TTargetData : Observable
where TFailureMechanism : IFailureMechanism
{
protected readonly TFailureMechanism FailureMechanism;
@@ -195,6 +195,10 @@
{
TTargetData objectToUpdateFrom = importedDataCollection.Single(importedObject =>
equalityComparer.Equals(importedObject, objectToUpdate));
+ if (!objectToUpdate.Equals(objectToUpdateFrom))
+ {
+ affectedObjects.Add(objectToUpdate);
+ }
affectedObjects.AddRange(UpdateObjectAndDependentData(objectToUpdate, objectToUpdateFrom));
}
Index: Ringtoets/Common/test/Ringtoets.Common.Data.Test/StructureBaseTest.cs
===================================================================
diff -u -r88d043d47b0976fe2e58c10babb5322b605b16da -r922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1
--- Ringtoets/Common/test/Ringtoets.Common.Data.Test/StructureBaseTest.cs (.../StructureBaseTest.cs) (revision 88d043d47b0976fe2e58c10babb5322b605b16da)
+++ Ringtoets/Common/test/Ringtoets.Common.Data.Test/StructureBaseTest.cs (.../StructureBaseTest.cs) (revision 922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1)
@@ -21,6 +21,7 @@
using System;
using System.Collections.Generic;
+using Core.Common.Base;
using Core.Common.Base.Data;
using Core.Common.Base.Geometry;
using Core.Common.TestUtil;
@@ -138,6 +139,8 @@
});
// Assert
+ Assert.IsInstanceOf(structure);
+
Assert.AreEqual("aName", structure.Name);
Assert.AreEqual("anId", structure.Id);
Assert.AreEqual(location.X, structure.Location.X);
Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Plugin.Test/FileImporters/HeightStructureUpdateDataStrategyTest.cs
===================================================================
diff -u -r6077633f3df6394b0af989aaa1d252773fdff297 -r922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1
--- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Plugin.Test/FileImporters/HeightStructureUpdateDataStrategyTest.cs (.../HeightStructureUpdateDataStrategyTest.cs) (revision 6077633f3df6394b0af989aaa1d252773fdff297)
+++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Plugin.Test/FileImporters/HeightStructureUpdateDataStrategyTest.cs (.../HeightStructureUpdateDataStrategyTest.cs) (revision 922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1)
@@ -253,9 +253,10 @@
// Assert
AssertHeightStructures(readStructure, structure);
- CollectionAssert.AreEqual(new[]
+ CollectionAssert.AreEqual(new IObservable[]
{
- targetCollection
+ targetCollection,
+ structure
}, affectedObjects);
}
@@ -306,6 +307,7 @@
CollectionAssert.AreEqual(new IObservable[]
{
failureMechanism.HeightStructures,
+ structure,
calculation.InputParameters,
calculation
}, affectedObjects);
@@ -382,6 +384,7 @@
CollectionAssert.AreEquivalent(new IObservable[]
{
+ affectedStructure,
affectedCalculation,
affectedCalculation.InputParameters,
targetDataCollection
@@ -434,6 +437,7 @@
// Assert
CollectionAssert.AreEquivalent(new IObservable[]
{
+ affectedStructure,
structures,
affectedCalculation,
affectedCalculation.InputParameters
@@ -510,6 +514,7 @@
CollectionAssert.AreEqual(new IObservable[]
{
failureMechanism.HeightStructures,
+ structure,
calculation.InputParameters,
sectionResults[0],
sectionResults[1]
Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/FileImporters/ForeshoreProfileUpdateDataStrategy.cs
===================================================================
diff -u -r474b2334202ee2bfbe8df476845bd7e2fca01803 -r922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1
--- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/FileImporters/ForeshoreProfileUpdateDataStrategy.cs (.../ForeshoreProfileUpdateDataStrategy.cs) (revision 474b2334202ee2bfbe8df476845bd7e2fca01803)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/FileImporters/ForeshoreProfileUpdateDataStrategy.cs (.../ForeshoreProfileUpdateDataStrategy.cs) (revision 922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1)
@@ -62,7 +62,6 @@
if (!objectToUpdate.Equals(objectToUpdateFrom))
{
objectToUpdate.CopyProperties(objectToUpdateFrom);
- affectedObjects.Add(objectToUpdate);
IEnumerable> affectedCalculations = GetAffectedCalculationWithSurfaceLines(objectToUpdate);
Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/RingtoetsPipingSurfaceLineUpdateDataStrategy.cs
===================================================================
diff -u -r9da080f738eb93fe40ed2a855753ea9c455063bc -r922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1
--- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/RingtoetsPipingSurfaceLineUpdateDataStrategy.cs (.../RingtoetsPipingSurfaceLineUpdateDataStrategy.cs) (revision 9da080f738eb93fe40ed2a855753ea9c455063bc)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/RingtoetsPipingSurfaceLineUpdateDataStrategy.cs (.../RingtoetsPipingSurfaceLineUpdateDataStrategy.cs) (revision 922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1)
@@ -100,10 +100,7 @@
{
IEnumerable affectedCalculations = GetAffectedCalculationWithSurfaceLine(surfaceLine);
- var affectedObjects = new List
- {
- surfaceLine
- };
+ var affectedObjects = new List();
foreach (PipingCalculation affectedCalculation in affectedCalculations)
{
affectedObjects.AddRange(RingtoetsCommonDataSynchronizationService.ClearCalculationOutput(affectedCalculation));
Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelUpdateDataStrategy.cs
===================================================================
diff -u -r50597fbeb76b752bc250107dfa91b696bb6c4995 -r922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1
--- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelUpdateDataStrategy.cs (.../StochasticSoilModelUpdateDataStrategy.cs) (revision 50597fbeb76b752bc250107dfa91b696bb6c4995)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelUpdateDataStrategy.cs (.../StochasticSoilModelUpdateDataStrategy.cs) (revision 922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1)
@@ -97,10 +97,7 @@
StochasticSoilModelProfileDifference difference = modelToUpdate.Update(modelToUpdateFrom);
- var affectedObjects = new List
- {
- modelToUpdate
- };
+ var affectedObjects = new List();
foreach (StochasticSoilProfile removedProfile in difference.RemovedProfiles)
{
affectedObjects.AddRange(PipingDataSynchronizationService.RemoveStochasticSoilProfileFromInput(FailureMechanism, removedProfile));