Fisheye: Tag 69ba8c3394d749398c3f07bd925d805225d7c672 refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/HydraRingLogFileParser.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/HydraRingOutputFileParser.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/HydraRingOutputFileParser.cs (revision 0)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/HydraRingOutputFileParser.cs (revision 69ba8c3394d749398c3f07bd925d805225d7c672)
@@ -0,0 +1,61 @@
+// Copyright (C) Stichting Deltares 2016. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.IO;
+using log4net;
+using Ringtoets.HydraRing.Calculation.Properties;
+
+namespace Ringtoets.HydraRing.Calculation.Parsers
+{
+ ///
+ /// Parser for a Hydra-Ring log file.
+ ///
+ public class HydraRingOutputFileParser : IHydraRingFileParser
+ {
+ private static readonly ILog log = LogManager.GetLogger(typeof(HydraRingOutputFileParser));
+
+ ///
+ /// Gets the output file content from a Hydra-Ring calculation, or the log file content in case of an error.
+ ///
+ public string OutputFileContent { get; private set; }
+
+ public void Parse(string workingDirectory, int sectionId)
+ {
+ string outputFileName = sectionId + "-output.txt";
+ string outputFilePath = Path.Combine(workingDirectory, outputFileName);
+
+ if (!File.Exists(outputFilePath))
+ {
+ outputFileName = sectionId + ".log";
+ outputFilePath = Path.Combine(workingDirectory, outputFileName);
+ }
+
+ try
+ {
+ OutputFileContent = File.ReadAllText(outputFilePath);
+ }
+ catch
+ {
+ log.ErrorFormat(Resources.Parse_Cannot_read_file_0_from_folder_1_, outputFileName, workingDirectory);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Properties/Resources.Designer.cs
===================================================================
diff -u -r35baeb163866f62a72bccf6438ddc08b41407ecf -r69ba8c3394d749398c3f07bd925d805225d7c672
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 35baeb163866f62a72bccf6438ddc08b41407ecf)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 69ba8c3394d749398c3f07bd925d805225d7c672)
@@ -138,7 +138,7 @@
}
///
- /// Looks up a localized string similar to Kan het Hydra-Ring logbestand {0} niet lezen uit de map {1}..
+ /// Looks up a localized string similar to Kan het Hydra-Ring uitvoerbestand {0} niet lezen uit de map {1}..
///
internal static string Parse_Cannot_read_file_0_from_folder_1_ {
get {
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Properties/Resources.resx
===================================================================
diff -u -r35baeb163866f62a72bccf6438ddc08b41407ecf -r69ba8c3394d749398c3f07bd925d805225d7c672
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Properties/Resources.resx (.../Resources.resx) (revision 35baeb163866f62a72bccf6438ddc08b41407ecf)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Properties/Resources.resx (.../Resources.resx) (revision 69ba8c3394d749398c3f07bd925d805225d7c672)
@@ -118,7 +118,7 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- Kan het Hydra-Ring logbestand {0} niet lezen uit de map {1}.
+ Kan het Hydra-Ring uitvoerbestand {0} niet lezen uit de map {1}.
Hydra-Ring berekeningsverslag. Klik op details voor meer informatie.
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj
===================================================================
diff -u -rc9b7e35a8bbf2fce3c59d6195c686480ccaa3eb5 -r69ba8c3394d749398c3f07bd925d805225d7c672
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj (.../Ringtoets.HydraRing.Calculation.csproj) (revision c9b7e35a8bbf2fce3c59d6195c686480ccaa3eb5)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj (.../Ringtoets.HydraRing.Calculation.csproj) (revision 69ba8c3394d749398c3f07bd925d805225d7c672)
@@ -71,7 +71,7 @@
-
+
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Services/HydraRingCalculationService.cs
===================================================================
diff -u -r4ba68ad8c0ed15ce0449c39a5c6df1ef53daf866 -r69ba8c3394d749398c3f07bd925d805225d7c672
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Services/HydraRingCalculationService.cs (.../HydraRingCalculationService.cs) (revision 4ba68ad8c0ed15ce0449c39a5c6df1ef53daf866)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Services/HydraRingCalculationService.cs (.../HydraRingCalculationService.cs) (revision 69ba8c3394d749398c3f07bd925d805225d7c672)
@@ -88,15 +88,15 @@
ICollection parsers,
HydraRingInitializationService hydraRingInitializationService)
{
- var logFileParser = new HydraRingLogFileParser();
- parsers.Add(logFileParser);
+ var outputFileParser = new HydraRingOutputFileParser();
+ parsers.Add(outputFileParser);
ExecuteParsers(parsers, hydraRingInitializationService.TemporaryWorkingDirectory, hydraRingCalculationInput.Section.SectionId);
- string logFileContent = logFileParser.LogFileContent;
- if (!string.IsNullOrEmpty(logFileContent))
+ string outputFileContent = outputFileParser.OutputFileContent;
+ if (!string.IsNullOrEmpty(outputFileContent))
{
- log.InfoFormat(Resources.HydraRingCalculationService_HydraRing_calculation_report_message_text_0, logFileContent);
+ log.InfoFormat(Resources.HydraRingCalculationService_HydraRing_calculation_report_message_text_0, outputFileContent);
}
}
Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Parsers/HydraRingOutputFileParserTest.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Parsers/HydraRingOutputFileParserTest.cs (revision 0)
+++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Parsers/HydraRingOutputFileParserTest.cs (revision 69ba8c3394d749398c3f07bd925d805225d7c672)
@@ -0,0 +1,96 @@
+// Copyright (C) Stichting Deltares 2016. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.IO;
+using Core.Common.TestUtil;
+using NUnit.Framework;
+using Ringtoets.HydraRing.Calculation.Parsers;
+
+namespace Ringtoets.HydraRing.Calculation.Test.Parsers
+{
+ [TestFixture]
+ public class HydraRingOutputFileParserTest
+ {
+ private readonly string testDataDirectory = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.HydraRing.Calculation,
+ Path.Combine("Parsers", "OutputFileParser"));
+
+ [Test]
+ public void DefaultConstructor_SetDefaultValues()
+ {
+ // Call
+ var outputFileParser = new HydraRingOutputFileParser();
+
+ // Assert
+ Assert.IsInstanceOf(outputFileParser);
+ }
+
+ [Test]
+ public void Parse_NotExistingWorkingDirectory_LogError()
+ {
+ // Setup
+ var outputFileParser = new HydraRingOutputFileParser();
+ var outputFileNameOnError = "1.log";
+ var nonExistentDirectory = "c:/niet_bestaande_map";
+
+ // Call
+ Action call = () => outputFileParser.Parse(nonExistentDirectory, 1);
+
+ // Assert
+ var expectedMessage = string.Format("Kan het Hydra-Ring uitvoerbestand {0} niet lezen uit de map {1}.", outputFileNameOnError, nonExistentDirectory);
+ TestHelper.AssertLogMessageIsGenerated(call, expectedMessage);
+ }
+
+ [Test]
+ public void Parse_NotExistingOutputFile_LogError()
+ {
+ // Setup
+ var outputFileParser = new HydraRingOutputFileParser();
+ var outputFileName = "1234567890-output.txt";
+
+ // Call
+ Action call = () => outputFileParser.Parse(testDataDirectory, 1234567890);
+
+ // Assert
+ var outputFileNameOnError = "1234567890.log";
+ var expectedMessage = string.Format("Kan het Hydra-Ring uitvoerbestand {0} niet lezen uit de map {1}.", new[]
+ {
+ outputFileNameOnError,
+ testDataDirectory
+ });
+ TestHelper.AssertLogMessageIsGenerated(call, expectedMessage);
+ }
+
+ [Test]
+ public void Parse_ValidOutputFile_LogInfo()
+ {
+ // Setup
+ var outputFileParser = new HydraRingOutputFileParser();
+
+ // Call
+ outputFileParser.Parse(testDataDirectory, 1);
+
+ // Assert
+ var expectedMessage = "In dit bestand staan veschillende berichten, welke door Hydra-Ring gegenereerd zijn.";
+ Assert.AreEqual(expectedMessage, outputFileParser.OutputFileContent);
+ }
+ }
+}
\ No newline at end of file
Fisheye: Tag 69ba8c3394d749398c3f07bd925d805225d7c672 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Parsers/LogFileParserTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Ringtoets.HydraRing.Calculation.Test.csproj
===================================================================
diff -u -r3d84064b23186da3fb11f19ff0d07f41e1209bbb -r69ba8c3394d749398c3f07bd925d805225d7c672
--- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Ringtoets.HydraRing.Calculation.Test.csproj (.../Ringtoets.HydraRing.Calculation.Test.csproj) (revision 3d84064b23186da3fb11f19ff0d07f41e1209bbb)
+++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Ringtoets.HydraRing.Calculation.Test.csproj (.../Ringtoets.HydraRing.Calculation.Test.csproj) (revision 69ba8c3394d749398c3f07bd925d805225d7c672)
@@ -77,7 +77,7 @@
-
+
Fisheye: Tag 69ba8c3394d749398c3f07bd925d805225d7c672 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/LogFileParser/1.log'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OutputFileParser/1-output.txt
===================================================================
diff -u
--- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OutputFileParser/1-output.txt (revision 0)
+++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OutputFileParser/1-output.txt (revision 69ba8c3394d749398c3f07bd925d805225d7c672)
@@ -0,0 +1 @@
+In dit bestand staan veschillende berichten, welke door Hydra-Ring gegenereerd zijn.
\ No newline at end of file