/// <summary> /// Initializes a new instance of the <see cref="ControllerBuilder"/> class. /// </summary> /// <param name="mappingStoreConnectionSettings"> /// The mapping store connection settings. /// </param> /// <param name="defaultHeader"> /// The default header. /// </param> public ControllerBuilder(ConnectionStringSettings mappingStoreConnectionSettings, IHeader defaultHeader) { if (mappingStoreConnectionSettings == null) { _log.Error("No connection string defined. Please check the web.config."); throw new ArgumentNullException("mappingStoreConnectionSettings"); } var dataRetrieverCore = new DataRetrieverCore(defaultHeader, mappingStoreConnectionSettings, SdmxSchemaEnumType.VersionTwo); var dataRetrieverV21 = new DataRetrieverCore(defaultHeader, mappingStoreConnectionSettings, SdmxSchemaEnumType.VersionTwoPointOne); this._retrievalWithCrossWriter = dataRetrieverCore; this._retrievalWithWriter = dataRetrieverCore; this._retrievalWithWriterv21 = dataRetrieverV21; this._advancedRetrievalWithWriter = dataRetrieverV21; // structure search factories IStructureSearchManagerFactory <IAdvancedMutableStructureSearchManager> advancedFactory = new AdvancedMutableStructureSearchManagerFactory(); IStructureSearchManagerFactory <IAuthAdvancedMutableStructureSearchManager> autAdvancedFactory = new AuthAdvancedMutableStructureSearchManagerFactory(); IStructureSearchManagerFactory <IMutableStructureSearchManager> structureSearchManager = new MutableStructureSearchManagerFactory(); IStructureSearchManagerFactory <IAuthMutableStructureSearchManager> autFactory = new AuthMutableStructureSearchManagerFactory(); // advanced structure search managers this._advancedMutableStructureSearchManager = advancedFactory.GetStructureSearchManager(mappingStoreConnectionSettings, _sdmxSchemaV21); this._authAdvancedMutableStructureSearchManager = autAdvancedFactory.GetStructureSearchManager(mappingStoreConnectionSettings, _sdmxSchemaV21); // simple structure search managers this._mutableStructureSearchManagerV20 = structureSearchManager.GetStructureSearchManager(mappingStoreConnectionSettings, _sdmxSchemaV20); this._authMutableStructureSearchManagerV20 = autFactory.GetStructureSearchManager(mappingStoreConnectionSettings, _sdmxSchemaV20); this._mutableStructureSearchManagerV21 = structureSearchManager.GetStructureSearchManager(mappingStoreConnectionSettings, _sdmxSchemaV21); this._authMutableStructureSearchManagerV21 = autFactory.GetStructureSearchManager(mappingStoreConnectionSettings, _sdmxSchemaV21); this._mappingStoreSdmxObjectRetrievalManager = new MappingStoreSdmxObjectRetrievalManager(mappingStoreConnectionSettings); }
public ISet<ICodelistObject> GetCodelistStruc() { WebOperationContext ctx = WebOperationContext.Current; IRestStructureQuery input = BuildRestQueryBean(structure, agencyID, resourceID, version, ctx.IncomingRequest.UriTemplateMatch.QueryParameters); CodelistXmlBuilder codelistXmlBuilderBean = new CodelistXmlBuilder(); var codelistsType = new CodelistsType(); var structures = new StructuresType(); structures.Codelists = codelistsType; IMutableStructureSearchManager mutableStructureSearchManagerV21; IStructureSearchManagerFactory<IMutableStructureSearchManager> structureSearchManager = new MutableStructureSearchManagerFactory(); var sdmxSchemaV21 = SdmxSchema.GetFromEnum(SdmxSchemaEnumType.VersionTwoPointOne); mutableStructureSearchManagerV21 = structureSearchManager.GetStructureSearchManager(SettingsManager.MappingStoreConnectionSettings, sdmxSchemaV21); this._structureSearchManager = mutableStructureSearchManagerV21; ; IMutableObjects mutableObjects = this._structureSearchManager.GetMaintainables(input); var immutableObj = mutableObjects.ImmutableObjects; immutableObj.Header = SettingsManager.Header; ISet<ICodelistObject> codelists = immutableObj.Codelists; return codelists; }
/// <summary> /// Initializes a new instance of the <see cref="ControllerBuilder"/> class. /// </summary> /// <param name="mappingStoreConnectionSettings"> /// The mapping store connection settings. /// </param> /// <param name="defaultHeader"> /// The default header. /// </param> public CsvZipControllerBuilder(ConnectionStringSettings mappingStoreConnectionSettings, IHeader defaultHeader) { if (mappingStoreConnectionSettings == null) { _log.Error("No connection string defined. Please check the web.config."); throw new ArgumentNullException("mappingStoreConnectionSettings"); } var dataRetrieverCore = new DataRetrieverCore(defaultHeader, mappingStoreConnectionSettings, SdmxSchemaEnumType.VersionTwo); var dataRetrieverV21 = new DataRetrieverCore(defaultHeader, mappingStoreConnectionSettings, SdmxSchemaEnumType.VersionTwoPointOne); var dataRetrieverCsvZip = new CsvZipDataRetrieverCore(defaultHeader, mappingStoreConnectionSettings, SdmxSchemaEnumType.VersionTwoPointOne); this._retrievalWithCrossWriter = dataRetrieverCore; this._retrievalWithWriter = dataRetrieverCore; this._retrievalWithWriterv21 = dataRetrieverCsvZip; this._advancedRetrievalWithWriter = dataRetrieverV21; //andrea this._retrievalTabular = dataRetrieverCore; // structure search factories IStructureSearchManagerFactory<IAdvancedMutableStructureSearchManager> advancedFactory = new AdvancedMutableStructureSearchManagerFactory(); IStructureSearchManagerFactory<IAuthAdvancedMutableStructureSearchManager> autAdvancedFactory = new AuthAdvancedMutableStructureSearchManagerFactory(); IStructureSearchManagerFactory<IMutableStructureSearchManager> structureSearchManager = new MutableStructureSearchManagerFactory(); IStructureSearchManagerFactory<IAuthMutableStructureSearchManager> autFactory = new AuthMutableStructureSearchManagerFactory(); // advanced structure search managers this._advancedMutableStructureSearchManager = advancedFactory.GetStructureSearchManager(mappingStoreConnectionSettings, _sdmxSchemaV21); this._authAdvancedMutableStructureSearchManager = autAdvancedFactory.GetStructureSearchManager(mappingStoreConnectionSettings, _sdmxSchemaV21); // simple structure search managers this._mutableStructureSearchManagerV20 = structureSearchManager.GetStructureSearchManager(mappingStoreConnectionSettings, _sdmxSchemaV20); this._authMutableStructureSearchManagerV20 = autFactory.GetStructureSearchManager(mappingStoreConnectionSettings, _sdmxSchemaV20); this._mutableStructureSearchManagerV21 = structureSearchManager.GetStructureSearchManager(mappingStoreConnectionSettings, _sdmxSchemaV21); this._authMutableStructureSearchManagerV21 = autFactory.GetStructureSearchManager(mappingStoreConnectionSettings, _sdmxSchemaV21); }
public StringWriter StructureResponse(string structure, string agencyId, string resourceId, string version, StringWriter sw) { StringWriter jsonres= null; /* var structure = "codelist"; var agencyId = agenzia; // "IT1"; var resourceId = codelist; // "CL_REFAREA"; var version = versione; // "1.4"; */ System.ServiceModel.Web.WebOperationContext ctx = System.ServiceModel.Web.WebOperationContext.Current; Org.Sdmxsource.Sdmx.Api.Model.Query.IRestStructureQuery input = BuildRestQueryBean(structure, agencyId, resourceId, version, ctx.IncomingRequest.UriTemplateMatch.QueryParameters); /* object tipo; */ //var codelistsType = new Org.Sdmx.Resources.SdmxMl.Schemas.V21.Structure.CodelistsType(); // var structures = new Org.Sdmx.Resources.SdmxMl.Schemas.V21.Structure.StructuresType(); // structures.Codelists = codelistsType; IMutableStructureSearchManager mutableStructureSearchManagerV21; /**/ //var wx = new Org.Sdmx.Resources.SdmxMl.Schemas.V21.Structure.DataflowsType(); //structures.Dataflows = wx; /**/ Estat.Nsi.StructureRetriever.Factory.IStructureSearchManagerFactory<IMutableStructureSearchManager> structureSearchManager = new MutableStructureSearchManagerFactory(); var sdmxSchemaV21 = SdmxSchema.GetFromEnum(SdmxSchemaEnumType.VersionTwoPointOne); mutableStructureSearchManagerV21 = structureSearchManager.GetStructureSearchManager(SettingsManager.MappingStoreConnectionSettings, sdmxSchemaV21); this._structureSearchManager = mutableStructureSearchManagerV21; ; Org.Sdmxsource.Sdmx.Api.Model.Mutable.IMutableObjects mutableObjects = this._structureSearchManager.GetMaintainables(input); var immutableObj = mutableObjects.ImmutableObjects; immutableObj.Header = Estat.Sri.Ws.Controllers.Manager.SettingsManager.Header; switch (structure) { case "codelist": ISet<ICodelistObject> codelists = immutableObj.Codelists; jsonres = WriteCodelist(codelists, resourceId, sw); break; case "datastructure": ISet<IDataStructureObject> datastructure = immutableObj.DataStructures; jsonres = WriteDatastructure(datastructure, resourceId, sw); break; case "dataflow": ISet<IDataflowObject> dataflow = immutableObj.Dataflows; jsonres = WriteDataflow(dataflow, resourceId, sw); break; case "agencyscheme": ISet<IAgencyScheme> agencies = immutableObj.AgenciesSchemes; jsonres = WriteAgenciesScheme(agencies, resourceId, sw); break; case "categorisation": ISet<ICategorisationObject> categorisations = immutableObj.Categorisations; jsonres = WriteCategorisation(categorisations, resourceId, sw); break; case "dataproviderscheme": ISet<IDataProviderScheme> dataproviderscheme = immutableObj.DataProviderSchemes; jsonres = WriteDataProviderScheme(dataproviderscheme, resourceId, sw); break; case "dataconsumerscheme": ISet<IDataConsumerScheme> dataconsumerscheme = immutableObj.DataConsumerSchemes; break; case "contentconstraint": ISet<IContentConstraintObject> contentconstraint = immutableObj.ContentConstraintObjects; break; case "categoryscheme": ISet<ICategorySchemeObject> categoryscheme = immutableObj.CategorySchemes; jsonres = WriteCategoryScheme(categoryscheme, resourceId, sw); break; case "conceptscheme": ISet<IConceptSchemeObject> conceptscheme = immutableObj.ConceptSchemes; jsonres = WriteConceptScheme(conceptscheme, resourceId, sw); break; case "provisionagreement": ISet<IProvisionAgreementObject> provisionagreement = immutableObj.ProvisionAgreements; break; case "organisationunitscheme": ISet<IOrganisationUnitSchemeObject> organisationunitscheme = immutableObj.OrganisationUnitSchemes; break; case "metadatastructure": ISet<IMetadataStructureDefinitionObject> metadatastructure = immutableObj.MetadataStructures; break; case "metadataflow": ISet<IMetadataFlow> metadataflow = immutableObj.Metadataflows; break; case "hierarchicalcodelist": ISet<IHierarchicalCodelistObject> hierarchicalcodelist = immutableObj.HierarchicalCodelists; break; } return jsonres; }
private static IMutableStructureSearchManager GetStructureSearchManager(string name) { ConnectionStringSettings css = ConfigurationManager.ConnectionStrings[name]; IMutableStructureSearchManagerFactory factory = new MutableStructureSearchManagerFactory(); return factory.GetStructureSearchManager(css, SdmxSchema.GetFromEnum(SdmxSchemaEnumType.Null)); }