Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingInputSynchronizer.cs =================================================================== diff -u -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e -r1e49eb86c81e8446aeb6031cfd7a209bb0c11bac --- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingInputSynchronizer.cs (.../PipingInputSynchronizer.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingInputSynchronizer.cs (.../PipingInputSynchronizer.cs) (revision 1e49eb86c81e8446aeb6031cfd7a209bb0c11bac) @@ -1,5 +1,4 @@ using System; -using Core.Common.Base; using Core.Common.Base.Data; using log4net; using Ringtoets.Piping.Data.Properties; @@ -11,42 +10,29 @@ /// /// Class responsible for synchronizing piping input. /// - public class PipingInputSynchronizer : IObserver + public class PipingInputSynchronizer { private static readonly ILog log = LogManager.GetLogger(typeof(PipingInputSynchronizer)); private const double seepageLengthStandardDeviationFraction = 0.1; private readonly PipingInput input; - private PipingInputSynchronizer(PipingInput input) + /// + /// Creates a new instance of . + /// + /// The input to synchronize the values for. + internal PipingInputSynchronizer(PipingInput input) { if (input == null) { throw new ArgumentNullException("input", "Cannot create PipingInputSynchronizer without PipingInput."); } - input.Attach(this); this.input = input; - - SynchronizeDerivedProperties(); } - /// - /// Starts the synchronization of the given . - /// - /// The input to synchronize the values for. - public static void Synchronize(PipingInput input) + internal void Synchronize() { - new PipingInputSynchronizer(input); - } - - public void UpdateObserver() - { - SynchronizeDerivedProperties(); - } - - private void SynchronizeDerivedProperties() - { UpdateAssessmentLevel(); UpdateSeepageLength(); UpdateThicknessCoverageLayer(); @@ -99,6 +85,10 @@ { return double.NaN; } + catch (ArgumentException) + { + return double.NaN; + } } private void UpdateThicknessCoverageLayer()