Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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));
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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);
        }