Index: Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/CalculationConfigurationImporter.cs =================================================================== diff -u -rfc204f9f1958c10c27c00e43fc2dba43565f7b35 -r5e9837463c9e1f6fcf8404b943e374650586f99e --- Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/CalculationConfigurationImporter.cs (.../CalculationConfigurationImporter.cs) (revision fc204f9f1958c10c27c00e43fc2dba43565f7b35) +++ Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/CalculationConfigurationImporter.cs (.../CalculationConfigurationImporter.cs) (revision 5e9837463c9e1f6fcf8404b943e374650586f99e) @@ -20,10 +20,13 @@ // All rights reserved. using System; +using System.Collections.Generic; using Core.Common.Base.IO; +using Core.Common.IO.Readers; using log4net; using Ringtoets.Common.Data.Calculation; using Ringtoets.Common.IO.Properties; +using Ringtoets.Common.IO.Readers; namespace Ringtoets.Common.IO.FileImporters { @@ -49,5 +52,51 @@ { log.Info(Resources.CalculationConfigurationImporter_LogImportCanceledMessage_Import_canceled_no_data_read); } + + protected override bool OnImport() + { + NotifyProgress(Resources.CalculationConfigurationImporter_ProgressText_Reading_configuration, 1, 3); + + ReadResult readResult = ReadConfiguration(); + if (readResult.CriticalErrorOccurred || Canceled) + { + return false; + } + + NotifyProgress(Resources.CalculationConfigurationImporter_ProgressText_Validating_imported_data, 2, 3); + + var validCalculationItems = new List(); + + foreach (IReadConfigurationItem readItem in readResult.Items) + { + if (Canceled) + { + return false; + } + + ICalculationBase processedItem = ProcessReadItem(readItem); + if (processedItem != null) + { + validCalculationItems.Add(processedItem); + } + } + + NotifyProgress(Resources.Importer_ProgressText_Adding_imported_data_to_data_model, 3, 3); + AddItemsToModel(validCalculationItems); + + return true; + } + + protected abstract ICalculationBase ProcessReadItem(IReadConfigurationItem readItem); + + protected abstract ReadResult ReadConfiguration(); + + private void AddItemsToModel(IEnumerable validCalculationItems) + { + foreach (ICalculationBase validCalculationItem in validCalculationItems) + { + ImportTarget.Children.Add(validCalculationItem); + } + } } } \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.Designer.cs =================================================================== diff -u -rfc204f9f1958c10c27c00e43fc2dba43565f7b35 -r5e9837463c9e1f6fcf8404b943e374650586f99e --- Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision fc204f9f1958c10c27c00e43fc2dba43565f7b35) +++ Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 5e9837463c9e1f6fcf8404b943e374650586f99e) @@ -92,6 +92,24 @@ } /// + /// Looks up a localized string similar to Inlezen berekeningenconfiguratie.. + /// + public static string CalculationConfigurationImporter_ProgressText_Reading_configuration { + get { + return ResourceManager.GetString("CalculationConfigurationImporter_ProgressText_Reading_configuration", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Valideren berekeningenconfiguratie.. + /// + public static string CalculationConfigurationImporter_ProgressText_Validating_imported_data { + get { + return ResourceManager.GetString("CalculationConfigurationImporter_ProgressText_Validating_imported_data", resourceCulture); + } + } + + /// /// Looks up a localized string similar to <?xml version="1.0" encoding="utf-8"?> /// ///<!-- Index: Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.resx =================================================================== diff -u -rfc204f9f1958c10c27c00e43fc2dba43565f7b35 -r5e9837463c9e1f6fcf8404b943e374650586f99e --- Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.resx (.../Resources.resx) (revision fc204f9f1958c10c27c00e43fc2dba43565f7b35) +++ Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.resx (.../Resources.resx) (revision 5e9837463c9e1f6fcf8404b943e374650586f99e) @@ -528,4 +528,10 @@ Berekeningenconfiguratie importeren afgebroken. Geen data ingelezen. + + Inlezen berekeningenconfiguratie. + + + Valideren berekeningenconfiguratie. + \ No newline at end of file Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/FileImporters/CalculationConfigurationImporterTest.cs =================================================================== diff -u -rfc204f9f1958c10c27c00e43fc2dba43565f7b35 -r5e9837463c9e1f6fcf8404b943e374650586f99e --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/FileImporters/CalculationConfigurationImporterTest.cs (.../CalculationConfigurationImporterTest.cs) (revision fc204f9f1958c10c27c00e43fc2dba43565f7b35) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/FileImporters/CalculationConfigurationImporterTest.cs (.../CalculationConfigurationImporterTest.cs) (revision 5e9837463c9e1f6fcf8404b943e374650586f99e) @@ -21,10 +21,12 @@ using System; using Core.Common.Base.IO; +using Core.Common.IO.Readers; using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.Common.Data.Calculation; using Ringtoets.Common.IO.FileImporters; +using Ringtoets.Common.IO.Readers; namespace Ringtoets.Common.IO.Test.FileImporters { @@ -74,6 +76,16 @@ return true; } + + protected override ICalculationBase ProcessReadItem(IReadConfigurationItem readItem) + { + throw new NotImplementedException(); + } + + protected override ReadResult ReadConfiguration() + { + throw new NotImplementedException(); + } } } } \ No newline at end of file Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/PipingConfigurationImporter.cs =================================================================== diff -u -rfc204f9f1958c10c27c00e43fc2dba43565f7b35 -r5e9837463c9e1f6fcf8404b943e374650586f99e --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/PipingConfigurationImporter.cs (.../PipingConfigurationImporter.cs) (revision fc204f9f1958c10c27c00e43fc2dba43565f7b35) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/PipingConfigurationImporter.cs (.../PipingConfigurationImporter.cs) (revision 5e9837463c9e1f6fcf8404b943e374650586f99e) @@ -115,7 +115,7 @@ return true; } - private ReadResult ReadConfiguration() + protected override ReadResult ReadConfiguration() { try { @@ -134,7 +134,7 @@ } } - private ICalculationBase ProcessReadItem(IReadConfigurationItem readItem) + protected override ICalculationBase ProcessReadItem(IReadConfigurationItem readItem) { var readCalculationGroup = readItem as ReadCalculationGroup; if (readCalculationGroup != null)