/// <summary>
        /// Write a metadata body content into FlyWriter
        /// </summary>
        /// <param name="writer">object of transport used for transmitting data in streaming <see cref="IFlyWriter"/></param>
        public override void WriterBody(IFlyWriter writer)
        {
            FlyLog.WriteLog(this, FlyLog.LogTypeEnum.All, "Writing Metadata Result");
            switch (writer.FlyMediaType)
            {
            case FlyMediaEnum.Sdmx:
                Org.Sdmxsource.Sdmx.Structureparser.Manager.StructureWriterManager Struwriter = new Org.Sdmxsource.Sdmx.Structureparser.Manager.StructureWriterManager(new Org.Sdmxsource.Sdmx.Structureparser.Factory.SdmxStructureWriterFactory(writer.__SdmxXml));
                Struwriter.WriteStructures(SdmxObject, StructureFormat, null);
                break;

            case FlyMediaEnum.Rdf:
                RDFProvider.Structure.Manager.StructureRDFWritingManager RDFStruwriter = new RDFProvider.Structure.Manager.StructureRDFWritingManager(new RDFProvider.Structure.Factory.RDFStructureWriterFactory(writer.__SdmxXml));
                RDFStruwriter.RDFWriteStructures(SdmxObject, null);
                break;

            case FlyMediaEnum.Dspl:
            case FlyMediaEnum.Json:
            default:
                throw new SdmxException(this, FlyExceptionObject.FlyExceptionTypeEnum.NotImplemented, new Exception("MediaType=" + writer.FlyMediaType.ToString()));
            }

            FlyLog.WriteLog(this, FlyLog.LogTypeEnum.All, "Writing the result successfully completed");
        }
Example #2
0
        private static System.IO.MemoryStream GetStream(ISdmxObjects sdmxObjects, Org.Sdmxsource.Sdmx.Api.Constants.StructureOutputFormatEnumType version)
        {
            Org.Sdmxsource.Sdmx.Api.Constants.StructureOutputFormat soFormat =
                Org.Sdmxsource.Sdmx.Api.Constants.StructureOutputFormat.GetFromEnum(version);
            Org.Sdmxsource.Sdmx.Api.Model.Format.IStructureFormat outputFormat =
                new Org.Sdmxsource.Sdmx.SdmxObjects.Model.SdmxStructureFormat(soFormat);

            Org.Sdmxsource.Sdmx.Structureparser.Manager.StructureWriterManager swm =
                new Org.Sdmxsource.Sdmx.Structureparser.Manager.StructureWriterManager();

            System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();

            swm.WriteStructures(sdmxObjects, outputFormat, memoryStream);

            return memoryStream;
        }