/// <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"); }
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; }