Exemplo n.º 1
0
 public void TestDeleteUriStructureOk()
 {
     try
     {
         ConfigJsonHandler          configJsonHandler          = new ConfigJsonHandler();
         SchemaConfigFileOperations schemaConfigFileOperations = new SchemaConfigFileOperations(configJsonHandler);
         CreateBackUpConfig();
         UriStructureGeneral uriSchema = configJsonHandler.GetUrisConfig();
         int oldResourcesClassesCount  = uriSchema.ResourcesClasses.Count;
         int oldUriStructuresCount     = uriSchema.UriStructures.Count;
         if (configJsonHandler.ExistUriStructure("uriPublicationStructure"))
         {
             configJsonHandler.DeleteUriStructureInfo("uriPublicationStructure");
             schemaConfigFileOperations.SaveConfigJson();
             ConfigJsonHandler   configJsonHandler2 = new ConfigJsonHandler();
             UriStructureGeneral uriSchema2         = configJsonHandler2.GetUrisConfig();
             RestoreBackUpConfig();
             Assert.True(oldResourcesClassesCount == uriSchema2.ResourcesClasses.Count + 1 && oldUriStructuresCount == uriSchema2.UriStructures.Count + 1);
         }
         else
         {
             Assert.True(false);
         }
     }
     catch (Exception)
     {
         RestoreBackUpConfig();
     }
 }
Exemplo n.º 2
0
 public void TestAddUriStructureOk()
 {
     try
     {
         ConfigJsonHandler          configJsonHandler          = new ConfigJsonHandler();
         SchemaConfigFileOperations schemaConfigFileOperations = new SchemaConfigFileOperations(configJsonHandler);
         CreateBackUpConfig();
         UriStructureGeneral uriSchema         = configJsonHandler.GetUrisConfig();
         UriStructure        newUriStructure   = CreateUriStructureExample("newUriExample");
         ResourcesClass      newResourcesClass = CreateResourceClassExample("newUriExample", "rsp", "pipaon");
         int oldResourcesClassesCount          = uriSchema.ResourcesClasses.Count;
         int oldUriStructuresCount             = uriSchema.UriStructures.Count;
         configJsonHandler.AddUriStructureInfo(newUriStructure, newResourcesClass);
         schemaConfigFileOperations.SaveConfigJson();
         ConfigJsonHandler   configJsonHandler2 = new ConfigJsonHandler();
         UriStructureGeneral uriSchema2         = configJsonHandler2.GetUrisConfig();
         RestoreBackUpConfig();
         configJsonHandler2.LoadConfigJson();
         Assert.True(oldResourcesClassesCount + 1 == uriSchema2.ResourcesClasses.Count && oldUriStructuresCount + 1 == uriSchema2.UriStructures.Count);
     }
     catch (Exception)
     {
         RestoreBackUpConfig();
     }
 }
Exemplo n.º 3
0
        public void TestGetSchemaFileData()
        {
            ISchemaConfigOperations schemaConfigOperations = new SchemaConfigFileOperations(null);
            var bytesSchema               = schemaConfigOperations.GetFileSchemaData();
            var bytesAsString             = Encoding.UTF8.GetString(bytesSchema);
            UriStructureGeneral uriSchema = JsonConvert.DeserializeObject <UriStructureGeneral>(bytesAsString);
            bool correctGenerated         = uriSchema != null && uriSchema.Base != null && uriSchema.Characters != null && uriSchema.ResourcesClasses != null && uriSchema.ResourcesClasses.Count > 0 && uriSchema.UriStructures != null && uriSchema.UriStructures.Count > 0;

            Assert.True(correctGenerated);
        }
        public bool SaveConfigFile(IFormFile formFile)
        {
            var memoryStream = new MemoryStream();

            formFile.CopyTo(memoryStream);
            byte[] bytes = memoryStream.ToArray();
            string texto = Encoding.UTF8.GetString(bytes);
            UriStructureGeneral uriStructureGeneral = ReaderConfigJson.Read(texto);

            return(ConfigJsonHandler.IsCorrectFormedUriStructure(uriStructureGeneral));
        }
Exemplo n.º 5
0
        ///<summary>
        ///Guarda el fichero de configuracion
        ///</summary>
        public bool SaveConfigJson()
        {
            UriStructureGeneral uriSchema = _configJsonHandler.GetUrisConfig();
            string uriSchemaJson          = JsonConvert.SerializeObject(uriSchema);
            var    stream = CreateStream();

            byte[] data = new UTF8Encoding(true).GetBytes(uriSchemaJson);
            stream.Write(data, 0, data.Length);
            stream.Close();
            bool saved = replacePreviousSchemaConfig(stream);

            return(saved);
        }
Exemplo n.º 6
0
        static void Main(string[] args)
        {
            Dictionary <string, string> queryString = new Dictionary <string, string>();

            queryString.Add("identifier", "123d");
            string texto = File.ReadAllText("Config/UrisConfig.json");
            UriStructureGeneral uriStructure      = JsonConvert.DeserializeObject <UriStructureGeneral>(texto);
            ConfigJsonHandler   configJsonHandler = new ConfigJsonHandler(texto);
            UriFormer           uriFormer         = new UriFormer(configJsonHandler.GetUrisConfig());
            string uri = uriFormer.GetURI("AdvisorRole", queryString);

            Console.WriteLine(uri);
        }
Exemplo n.º 7
0
        ///<summary>
        ///Comprueba que el la estructura general de uris pasado por parametros sea correcto cargado tenga los elementos adecuados
        ///</summary>
        ///<param name="uriSchema">estructura general de uris a comprobar su validez</param>
        public static bool IsCorrectFormedUriStructure(UriStructureGeneral uriSchema)
        {
            bool correct = false;

            if (uriSchema != null && uriSchema.Base != null && uriSchema.Characters.Count > 0 && uriSchema.UriStructures.Count > 0)
            {
                correct = true;
            }
            else
            {
                uriSchema = null;
            }
            return(correct);
        }
Exemplo n.º 8
0
        ///<summary>
        ///Comprueba que el objeto cargado tenga los elementos adecuados
        ///</summary>
        private bool IsCorrectFormedUriStructure()
        {
            bool correct = false;

            if (_uriSchema != null && _uriSchema.Base != null && _uriSchema.Characters.Count > 0 && _uriSchema.UriStructures.Count > 0)
            {
                correct = true;
            }
            else
            {
                _uriSchema = null;
            }
            return(correct);
        }
Exemplo n.º 9
0
 ///<summary>
 ///carga el objeto con la estructura general a partir de una cadena de texto emulando el json del fichero de configuracion
 ///</summary>
 ///<param name="json">cadena de texto emulando el json del fichero de configuracion</param>
 public void LoadConfigJson(string json)
 {
     try
     {
         _uriSchema = ReaderConfigJson.Read(json);
         if (!IsCorrectFormedUriStructure())
         {
             throw new FailedLoadConfigJsonException("Could not load config file, the structure is not correctly");
         }
     }
     catch (Exception)
     {
         throw new FailedLoadConfigJsonException("Could not load config file, maybe Config/UrisConfig.json does not exist or is bad formed");
     }
 }
        public void TestAddUriStructureOk()
        {
            ConfigJsonHandler   configJsonHandler = new ConfigJsonHandler();
            UriStructureGeneral uriSchema         = configJsonHandler.GetUrisConfig();
            UriStructure        newUriStructure   = CreateUriStructureExample("newUriExample");
            ResourcesClass      newResourcesClass = CreateResourceClassExample("newUriExample", "rsp", "pipaon");
            int oldResourcesClassesCount          = uriSchema.ResourcesClasses.Count;
            int oldUriStructuresCount             = uriSchema.UriStructures.Count;

            configJsonHandler.AddUriStructureInfo(newUriStructure, newResourcesClass);
            ISchemaConfigOperations schemaConfigOperations = new SchemaConfigMemoryOperations(configJsonHandler);

            schemaConfigOperations.SaveConfigJson();
            UriStructureGeneral uriSchema2 = configJsonHandler.GetUrisConfig();

            Assert.True(oldResourcesClassesCount + 1 == uriSchema2.ResourcesClasses.Count && oldUriStructuresCount + 1 == uriSchema2.UriStructures.Count);
        }
Exemplo n.º 11
0
 ///<summary>
 ///carga el objeto con la estructura general a partir del fichero de configuracion
 ///</summary>
 public void LoadConfigJson()
 {
     try
     {
         _uriSchema = ReaderConfigJson.Read();
         string baseUrl = _configService.GetBase();
         if (!string.IsNullOrEmpty(baseUrl))
         {
             _uriSchema.Base = baseUrl;
         }
         if (!IsCorrectFormedUriStructure())
         {
             throw new FailedLoadConfigJsonException("Could not load config file, the structure is not correctly");
         }
     }
     catch (Exception)
     {
         throw new FailedLoadConfigJsonException("Could not load config file, maybe Config/UrisConfig.json does not exist or is bad formed");
     }
 }
        public void TestDeleteUriStructureOk()
        {
            ConfigJsonHandler   configJsonHandler = new ConfigJsonHandler();
            UriStructureGeneral uriSchema         = configJsonHandler.GetUrisConfig();
            int oldResourcesClassesCount          = uriSchema.ResourcesClasses.Count;
            int oldUriStructuresCount             = uriSchema.UriStructures.Count;

            if (configJsonHandler.ExistUriStructure("uriResourceStructure"))
            {
                configJsonHandler.DeleteUriStructureInfo("uriResourceStructure");
                ISchemaConfigOperations schemaConfigOperations = new SchemaConfigMemoryOperations(configJsonHandler);
                schemaConfigOperations.SaveConfigJson();
                UriStructureGeneral uriSchema2 = configJsonHandler.GetUrisConfig();
                Assert.True(oldResourcesClassesCount > uriSchema2.ResourcesClasses.Count && oldUriStructuresCount > uriSchema2.UriStructures.Count);
            }
            else
            {
                Assert.True(false);
            }
        }
        public void Apply(OpenApiOperation operation, OperationFilterContext context)
        {
            UriStructureGeneral uriStructureGeneral = _configJsonHandler.GetUrisConfig();

            if (operation.OperationId != null && operation.OperationId.Equals("GenerateUri"))
            {
                foreach (UriStructure structure in uriStructureGeneral.UriStructures)
                {
                    foreach (Component component in structure.Components)
                    {
                        if (!UriComponentsList.DefaultParameters.Contains(component.UriComponent))
                        {
                            operation.Parameters.Add(new OpenApiParameter
                            {
                                Name     = component.UriComponent,
                                In       = ParameterLocation.Query,
                                Required = false
                            });
                        }
                    }
                }
            }
        }
Exemplo n.º 14
0
        public IActionResult Get()
        {
            UriStructureGeneral structureGeneral = new UriStructureGeneral()
            {
                Base = "http://graph.um.es"
            };
            List <Characters> characters = new List <Characters>();
            Characters        charac     = new Characters()
            {
                Character      = "resource",
                LabelCharacter = "res"
            };

            characters.Add(charac);
            structureGeneral.Characters = characters;
            Component baseC = new Component()
            {
                UriComponent      = "base",
                UriComponentValue = "base",
                UriComponentOrder = 1,
                Mandatory         = true,
                FinalCharacter    = "/"
            };
            Component character = new Component()
            {
                UriComponent      = "character",
                UriComponentValue = "character@RESOURCE",
                UriComponentOrder = 2,
                Mandatory         = true,
                FinalCharacter    = "/"
            };
            Component resource = new Component()
            {
                UriComponent      = "resourceClass",
                UriComponentValue = "resourceClass@RESOURCECLASS",
                UriComponentOrder = 3,
                Mandatory         = true,
                FinalCharacter    = "/"
            };
            Component identifier = new Component()
            {
                UriComponent      = "identifier",
                UriComponentValue = "@ID",
                UriComponentOrder = 4,
                Mandatory         = true,
                FinalCharacter    = ""
            };
            List <Component> componentes = new List <Component>();

            componentes.Add(baseC);
            componentes.Add(character);
            componentes.Add(resource);
            componentes.Add(identifier);
            UriStructure uriStructure = new UriStructure()
            {
                Name       = "test",
                Components = componentes
            };

            structureGeneral.UriStructures = new List <UriStructure>();
            structureGeneral.UriStructures.Add(uriStructure);
            ResourcesClass clas = new ResourcesClass()
            {
                LabelResourceClass = "prueba",
                ResourceClass      = "Test",
                ResourceURI        = "test"
            };

            structureGeneral.ResourcesClasses = new List <ResourcesClass>();
            structureGeneral.ResourcesClasses.Add(clas);

            string uriSchemaJson = JsonConvert.SerializeObject(structureGeneral);

            ConfigJsonHandler config = new ConfigJsonHandler(uriSchemaJson);

            FactoryController factoryController = new FactoryController(config);

            return(factoryController.GenerateUri("Test", "1234"));
        }
Exemplo n.º 15
0
        public static void Get()
        {
            UriStructureGeneral structureGeneral = new UriStructureGeneral()
            {
                Base = "http://graph.um.es"
            };
            List <Characters> characters = new List <Characters>();
            Characters        charac     = new Characters()
            {
                Character      = "resource",
                LabelCharacter = "res"
            };

            characters.Add(charac);
            structureGeneral.Characters = characters;
            Component baseC = new Component()
            {
                UriComponent      = "base",
                UriComponentValue = "base",
                UriComponentOrder = 1,
                Mandatory         = true,
                FinalCharacter    = "/"
            };
            Component character = new Component()
            {
                UriComponent      = "character",
                UriComponentValue = "character@resource",
                UriComponentOrder = 2,
                Mandatory         = true,
                FinalCharacter    = "/"
            };
            Component resource = new Component()
            {
                UriComponent      = "resourceClass",
                UriComponentValue = "resourceClass",
                UriComponentOrder = 3,
                Mandatory         = true,
                FinalCharacter    = "/"
            };
            Component identifier = new Component()
            {
                UriComponent      = "identifier",
                UriComponentValue = "@ID",
                UriComponentOrder = 4,
                Mandatory         = true,
                FinalCharacter    = ""
            };
            List <Component> componentes = new List <Component>();

            componentes.Add(baseC);
            componentes.Add(character);
            componentes.Add(resource);
            componentes.Add(identifier);
            UriStructure uriStructure = new UriStructure()
            {
                Name       = "test",
                Components = componentes
            };

            structureGeneral.UriStructures = new List <UriStructure>();
            structureGeneral.UriStructures.Add(uriStructure);
            ResourcesClass clas = new ResourcesClass()
            {
                LabelResourceClass = "project-object",
                ResourceClass      = "Project",
                ResourceURI        = "test"
            };
            ResourcesClass clas2 = new ResourcesClass()
            {
                LabelResourceClass = "researcher",
                ResourceClass      = "Researcher",
                ResourceURI        = "test"
            };

            structureGeneral.ResourcesClasses = new List <ResourcesClass>();
            structureGeneral.ResourcesClasses.Add(clas);
            structureGeneral.ResourcesClasses.Add(clas2);

            string uriSchemaJson = JsonConvert.SerializeObject(structureGeneral);

            ConfigJsonHandler           config      = new ConfigJsonHandler(uriSchemaJson);
            Dictionary <string, string> queryString = new Dictionary <string, string>();

            queryString.Add("identifier", "123d");
            UriFormer uriFormer = new UriFormer(config.GetUrisConfig());
            string    uri       = uriFormer.GetURI("Project", queryString);

            Console.WriteLine(uri);
        }
Exemplo n.º 16
0
        ///<summary>
        ///Lee el contenido de una cadena de texto en formato Json y lo transforma en un objeto de tipo UriStructureGeneral
        ///</summary>
        ///<param name="texto">cadena de texto en formato Json</param>
        public static UriStructureGeneral Read(string texto)
        {
            UriStructureGeneral uriStructure = JsonConvert.DeserializeObject <UriStructureGeneral>(texto);

            return(uriStructure);
        }
Exemplo n.º 17
0
 public UriFormer(UriStructureGeneral uristructure)
 {
     _uristructure = uristructure;
 }