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(); } }
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(); } }
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)); }
///<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); }
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); }
///<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); }
///<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); }
///<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); }
///<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 }); } } } } }
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")); }
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); }
///<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); }
public UriFormer(UriStructureGeneral uristructure) { _uristructure = uristructure; }