New test.
[mono.git] / mcs / tools / wsdl / MonoWSDL2.cs
index ac91bdd9eee72c0fae630632ebf20df8ec313484..b1e2be4531c7bfc22408af22a8f8839ee81d79c7 100644 (file)
@@ -149,10 +149,8 @@ namespace Mono.WebServices
                                        return 0;\r
                                        \r
                                // generate the code\r
-                               if (GenerateCode (references, codeUnit))\r
-                                       return 1;\r
-                               else\r
-                                       return 0;\r
+                               GenerateCode (references, codeUnit);\r
+                               return 0;\r
                        }\r
                        catch (Exception exception)\r
                        {\r
@@ -174,17 +172,20 @@ namespace Mono.WebServices
                        bool hasWarnings = false;\r
                        \r
                        CodeDomProvider provider = GetProvider();\r
-                       ICodeGenerator generator = provider.CreateGenerator();\r
                                \r
                        StringCollection validationWarnings;\r
-                       validationWarnings = ServiceDescriptionImporter.GenerateWebReferences (references, options, style, generator, codeUnit, verbose);\r
+                       WebReferenceOptions opts = new WebReferenceOptions ();\r
+                       opts.CodeGenerationOptions = options;\r
+                       opts.Style = style;\r
+                       opts.Verbose = verbose;\r
+                       validationWarnings = ServiceDescriptionImporter.GenerateWebReferences (references, provider, codeUnit, opts);\r
                        \r
                        for (int n=0; n<references.Count; n++)\r
                        {\r
                                WebReference wr  = references [n];\r
                                \r
                                BasicProfileViolationCollection violations = new BasicProfileViolationCollection ();\r
-                               if (!WebServicesInteroperability.CheckConformance (WsiClaims.BP10, wr, violations)) {\r
+                               if (!WebServicesInteroperability.CheckConformance (WsiProfiles.BasicProfile1_1, wr, violations)) {\r
                                        wr.Warnings |= ServiceDescriptionImportWarnings.WsiConformance;\r
                                }\r
                                \r
@@ -199,7 +200,7 @@ namespace Mono.WebServices
                                        WriteText (urls[n], 2, 2);\r
                                        \r
                                        if ((wr.Warnings & ServiceDescriptionImportWarnings.WsiConformance) > 0) {\r
-                                               WriteText ("- This web reference does not conform to WS-I Basic Profile v1.0", 4, 6); \r
+                                               WriteText ("- This web reference does not conform to WS-I Basic Profile v1.1", 4, 6); \r
                                                foreach (BasicProfileViolation vio in violations) {\r
                                                        WriteText (vio.NormativeStatement + ": " + vio.Details, 8, 8);\r
                                                        foreach (string ele in vio.Elements)\r
@@ -249,7 +250,7 @@ namespace Mono.WebServices
                                StreamWriter writer = new StreamWriter(filename);\r
                                \r
                                CodeGeneratorOptions compilerOptions = new CodeGeneratorOptions();\r
-                               generator.GenerateCodeFromCompileUnit (codeUnit, writer, compilerOptions);\r
+                               provider.GenerateCodeFromCompileUnit (codeUnit, writer, compilerOptions);\r
                                writer.Close();\r
                        }\r
                        \r
@@ -302,7 +303,8 @@ namespace Mono.WebServices
                private CodeDomProvider GetProvider()\r
                {\r
                        CodeDomProvider provider;\r
-                                   \r
+                       Type type;\r
+                       \r
                        switch (language.ToUpper ()) {\r
                        case "CS":\r
                                provider = new CSharpCodeProvider ();\r
@@ -310,8 +312,15 @@ namespace Mono.WebServices
                        case "VB":\r
                                provider = new Microsoft.VisualBasic.VBCodeProvider ();\r
                                break;\r
+                       case "BOO":\r
+                               type = Type.GetType("Boo.Lang.CodeDom.BooCodeProvider, Boo.Lang.CodeDom, Version=1.0.0.0, Culture=neutral, PublicKeyToken=32c39770e9a21a67");\r
+                               if (type != null){\r
+                                       return (CodeDomProvider) Activator.CreateInstance (type);\r
+                               }\r
+                               throw new Exception ("Boo.Lang.CodeDom.BooCodeProvider not available");\r
+                               \r
                        default:\r
-                               Type type = Type.GetType(language);\r
+                               type = Type.GetType(language);\r
                                if (type != null) {\r
                                        return (CodeDomProvider) Activator.CreateInstance (type);\r
                                }       \r