diff --git a/VectoCore/VectoCore/Mockup/Ninject/MockupModule.cs b/VectoCore/VectoCore/Mockup/Ninject/MockupModule.cs index 993f9b86a244647771a1f4178153c0f05628f73f..f13ab0ae5e59845c8bfd80e9b90a02e981ee1bdf 100644 --- a/VectoCore/VectoCore/Mockup/Ninject/MockupModule.cs +++ b/VectoCore/VectoCore/Mockup/Ninject/MockupModule.cs @@ -8,6 +8,7 @@ using TUGraz.VectoCore; using TUGraz.VectoCore.InputData; using TUGraz.VectoCore.InputData.FileIO.XML; using TUGraz.VectoCore.OutputData.XML; +using TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common; using TUGraz.VectoMockup.Reports; using TUGraz.VectoMockup.Simulation.RundataFactories; @@ -27,6 +28,7 @@ namespace TUGraz.VectoMockup.Ninject Rebind<IVectoRunDataFactoryFactory>().To<VectoMockUpRunDataFactoryFactory>(); Rebind<IXMLDeclarationReportFactory>().To<MockupReportFactory>(); Rebind<IXMLInputDataReader>().To<MockupXMLInputDataFactory>(); + Rebind<IResultsWriterFactory>().To<MockupReportResultsFactory>().InSingletonScope(); } #endregion diff --git a/VectoCore/VectoCore/Mockup/Reports/MockupReportResultsFactory.cs b/VectoCore/VectoCore/Mockup/Reports/MockupReportResultsFactory.cs new file mode 100644 index 0000000000000000000000000000000000000000..0f1786e2324984aed93f7856a55bd539f6aed6c0 --- /dev/null +++ b/VectoCore/VectoCore/Mockup/Reports/MockupReportResultsFactory.cs @@ -0,0 +1,52 @@ +using System.Collections.Generic; +using System.Xml; +using System.Xml.Linq; +using TUGraz.VectoCommon.InputData; +using TUGraz.VectoCore.OutputData; +using TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common; + +namespace TUGraz.VectoMockup.Reports +{ + class MockupReportResultsFactory : IResultsWriterFactory + { + #region Implementation of IResultsWriterFactory + + public IResultsWriter GetCIFResultsWriter(string vehicleCategory, VectoSimulationJobType jobType, bool ovc, bool exempted) + { + return new MockupDummyResultsWriter(XNamespace.Get("urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.9")); + } + + public IResultsWriter GetMRFResultsWriter(string vehicleCategory, VectoSimulationJobType jobType, bool ovc, bool exempted) + { + return new MockupDummyResultsWriter(XNamespace.Get("urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.9")); + } + + public IResultsWriter GetVIFResultsWriter(string vehicleCategory, VectoSimulationJobType jobType, bool ovc, bool exempted) + { + return new MockupDummyResultsWriter(XNamespace.Get("urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1")); + } + + #endregion + } + + internal class MockupDummyResultsWriter : IResultsWriter + { + private readonly XNamespace TNS; + + public MockupDummyResultsWriter(XNamespace ns) + { + TNS = ns; + } + + #region Implementation of IResultsWriter + + public XElement GenerateResults(List<IResultEntry> results) + { + // only return a single 'Results' element - will be replaced in Mockup Report + return new XElement(TNS + "Results"); + } + + #endregion + } + +} \ No newline at end of file