public void TestGetDataDataWriterEngineEmptyAttr(string query, string name) { var connectionString = ConfigurationManager.ConnectionStrings [name]; var dataQuery = new DataQueryImpl(new RESTDataQueryCore(query), new MappingStoreSdmxObjectRetrievalManager(connectionString)); const string EmptyAttributeXML = "empty-attribute.xml"; using (XmlWriter writer = XmlWriter.Create(EmptyAttributeXML, new XmlWriterSettings() {Indent = true})) { IDataWriterEngine dataWriter = new CompactDataWriterEngine(writer, SdmxSchema.GetFromEnum(SdmxSchemaEnumType.VersionTwoPointOne)); ISdmxDataRetrievalWithWriter sdmxDataRetrievalWithWriter = new DataRetrieverCore(new HeaderImpl("TestEmptyConditionalAttribute", "ZZ9"), connectionString, SdmxSchemaEnumType.VersionTwoPointOne); sdmxDataRetrievalWithWriter.GetData(dataQuery, dataWriter); writer.Flush(); } var fileInfo = new FileInfo(EmptyAttributeXML); Assert.IsTrue(fileInfo.Exists); using (var fileStream = fileInfo.OpenRead()) using (var reader = XmlReader.Create(fileStream)) { while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: { var localName = reader.LocalName; if (localName.Equals("Group")) { Assert.IsTrue(reader.HasAttributes); var dateStr = reader.GetAttribute("NAT_TITLE"); Assert.IsNull(dateStr); } else if (localName.Equals("Obs")) { Assert.IsTrue(reader.HasAttributes); var attribute = reader.GetAttribute("OBS_COM"); Assert.IsTrue(attribute == null || !string.IsNullOrWhiteSpace(attribute)); } } break; } } } }
public void TestNestedAndOr(string queryFile, string dataflowFile, string dsdFile, string name) { var retrievalManager = this.GetSdmxObjectRetrievalManager(dataflowFile, dsdFile); var connectionString = ConfigurationManager.ConnectionStrings [name]; ISdmxDataRetrievalWithWriter dr = new DataRetrieverCore(new HeaderImpl("TestNestedAndOr", "ZZ9"), connectionString, SdmxSchemaEnumType.VersionTwo); IList<IDataQuery> dataQuery; using (var fileReadableDataLocation = new FileReadableDataLocation(queryFile)) { dataQuery = this.dataQueryParseManager.BuildDataQuery(fileReadableDataLocation, retrievalManager); Assert.IsNotEmpty(dataQuery); } var outputFileName = string.Format("{0}-TestNestedAndOr-out.xml", queryFile); using (XmlWriter writer = XmlWriter.Create(outputFileName, new XmlWriterSettings { Indent = true })) using (IDataWriterEngine dataWriter = new CompactDataWriterEngine(writer, SdmxSchema.GetFromEnum(SdmxSchemaEnumType.VersionTwo))) { dr.GetData(dataQuery.First(), dataWriter); } }
public void TestSDMXv20XS(string filePath, string name, int allowedObs) { var connectionString = ConfigurationManager.ConnectionStrings [name]; IList<IDataQuery> dataQueries; var mappingStoreSdmxObjectRetrievalManager = new MappingStoreSdmxObjectRetrievalManager(connectionString); using (IReadableDataLocation dataLocation = new FileReadableDataLocation(filePath)) { dataQueries = this._dataQueryParseManager.BuildDataQuery(dataLocation, mappingStoreSdmxObjectRetrievalManager); } Assert.IsNotEmpty(dataQueries); var dataQuery = dataQueries.First(); var outputFileName = string.Format("{0}-soap-v20-xs-max-obs-out.xml", filePath); using (XmlWriter writer = XmlWriter.Create(outputFileName, new XmlWriterSettings { Indent = true })) { ICrossSectionalWriterEngine dataWriter = new CrossSectionalWriterEngine(writer, SdmxSchema.GetFromEnum(SdmxSchemaEnumType.VersionTwo)); ISdmxDataRetrievalWithCrossWriter advancedSdmxDataRetrievalWithWriter = new DataRetrieverCore(this._defaultHeader, connectionString, SdmxSchemaEnumType.VersionTwo, allowedObs); advancedSdmxDataRetrievalWithWriter.GetData(dataQuery, dataWriter); writer.Flush(); } }
public void TestRest(string restUrl, string connectionName, int allowedObs) { var connectionString = ConfigurationManager.ConnectionStrings [connectionName]; var mappingStoreSdmxObjectRetrievalManager = new MappingStoreSdmxObjectRetrievalManager(connectionString); var dataQuery = this._dataQueryParseManager.ParseRestQuery(restUrl, mappingStoreSdmxObjectRetrievalManager); Assert.IsNotNull(dataQuery); var outputFileName = string.Format("REST-{0}-{1}-{2}-{3}--max-obsout.xml", dataQuery.Dataflow.Id, dataQuery.DimensionAtObservation, dataQuery.FirstNObservations, dataQuery.LastNObservations); using (XmlWriter writer = XmlWriter.Create(outputFileName, new XmlWriterSettings { Indent = true })) { IDataWriterEngine dataWriter = new CompactDataWriterEngine(writer, SdmxSchema.GetFromEnum(SdmxSchemaEnumType.VersionTwoPointOne)); ISdmxDataRetrievalWithWriter sdmxDataRetrievalWithWriter = new DataRetrieverCore(this._defaultHeader, connectionString, SdmxSchemaEnumType.VersionTwoPointOne, allowedObs); sdmxDataRetrievalWithWriter.GetData(dataQuery, dataWriter); writer.Flush(); } }