private void constructOrderedList(CompositeTypeJs model, List <CompositeTypeJs> orderedList) { if (model == null) { throw new ArgumentNullException(nameof(model)); } // BaseResource and CloudError are specified in the ClientRuntime. // They are required explicitly in a different way. Hence, they // are not included in the ordered list. if (model.BaseModelType == null || (model.BaseModelType != null && (model.BaseModelType.Name == "BaseResource" || model.BaseModelType.Name == "CloudError"))) { if (!orderedList.Contains(model)) { orderedList.Add(model); } return; } var baseModel = ModelTemplateModels.FirstOrDefault(m => m.Name == model.BaseModelType.Name); if (baseModel != null) { constructOrderedList(baseModel, orderedList); } // Add the child type after the parent type has been added. if (!orderedList.Contains(model)) { orderedList.Add(model); } }
public AzureServiceClientTemplateModel(ServiceClient serviceClient) : base(serviceClient) { MethodTemplateModels.Clear(); Methods.Where(m => m.Group == null) .ForEach(m => MethodTemplateModels.Add(new AzureMethodTemplateModel(m, serviceClient))); // Removing all models that contain the extension "x-ms-external", as they will be // generated in python client runtime for azure - "ms-rest-azure". ModelTemplateModels.Clear(); ModelTypes.ForEach(m => ModelTemplateModels.Add(new AzureModelTemplateModel(m, serviceClient))); ModelTemplateModels.RemoveAll(m => m.Extensions.ContainsKey(AzureExtensions.PageableExtension)); ModelTemplateModels.RemoveAll(m => m.Extensions.ContainsKey(AzureExtensions.ExternalExtension)); HasAnyModel = false; if (serviceClient.ModelTypes.Any()) { foreach (var model in serviceClient.ModelTypes) { if (!model.Extensions.ContainsKey(AzureExtensions.ExternalExtension) || !(bool)model.Extensions[AzureExtensions.ExternalExtension]) { HasAnyModel = true; break; } } } }
public AzureServiceClientTemplateModel(ServiceClient serviceClient) : base(serviceClient) { MethodTemplateModels.Clear(); Methods.Where(m => m.Group == null) .ForEach(m => MethodTemplateModels.Add(new AzureMethodTemplateModel(m, serviceClient))); ModelTemplateModels.RemoveAll(m => m.Extensions.ContainsKey("x-ms-external")); }
public AzureFluentServiceClientTemplateModel(ServiceClient serviceClient) : base(serviceClient) { MethodTemplateModels.Clear(); Methods.Where(m => m.Group == null) .ForEach(m => MethodTemplateModels.Add(new AzureFluentMethodTemplateModel(m, serviceClient))); ModelTemplateModels.Clear(); ModelTypes.ForEach(m => ModelTemplateModels.Add(new AzureFluentModelTemplateModel(m, serviceClient))); }
public AzureServiceClientTemplateModel(ServiceClient serviceClient) : base(serviceClient) { MethodTemplateModels.Clear(); Methods.Where(m => m.Group == null) .ForEach(m => MethodTemplateModels.Add(new AzureMethodTemplateModel(m, serviceClient))); ModelTemplateModels.RemoveAll(m => m.Extensions.ContainsKey(AzureCodeGenerator.ExternalExtension)); ModelTemplateModels.RemoveAll(m => m.Extensions.ContainsKey(AzureCodeGenerator.AzureResourceExtension)); }
public AzureServiceClientTemplateModel(ServiceClient serviceClient) : base(serviceClient) { Properties.Remove(Properties.Find(p => p.Type.Name == "ServiceClientCredentials")); MethodTemplateModels.Clear(); Methods.Where(m => m.Group == null) .ForEach(m => MethodTemplateModels.Add(new AzureMethodTemplateModel(m, serviceClient))); ModelTemplateModels.Clear(); ModelTypes.ForEach(m => ModelTemplateModels.Add(new AzureModelTemplateModel(m, serviceClient))); }
public AzureServiceClientTemplateModel(ServiceClient serviceClient) : base(serviceClient) { MethodTemplateModels.Clear(); Methods.Where(m => m.Group == null) .ForEach(m => MethodTemplateModels.Add(new AzureMethodTemplateModel(m, serviceClient))); // Removing all models that contain the extension "x-ms-external", as they will be // generated in nodejs client runtime for azure - "ms-rest-azure". ModelTemplateModels.RemoveAll(m => m.Extensions.ContainsKey(AzureExtensions.PageableExtension)); ModelTemplateModels.RemoveAll(m => m.Extensions.ContainsKey(AzureExtensions.ExternalExtension)); PageTemplateModels = new List <PageTemplateModel>(); }
public bool IsAnyModelInheritingFromRequestOptionsBase() { return(ModelTemplateModels.Any(m => m != null && m.BaseModelType != null && m.BaseModelType.Name.EqualsIgnoreCase("RequestOptionsBase"))); }