private static AspNetCoreToSwaggerGeneratorCommandSettings CreateSettings(string settingsData) { var assemblyLoader = new AssemblyLoader.AssemblyLoader(); var settings = JsonConvert.DeserializeObject <AspNetCoreToSwaggerGeneratorCommandSettings>(settingsData); if (settings.DocumentProcessorTypes != null) { foreach (var p in settings.DocumentProcessorTypes) { var processor = (IDocumentProcessor)assemblyLoader.CreateInstance(p); settings.DocumentProcessors.Add(processor); } } if (settings.OperationProcessorTypes != null) { foreach (var p in settings.OperationProcessorTypes) { var processor = (IOperationProcessor)assemblyLoader.CreateInstance(p); settings.OperationProcessors.Add(processor); } } return(settings); }
private async Task TransformAsync(AssemblyLoader.AssemblyLoader assemblyLoader) { if (!string.IsNullOrEmpty(DocumentTemplate)) { if (await DynamicApis.FileExistsAsync(DocumentTemplate).ConfigureAwait(false)) { Settings.DocumentTemplate = await DynamicApis.FileReadAllTextAsync(DocumentTemplate).ConfigureAwait(false); } else { Settings.DocumentTemplate = DocumentTemplate; } if (!string.IsNullOrEmpty(Settings.DocumentTemplate) && !Settings.DocumentTemplate.StartsWith("{")) { Settings.DocumentTemplate = (await SwaggerYamlDocument.FromYamlAsync(Settings.DocumentTemplate)).ToJson(); } } else { Settings.DocumentTemplate = null; } if (DocumentProcessorTypes != null) { foreach (var p in DocumentProcessorTypes) { var processor = (IDocumentProcessor)assemblyLoader.CreateInstance(p); Settings.DocumentProcessors.Add(processor); } } if (OperationProcessorTypes != null) { foreach (var p in OperationProcessorTypes) { var processor = (IOperationProcessor)assemblyLoader.CreateInstance(p); Settings.OperationProcessors.Add(processor); } } if (!string.IsNullOrEmpty(TypeNameGeneratorType)) { Settings.TypeNameGenerator = (ITypeNameGenerator)assemblyLoader.CreateInstance(TypeNameGeneratorType); } if (!string.IsNullOrEmpty(SchemaNameGeneratorType)) { Settings.SchemaNameGenerator = (ISchemaNameGenerator)assemblyLoader.CreateInstance(SchemaNameGeneratorType); } }
// TODO: Use InitializeCustomTypes method public void InitializeCustomTypes(AssemblyLoader.AssemblyLoader assemblyLoader) { if (!string.IsNullOrEmpty(TypeNameGeneratorType)) { Settings.CodeGeneratorSettings.TypeNameGenerator = (ITypeNameGenerator)assemblyLoader.CreateInstance(TypeNameGeneratorType); } if (!string.IsNullOrEmpty(PropertyNameGeneratorType)) { Settings.CodeGeneratorSettings.PropertyNameGenerator = (IPropertyNameGenerator)assemblyLoader.CreateInstance(PropertyNameGeneratorType); } if (!string.IsNullOrEmpty(EnumNameGeneratorType)) { Settings.CodeGeneratorSettings.EnumNameGenerator = (IEnumNameGenerator)assemblyLoader.CreateInstance(EnumNameGeneratorType); } }