public void Should_Convert_XsdImport_in_Code_namespace_to_import_when_no_slash()
        {
            // Arrange
            var expected = ".Process.DAI.PNO.Common";

            // Act
            var import = TargetAppNameSpaceService.ConvertXsdImportToNameSpace(".Process.DAI.PNO.Common");

            // Assert
            Assert.AreEqual(expected, import);
        }
        public void Should_Convert_Unix_XsdImport_in_Code_namespace_to_import()
        {
            // Arrange
            var expected = "DAI.PNO.XSD";

            // Act
            var import = TargetAppNameSpaceService.ConvertXsdImportToNameSpace("/XmlSchemas/DAI/PNO/XSD/RM3D.xsd");

            // Assert
            Assert.AreEqual(expected, import);
        }
        public void Should_Convert_Windows_pathname_in_Code_namespace_to_import()
        {
            // Arrange
            var expected = "DAI.PNO.XSD";

            ConfigurationApp.SaveProperty(MainClass.ProjectDirectory, "c:\\test");

            // Act
            var import = TargetAppNameSpaceService.ConvertXsdImportToNameSpace("c:\\test\\XmlSchemas\\DAI\\PNO\\XSD\\RM3D.xsd");

            // Assert
            Assert.AreEqual(expected, import);
        }
        private List <CodeNamespaceImport> GenerateXsdImports(TibcoBWProcess tibcoBwProcessToGenerate)
        {
            var imports = new List <CodeNamespaceImport>();

            if (tibcoBwProcessToGenerate.XsdImports != null)
            {
                foreach (var xsdImport in tibcoBwProcessToGenerate.XsdImports)
                {
                    imports.Add(
                        new CodeNamespaceImport(
                            TargetAppNameSpaceService.myAppName() + "."
                            + TargetAppNameSpaceService.ConvertXsdImportToNameSpace(xsdImport.SchemaLocation)));
                }
            }

            return(imports);
        }
Ejemplo n.º 5
0
        // TODO : refacto to split the 2 generation method in 2 sub-service
        public CodeNamespace Build(string fileName)
        {
            var xsdCodeNamespace            = new CodeNamespace();
            var convertXsdImportToNameSpace = TargetAppNameSpaceService.myAppName() + "." + TargetAppNameSpaceService.ConvertXsdImportToNameSpace(fileName);

            try
            {
                var stream = new FileStream(fileName, FileMode.Open, FileAccess.Read);

                xsdCodeNamespace = this.GeneratedClassFromStream(stream, convertXsdImportToNameSpace);
            }
            catch (Exception e)
            {
                Log.Warn("Switching mode to generate class from XSD file because it contains custom element:" + fileName);
                XElement allFileElement = XElement.Load(fileName);
                xsdCodeNamespace = this.Build(this.Parse(allFileElement, convertXsdImportToNameSpace), convertXsdImportToNameSpace);
            }

            return(xsdCodeNamespace);
        }