public void ConvertServiceModel() { Dictionary <string, Dictionary <string, string> > textDictionary = new Dictionary <string, Dictionary <string, string> >(); Mock <IRepository> moqRepository = new Mock <IRepository>(); moqRepository .Setup(r => r.GetServiceTexts(It.IsAny <string>(), It.IsAny <string>())).Returns(textDictionary); var seresParser = new SeresXsdParser(moqRepository.Object); XDocument mainXsd = XDocument.Load("Common/xsd/ServiceModel.xsd"); ServiceMetadata serviceMetadata = seresParser.ParseXsdToServiceMetadata("123", "app", mainXsd, null); string metadataAsJson = Newtonsoft.Json.JsonConvert.SerializeObject(serviceMetadata); File.WriteAllText("service-model.json", metadataAsJson); JsonMetadataParser metadataParser = new JsonMetadataParser(); string classMeta = metadataParser.CreateModelFromMetadata(serviceMetadata); File.WriteAllText("service-model.cs", classMeta); File.WriteAllText("servcie-model-texts.txt", Newtonsoft.Json.JsonConvert.SerializeObject(textDictionary)); }
public void ConvertNæringsoppgave() { string xsdFileName = "Common/xsd/melding-2-12186.xsd"; string outName = "melding-2-12186-output"; Dictionary <string, Dictionary <string, string> > textDictionary = new Dictionary <string, Dictionary <string, string> >(); Mock <IRepository> moqRepository = new Mock <IRepository>(); moqRepository .Setup(r => r.GetServiceTexts(It.IsAny <string>(), It.IsAny <string>())).Returns(textDictionary); XmlReaderSettings settings = new XmlReaderSettings(); settings.IgnoreWhitespace = true; var doc = XmlReader.Create(xsdFileName, settings); XDocument mainXsd = XDocument.Load(doc); var seresParser = new SeresXsdParser(moqRepository.Object); ServiceMetadata serviceMetadata = seresParser.ParseXsdToServiceMetadata("123", "app", mainXsd, null); string metadataAsJson = Newtonsoft.Json.JsonConvert.SerializeObject(serviceMetadata); File.WriteAllText(outName + ".json", metadataAsJson); JsonMetadataParser metadataParser = new JsonMetadataParser(); string classMeta = metadataParser.CreateModelFromMetadata(serviceMetadata); File.WriteAllText(outName + ".cs", classMeta); File.WriteAllText(outName + "-texts.json", Newtonsoft.Json.JsonConvert.SerializeObject(textDictionary)); }
public ActionResult Upload(string org, string service, string edition, IFormFile thefile, IEnumerable <IFormFile> secondaryFiles) { XDocument mainXsd = null; var secondaryXsds = new Dictionary <string, XDocument>(); string mainFileName = ContentDispositionHeaderValue.Parse(new StringSegment(thefile.ContentDisposition)).FileName.ToString(); using (var reader = new StreamReader(thefile.OpenReadStream())) { mainXsd = XDocument.Parse(reader.ReadToEnd()); } secondaryXsds.Clear(); foreach (IFormFile file in secondaryFiles) { string filename = ContentDispositionHeaderValue.Parse(new StringSegment(file.ContentDisposition)).FileName.ToString(); using (var reader = new StreamReader(file.OpenReadStream())) { secondaryXsds.Add(filename, XDocument.Parse(reader.ReadToEnd())); } } var seresParser = new SeresXsdParser(_repository); ServiceMetadata serviceMetadata = seresParser.ParseXsdToServiceMetadata(org, service, edition, mainXsd, secondaryXsds); if (_repository.CreateModel(org, service, edition, serviceMetadata, mainXsd)) { return(RedirectToAction("Index", new { org, service, edition })); } return(Json(false)); }
private static ServiceMetadata SeresXSDParse(Mock <IRepository> moqRepository, string file) { SeresXsdParser seresParser = new SeresXsdParser(moqRepository.Object); XDocument mainXsd = XDocument.Load(file); ServiceMetadata serviceMetadata = seresParser.ParseXsdToServiceMetadata("org", "service", mainXsd, null); return(serviceMetadata); }
public ActionResult Upload(string org, string service, IFormFile thefile) { if (thefile == null) { throw new ApplicationException("Cannot upload empty file"); } string mainFileName = ContentDispositionHeaderValue.Parse(new StringSegment(thefile.ContentDisposition)).FileName.ToString(); MemoryStream xsdMemoryStream = new MemoryStream(); thefile.OpenReadStream().CopyTo(xsdMemoryStream); xsdMemoryStream.Position = 0; XmlReader reader = XmlReader.Create(xsdMemoryStream, new XmlReaderSettings { IgnoreWhitespace = true }); XDocument mainXsd = XDocument.Load(reader, LoadOptions.None); ServiceMetadata serviceMetadata = null; bool useOldParser = false; if (useOldParser) { var seresParser = new SeresXsdParser(_repository); serviceMetadata = seresParser.ParseXsdToServiceMetadata(org, service, mainXsd, null); } else { xsdMemoryStream.Position = 0; reader = XmlReader.Create(xsdMemoryStream, new XmlReaderSettings { IgnoreWhitespace = true }); XsdToJsonSchema xsdToJsonSchemaConverter = new XsdToJsonSchema(reader, _loggerFactory.CreateLogger <XsdToJsonSchema>()); JsonSchema schemaJsonSchema = xsdToJsonSchemaConverter.AsJsonSchema(); JsonSchemaToInstanceModelGenerator converter = new JsonSchemaToInstanceModelGenerator(org, service, schemaJsonSchema); serviceMetadata = converter.GetServiceMetadata(); HandleTexts(org, service, converter.GetTexts()); } if (_repository.CreateModel(org, service, serviceMetadata, mainXsd)) { return(RedirectToAction("Index", new { org, service })); } return(Json(false)); }
public void ConvertSkatteetatenBSU() { Mock <IRepository> moqRepository = new Mock <IRepository>(); var seresParser = new SeresXsdParser(moqRepository.Object); XDocument mainXsd = XDocument.Load("Common/xsd/boligsparingForUngdom_v1_1.xsd"); ServiceMetadata serviceMetadata = seresParser.ParseXsdToServiceMetadata("123", "app", mainXsd, null); string metadataAsJson = Newtonsoft.Json.JsonConvert.SerializeObject(serviceMetadata); File.WriteAllText("boligsparingForUngdom.json", metadataAsJson); JsonMetadataParser metadataParser = new JsonMetadataParser(); string classMeta = metadataParser.CreateModelFromMetadata(serviceMetadata); File.WriteAllText("boligsparingForUngdom.cs", classMeta); }
public void ConvertExistingEdagSchemaToJsonMetadataAndCsharp() { Mock <IRepository> moqRepository = new Mock <IRepository>(); var seresParser = new SeresXsdParser(moqRepository.Object); XDocument mainXsd = XDocument.Load("Common/xsd/schema.xsd"); ServiceMetadata serviceMetadata = seresParser.ParseXsdToServiceMetadata("123", "app", mainXsd, null); string metadataAsJson = Newtonsoft.Json.JsonConvert.SerializeObject(serviceMetadata); File.WriteAllText("edag.original.metadata.json", metadataAsJson); JsonMetadataParser metadataParser = new JsonMetadataParser(); string classMeta = metadataParser.CreateModelFromMetadata(serviceMetadata); File.WriteAllText("edag.original.csharp.cs", classMeta); }
public void ConvertRecursiveSchemaJsonMetadata() { Mock <IRepository> moqRepository = new Mock <IRepository>(); var seresParser = new SeresXsdParser(moqRepository.Object); XDocument mainXsd = XDocument.Load("Common/xsd/schema-w-recursion.xsd"); ServiceMetadata serviceMetadata = seresParser.ParseXsdToServiceMetadata("123", "app", mainXsd, null); string metadataAsJson = Newtonsoft.Json.JsonConvert.SerializeObject(serviceMetadata); File.WriteAllText("metadata-recursive.json", metadataAsJson); JsonMetadataParser metadataParser = new JsonMetadataParser(); string classMeta = metadataParser.CreateModelFromMetadata(serviceMetadata); File.WriteAllText("classdata-recursive.cs", classMeta); }