Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/HydraRingCalculatorBase.cs =================================================================== diff -u -r6c058f12138b8a73a78eacd10357d9caa81ed67d -r2fb9ff1aeea694e4ee33075b6ae5e6f3f819573c --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/HydraRingCalculatorBase.cs (.../HydraRingCalculatorBase.cs) (revision 6c058f12138b8a73a78eacd10357d9caa81ed67d) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/HydraRingCalculatorBase.cs (.../HydraRingCalculatorBase.cs) (revision 2fb9ff1aeea694e4ee33075b6ae5e6f3f819573c) @@ -27,8 +27,10 @@ using System.Security; using Ringtoets.HydraRing.Calculation.Data; using Ringtoets.HydraRing.Calculation.Data.Input; +using Ringtoets.HydraRing.Calculation.Data.Output.IllustrationPoints; using Ringtoets.HydraRing.Calculation.Exceptions; using Ringtoets.HydraRing.Calculation.Parsers; +using Ringtoets.HydraRing.Calculation.Parsers.IllustrationPoints; using Ringtoets.HydraRing.Calculation.Properties; using Ringtoets.HydraRing.Calculation.Services; @@ -40,6 +42,7 @@ internal abstract class HydraRingCalculatorBase { private readonly LastErrorFileParser lastErrorFileParser; + private readonly IllustrationPointsParser illustrationPointsParser; private readonly string hlcdDirectory; private Process hydraRingProcess; @@ -59,6 +62,7 @@ this.hlcdDirectory = hlcdDirectory; lastErrorFileParser = new LastErrorFileParser(); + illustrationPointsParser = new IllustrationPointsParser(); } /// @@ -72,6 +76,11 @@ public string LastErrorFileContent { get; private set; } /// + /// Gets the result of the illustration points. + /// + public GeneralResult IllustrationPointsResult { get; private set; } + + /// /// Cancels any currently running Hydra-Ring calculation. /// public void Cancel() @@ -150,10 +159,22 @@ /// The id of the section of the calculation. /// Thrown when the HydraRing file parser /// encounters an error while parsing HydraRing output. + /// The is set to null when the + /// encounters an error. private void ExecuteGenericParsers(HydraRingInitializationService hydraRingInitializationService, int sectionId) { lastErrorFileParser.Parse(hydraRingInitializationService.TemporaryWorkingDirectory, sectionId); LastErrorFileContent = lastErrorFileParser.ErrorFileContent; + + try + { + illustrationPointsParser.Parse(hydraRingInitializationService.TemporaryWorkingDirectory, sectionId); + IllustrationPointsResult = illustrationPointsParser.Output; + } + catch (HydraRingFileParserException) + { + IllustrationPointsResult = null; + } } ///