Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 4
0
        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));
 }