Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Readers/PipingCalculationGroupReader.cs =================================================================== diff -u -ra6c81de65875f5d507f49d393f237181cfe9a4a2 -rd8d7d3d24763ec06d36322d9a57996a83a64653b --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Readers/PipingCalculationGroupReader.cs (.../PipingCalculationGroupReader.cs) (revision a6c81de65875f5d507f49d393f237181cfe9a4a2) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Readers/PipingCalculationGroupReader.cs (.../PipingCalculationGroupReader.cs) (revision d8d7d3d24763ec06d36322d9a57996a83a64653b) @@ -42,16 +42,22 @@ /// /// Creates a new instance of . /// - /// The file path to the XML file. - /// Thrown when is invalid. - /// Thrown when points to a file that does not exist. - public PipingCalculationGroupReader(string filePath) + /// The file path to the XML file. + /// Thrown when is invalid. + /// Thrown when: + /// + /// points to a file that does not exist. + /// points to a file that does not contain valid XML. + /// points to a file that does not pass the schema validation. + /// + /// + public PipingCalculationGroupReader(string xmlFilePath) { - IOUtils.ValidateFilePath(filePath); - if (!File.Exists(filePath)) + IOUtils.ValidateFilePath(xmlFilePath); + + if (!File.Exists(xmlFilePath)) { - string message = new FileReaderErrorMessageBuilder(filePath) - .Build(CoreCommonUtilsResources.Error_File_does_not_exist); + string message = new FileReaderErrorMessageBuilder(xmlFilePath).Build(CoreCommonUtilsResources.Error_File_does_not_exist); throw new CriticalFileReadException(message); } } @@ -60,23 +66,16 @@ /// Reads a piping configuration from XML and creates a collection of corresponding . /// /// A collection of read . - /// Thrown when the schema validation failed. public IEnumerable Read() { return Enumerable.Empty(); } - private XmlSchemaSet LoadXmlSchema() - { - var schemaFile = AssemblyUtils.GetAssemblyResourceStream(GetType().Assembly, - "Ringtoets.Piping.IO.Readers.XMLPipingConfigurationSchema.xsd"); - - var xmlSchema = new XmlSchemaSet(); - xmlSchema.Add(XmlSchema.Read(schemaFile, null)); - - return xmlSchema; - } - + /// + /// Validates the provided XML document based on a predefined XML Schema Definition (XSD). + /// + /// The XML document to validate. + /// Thrown when the provided XML document does not match the predefined XML Schema Definition (XSD). private void ValidateToSchema(XDocument document) { XmlSchemaSet schema = LoadXmlSchema(); @@ -87,8 +86,19 @@ } catch (XmlSchemaValidationException e) { - throw new PipingConfigurationConversionException(Resources.PipingCalculationGroupReader_Configuration_contains_no_valid_xml, e); + throw new CriticalFileReadException(Resources.PipingCalculationGroupReader_Configuration_contains_no_valid_xml, e); } } + + private XmlSchemaSet LoadXmlSchema() + { + var schemaFile = AssemblyUtils.GetAssemblyResourceStream(GetType().Assembly, + "Ringtoets.Piping.IO.Readers.XMLPipingConfigurationSchema.xsd"); + + var xmlSchema = new XmlSchemaSet(); + xmlSchema.Add(XmlSchema.Read(schemaFile, null)); + + return xmlSchema; + } } } \ No newline at end of file Fisheye: Tag d8d7d3d24763ec06d36322d9a57996a83a64653b refers to a dead (removed) revision in file `Ringtoets/Piping/src/Ringtoets.Piping.IO/Readers/PipingConfigurationConversionException.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Ringtoets.Piping.IO.csproj =================================================================== diff -u -r9fd6d5a7d2289de6a5c6447fe8e0a9019cf75701 -rd8d7d3d24763ec06d36322d9a57996a83a64653b --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Ringtoets.Piping.IO.csproj (.../Ringtoets.Piping.IO.csproj) (revision 9fd6d5a7d2289de6a5c6447fe8e0a9019cf75701) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Ringtoets.Piping.IO.csproj (.../Ringtoets.Piping.IO.csproj) (revision d8d7d3d24763ec06d36322d9a57996a83a64653b) @@ -61,7 +61,6 @@ - Fisheye: Tag d8d7d3d24763ec06d36322d9a57996a83a64653b refers to a dead (removed) revision in file `Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Readers/PipingConfigurationConversionExceptionTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Ringtoets.Piping.IO.Test.csproj =================================================================== diff -u -r9fd6d5a7d2289de6a5c6447fe8e0a9019cf75701 -rd8d7d3d24763ec06d36322d9a57996a83a64653b --- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Ringtoets.Piping.IO.Test.csproj (.../Ringtoets.Piping.IO.Test.csproj) (revision 9fd6d5a7d2289de6a5c6447fe8e0a9019cf75701) +++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Ringtoets.Piping.IO.Test.csproj (.../Ringtoets.Piping.IO.Test.csproj) (revision d8d7d3d24763ec06d36322d9a57996a83a64653b) @@ -76,7 +76,6 @@ -