Index: Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/CalculationConfigurationImporter.cs
===================================================================
diff -u -r8f228044569bcff77f25f658a7e5277e78b6b6a8 -r309837df48178bbae93c412badfda6c0de5da6a4
--- Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/CalculationConfigurationImporter.cs (.../CalculationConfigurationImporter.cs) (revision 8f228044569bcff77f25f658a7e5277e78b6b6a8)
+++ Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/CalculationConfigurationImporter.cs (.../CalculationConfigurationImporter.cs) (revision 309837df48178bbae93c412badfda6c0de5da6a4)
@@ -35,12 +35,14 @@
/// Base class for importing a calculation configuration from an XML file and
/// storing it on a .
///
- public abstract class CalculationConfigurationImporter : FileImporterBase
+ public abstract class CalculationConfigurationImporter
+ : FileImporterBase
+ where TReadCalculation : class, IReadConfigurationItem
{
- private static readonly ILog log = LogManager.GetLogger(typeof(CalculationConfigurationImporter));
+ private static readonly ILog log = LogManager.GetLogger(typeof(CalculationConfigurationImporter));
///
- /// Creates a new instance of .
+ /// Creates a new instance of .
///
/// The path to the file to import from.
/// The calculation group to update.
@@ -88,10 +90,10 @@
return true;
}
- protected abstract ICalculationBase ProcessReadItem(IReadConfigurationItem readItem);
-
protected abstract ICollection ReadConfigurationItems(string filePath);
+ protected abstract ICalculationBase ProcessCalculation(TReadCalculation readCalculation);
+
private ReadResult ReadConfiguration()
{
try
@@ -111,6 +113,39 @@
}
}
+ private ICalculationBase ProcessReadItem(IReadConfigurationItem readItem)
+ {
+ var readCalculationGroup = readItem as ReadCalculationGroup;
+ if (readCalculationGroup != null)
+ {
+ return ProcessCalculationGroup(readCalculationGroup);
+ }
+
+ var readCalculation = readItem as TReadCalculation;
+ if (readCalculation != null)
+ {
+ return ProcessCalculation(readCalculation);
+ }
+
+ return null;
+ }
+
+ private CalculationGroup ProcessCalculationGroup(ReadCalculationGroup readCalculationGroup)
+ {
+ var group = new CalculationGroup(readCalculationGroup.Name, true);
+
+ foreach (IReadConfigurationItem item in readCalculationGroup.Items)
+ {
+ ICalculationBase processedItem = ProcessReadItem(item);
+ if (processedItem != null)
+ {
+ group.Children.Add(processedItem);
+ }
+ }
+
+ return group;
+ }
+
private void AddItemsToModel(IEnumerable validCalculationItems)
{
foreach (ICalculationBase validCalculationItem in validCalculationItems)
Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/FileImporters/CalculationConfigurationImporterTest.cs
===================================================================
diff -u -r8f228044569bcff77f25f658a7e5277e78b6b6a8 -r309837df48178bbae93c412badfda6c0de5da6a4
--- Ringtoets/Common/test/Ringtoets.Common.IO.Test/FileImporters/CalculationConfigurationImporterTest.cs (.../CalculationConfigurationImporterTest.cs) (revision 8f228044569bcff77f25f658a7e5277e78b6b6a8)
+++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/FileImporters/CalculationConfigurationImporterTest.cs (.../CalculationConfigurationImporterTest.cs) (revision 309837df48178bbae93c412badfda6c0de5da6a4)
@@ -22,7 +22,6 @@
using System;
using System.Collections.Generic;
using Core.Common.Base.IO;
-using Core.Common.IO.Readers;
using Core.Common.TestUtil;
using NUnit.Framework;
using Ringtoets.Common.Data.Calculation;
@@ -61,7 +60,7 @@
TestHelper.AssertLogMessageIsGenerated(call, "Berekeningenconfiguratie importeren afgebroken. Geen data ingelezen.", 1);
}
- private class TestCalculationConfigurationImporter : CalculationConfigurationImporter
+ private class TestCalculationConfigurationImporter : CalculationConfigurationImporter
{
public TestCalculationConfigurationImporter(string filePath, CalculationGroup importTarget)
: base(filePath, importTarget) {}
@@ -78,15 +77,20 @@
return true;
}
- protected override ICalculationBase ProcessReadItem(IReadConfigurationItem readItem)
+ protected override ICollection ReadConfigurationItems(string filePath)
{
throw new NotImplementedException();
}
- protected override ICollection ReadConfigurationItems(string filePath)
+ protected override ICalculationBase ProcessCalculation(TestReadConfigurationItem readCalculation)
{
throw new NotImplementedException();
}
}
+
+ private class TestReadConfigurationItem : IReadConfigurationItem
+ {
+ public string Name { get; }
+ }
}
}
\ No newline at end of file
Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/PipingConfigurationImporter.cs
===================================================================
diff -u -r8f228044569bcff77f25f658a7e5277e78b6b6a8 -r309837df48178bbae93c412badfda6c0de5da6a4
--- Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/PipingConfigurationImporter.cs (.../PipingConfigurationImporter.cs) (revision 8f228044569bcff77f25f658a7e5277e78b6b6a8)
+++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/PipingConfigurationImporter.cs (.../PipingConfigurationImporter.cs) (revision 309837df48178bbae93c412badfda6c0de5da6a4)
@@ -35,15 +35,14 @@
using Ringtoets.Piping.IO.Readers;
using Ringtoets.Piping.IO.Schema;
using Ringtoets.Piping.Primitives;
-using RingtoetsCommonIOResources = Ringtoets.Common.IO.Properties.Resources;
namespace Ringtoets.Piping.IO.Importers
{
///
/// Imports a piping configuration from an XML file and stores it on a
/// .
///
- public class PipingConfigurationImporter : CalculationConfigurationImporter
+ public class PipingConfigurationImporter : CalculationConfigurationImporter
{
private static readonly ILog log = LogManager.GetLogger(typeof(PipingConfigurationImporter));
@@ -79,46 +78,13 @@
this.failureMechanism = failureMechanism;
}
- protected override ICalculationBase ProcessReadItem(IReadConfigurationItem readItem)
- {
- var readCalculationGroup = readItem as ReadCalculationGroup;
- if (readCalculationGroup != null)
- {
- return ProcessCalculationGroup(readCalculationGroup);
- }
-
- var readCalculation = readItem as ReadPipingCalculation;
- if (readCalculation != null)
- {
- return ProcessCalculation(readCalculation);
- }
-
- return null;
- }
-
protected override ICollection ReadConfigurationItems(string filePath)
{
return new PipingConfigurationReader(FilePath).Read().ToList();
}
- private CalculationGroup ProcessCalculationGroup(ReadCalculationGroup readCalculationGroup)
+ protected override ICalculationBase ProcessCalculation(ReadPipingCalculation readCalculation)
{
- var group = new CalculationGroup(readCalculationGroup.Name, true);
-
- foreach (IReadConfigurationItem item in readCalculationGroup.Items)
- {
- ICalculationBase processedItem = ProcessReadItem(item);
- if (processedItem != null)
- {
- group.Children.Add(processedItem);
- }
- }
-
- return group;
- }
-
- private PipingCalculationScenario ProcessCalculation(ReadPipingCalculation readCalculation)
- {
var pipingCalculation = new PipingCalculationScenario(new GeneralPipingInput())
{
Name = readCalculation.Name
Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Importers/PipingConfigurationImporterTest.cs
===================================================================
diff -u -r8f228044569bcff77f25f658a7e5277e78b6b6a8 -r309837df48178bbae93c412badfda6c0de5da6a4
--- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Importers/PipingConfigurationImporterTest.cs (.../PipingConfigurationImporterTest.cs) (revision 8f228044569bcff77f25f658a7e5277e78b6b6a8)
+++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Importers/PipingConfigurationImporterTest.cs (.../PipingConfigurationImporterTest.cs) (revision 309837df48178bbae93c412badfda6c0de5da6a4)
@@ -31,6 +31,7 @@
using Ringtoets.Common.IO.FileImporters;
using Ringtoets.Piping.Data;
using Ringtoets.Piping.IO.Importers;
+using Ringtoets.Piping.IO.Readers;
using Ringtoets.Piping.Primitives;
namespace Ringtoets.Piping.IO.Test.Importers
@@ -51,7 +52,7 @@
new PipingFailureMechanism());
// Assert
- Assert.IsInstanceOf(importer);
+ Assert.IsInstanceOf>(importer);
}
[Test]