Index: Ringtoets/Common/src/Ringtoets.Common.Service/WaveHeightCalculationService.cs =================================================================== diff -u -ra97c4ffe5254af061462539883d25722be13e539 -r248229db928c9e5556be704ed274226f80b4ef19 --- Ringtoets/Common/src/Ringtoets.Common.Service/WaveHeightCalculationService.cs (.../WaveHeightCalculationService.cs) (revision a97c4ffe5254af061462539883d25722be13e539) +++ Ringtoets/Common/src/Ringtoets.Common.Service/WaveHeightCalculationService.cs (.../WaveHeightCalculationService.cs) (revision 248229db928c9e5556be704ed274226f80b4ef19) @@ -19,32 +19,24 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using System.IO; using log4net; -using Ringtoets.Common.Service.MessageProviders; -using Ringtoets.Common.Service.Properties; -using Ringtoets.HydraRing.Calculation.Data; using Ringtoets.HydraRing.Calculation.Data.Input.Hydraulics; -using Ringtoets.HydraRing.Calculation.Data.Output; -using Ringtoets.HydraRing.Calculation.Parsers; -using Ringtoets.HydraRing.Calculation.Services; using Ringtoets.HydraRing.Data; -using Ringtoets.HydraRing.IO; namespace Ringtoets.Common.Service { /// /// Service that provides methods for performing Hydra-Ring calculations for marginal wave statistics. /// - public class WaveHeightCalculationService : IWaveHeightCalculationService + public class WaveHeightCalculationService : HydraulicBoundaryLocationCalculationService { private static readonly ILog log = LogManager.GetLogger(typeof(WaveHeightCalculationService)); - private static IWaveHeightCalculationService instance; + private static IHydraulicBoundaryLocationCalculationService instance; /// - /// Gets or sets an instance of . + /// Gets or sets an instance of . /// - public static IWaveHeightCalculationService Instance + public static IHydraulicBoundaryLocationCalculationService Instance { get { @@ -56,65 +48,8 @@ } } - public bool Validate(string name, string hydraulicBoundaryDatabaseFilePath) + protected override WaveHeightCalculationInput CreateInput(IHydraulicBoundaryLocation hydraulicBoundaryLocation, double norm) { - CalculationServiceHelper.LogValidationBeginTime(name); - - string validationProblem = HydraulicDatabaseHelper.ValidatePathForCalculation(hydraulicBoundaryDatabaseFilePath); - var isValid = string.IsNullOrEmpty(validationProblem); - - if (!isValid) - { - CalculationServiceHelper.LogMessagesAsError(Resources.Hydraulic_boundary_database_connection_failed_0_, - validationProblem); - } - - CalculationServiceHelper.LogValidationEndTime(name); - - return isValid; - } - - public ReliabilityIndexCalculationOutput Calculate(IHydraulicBoundaryLocation hydraulicBoundaryLocation, - string hydraulicBoundaryDatabaseFilePath, - string ringId, - double norm, - ICalculationMessageProvider messageProvider) - { - var hlcdDirectory = Path.GetDirectoryName(hydraulicBoundaryDatabaseFilePath); - var input = CreateInput(hydraulicBoundaryLocation, norm); - var reliabilityIndexCalculationParser = new ReliabilityIndexCalculationParser(); - var calculationName = messageProvider.GetCalculationName(hydraulicBoundaryLocation.Name); - - CalculationServiceHelper.PerformCalculation( - calculationName, - () => - { - HydraRingCalculationService.Instance.PerformCalculation( - hlcdDirectory, - ringId, - HydraRingUncertaintiesType.All, - input, - new[] - { - reliabilityIndexCalculationParser - }); - - VerifyOutput(reliabilityIndexCalculationParser.Output, messageProvider, hydraulicBoundaryLocation.Name); - }); - - return reliabilityIndexCalculationParser.Output; - } - - private static void VerifyOutput(ReliabilityIndexCalculationOutput output, ICalculationMessageProvider messageProvider, string locationName) - { - if (output == null) - { - log.Error(messageProvider.GetCalculationFailedMessage(locationName)); - } - } - - private static WaveHeightCalculationInput CreateInput(IHydraulicBoundaryLocation hydraulicBoundaryLocation, double norm) - { return new WaveHeightCalculationInput(1, hydraulicBoundaryLocation.Id, norm); } }