Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src/Microsoft.OpenApi/Models/OpenApiCallback.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,10 @@ public OpenApiCallback() { }
/// </summary>
public OpenApiCallback(OpenApiCallback callback)
{
PathItems = new(callback.PathItems);
UnresolvedReference = callback.UnresolvedReference;
Reference = new(callback.Reference);
Extensions = new Dictionary<string, IOpenApiExtension>(callback.Extensions);
PathItems = callback?.PathItems != null ? new(callback?.PathItems) : null;
UnresolvedReference = callback?.UnresolvedReference ?? UnresolvedReference;
Reference = callback?.Reference != null ? new(callback?.Reference) : null;
Extensions = callback?.Extensions != null ? new Dictionary<string, IOpenApiExtension>(callback.Extensions) : null;
}

/// <summary>
Expand Down
20 changes: 10 additions & 10 deletions src/Microsoft.OpenApi/Models/OpenApiComponents.cs
Original file line number Diff line number Diff line change
Expand Up @@ -78,16 +78,16 @@ public OpenApiComponents() { }
/// </summary>
public OpenApiComponents(OpenApiComponents components)
{
Schemas = new Dictionary<string, OpenApiSchema>(components.Schemas);
Responses = new Dictionary<string, OpenApiResponse>(components.Responses);
Parameters = new Dictionary<string, OpenApiParameter>(components.Parameters);
Examples = new Dictionary<string, OpenApiExample>(components.Examples);
RequestBodies = new Dictionary<string, OpenApiRequestBody>(components.RequestBodies);
Headers = new Dictionary<string, OpenApiHeader>(components.Headers);
SecuritySchemes = new Dictionary<string, OpenApiSecurityScheme>(components.SecuritySchemes);
Links = new Dictionary<string, OpenApiLink>(components.Links);
Callbacks = new Dictionary<string, OpenApiCallback>(components.Callbacks);
Extensions = new Dictionary<string, IOpenApiExtension>(components.Extensions);
Schemas = components?.Schemas != null ? new Dictionary<string, OpenApiSchema>(components.Schemas) : null;
Responses = components?.Responses != null ? new Dictionary<string, OpenApiResponse>(components.Responses) : null;
Parameters = components?.Parameters != null ? new Dictionary<string, OpenApiParameter>(components.Parameters) : null;
Examples = components?.Examples != null ? new Dictionary<string, OpenApiExample>(components.Examples) : null;
RequestBodies = components?.RequestBodies != null ? new Dictionary<string, OpenApiRequestBody>(components.RequestBodies) : null;
Headers = components?.Headers != null ? new Dictionary<string, OpenApiHeader>(components.Headers) : null;
SecuritySchemes = components?.SecuritySchemes != null ? new Dictionary<string, OpenApiSecurityScheme>(components.SecuritySchemes) : null;
Links = components?.Links != null ? new Dictionary<string, OpenApiLink>(components.Links) : null;
Callbacks = components?.Callbacks != null ? new Dictionary<string, OpenApiCallback>(components.Callbacks) : null;
Extensions = components?.Extensions != null ? new Dictionary<string, IOpenApiExtension>(components.Extensions) : null;
}

/// <summary>
Expand Down
8 changes: 4 additions & 4 deletions src/Microsoft.OpenApi/Models/OpenApiContact.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,10 @@ public OpenApiContact() { }
/// </summary>
public OpenApiContact(OpenApiContact contact)
{
Name = contact.Name;
Url = new Uri(contact.Url.OriginalString);
Email = contact.Email;
Extensions = new Dictionary<string, IOpenApiExtension>(contact.Extensions);
Name = contact?.Name ?? Name;
Url = contact?.Url != null ? new Uri(contact.Url.OriginalString) : null;
Email = contact?.Email ?? Email;
Extensions = contact?.Extensions != null ? new Dictionary<string, IOpenApiExtension>(contact.Extensions) : null;
}

/// <summary>
Expand Down
4 changes: 2 additions & 2 deletions src/Microsoft.OpenApi/Models/OpenApiDiscriminator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ public OpenApiDiscriminator() { }
/// </summary>
public OpenApiDiscriminator(OpenApiDiscriminator discriminator)
{
PropertyName = discriminator.PropertyName;
Mapping = new Dictionary<string, string>(discriminator.Mapping);
PropertyName = discriminator?.PropertyName ?? PropertyName;
Mapping = discriminator?.Mapping != null ? new Dictionary<string, string>(discriminator.Mapping) : null;
}

/// <summary>
Expand Down
18 changes: 9 additions & 9 deletions src/Microsoft.OpenApi/Models/OpenApiDocument.cs
Original file line number Diff line number Diff line change
Expand Up @@ -72,15 +72,15 @@ public OpenApiDocument() {}
/// </summary>
public OpenApiDocument(OpenApiDocument document)
{
Workspace = new(document.Workspace);
Info = new(document.Info);
Servers = new List<OpenApiServer>(document.Servers);
Paths = new(document.Paths);
Components = new(document.Components);
SecurityRequirements = new List<OpenApiSecurityRequirement>(document.SecurityRequirements);
Tags = new List<OpenApiTag>(document.Tags);
ExternalDocs = new(document.ExternalDocs);
Extensions = new Dictionary<string, IOpenApiExtension>(document.Extensions);
Workspace = document?.Workspace != null ? new(document?.Workspace) : null;
Info = document?.Info != null ? new(document?.Info) : null;
Servers = document?.Servers != null ? new List<OpenApiServer>(document.Servers) : null;
Paths = document?.Paths != null ? new(document?.Paths) : null;
Components = document?.Components != null ? new(document?.Components) : null;
SecurityRequirements = document?.SecurityRequirements != null ? new List<OpenApiSecurityRequirement>(document.SecurityRequirements) : null;
Tags = document?.Tags != null ? new List<OpenApiTag>(document.Tags) : null;
ExternalDocs = document?.ExternalDocs != null ? new(document?.ExternalDocs) : null;
Extensions = document?.Extensions != null ? new Dictionary<string, IOpenApiExtension>(document.Extensions) : null;
}

/// <summary>
Expand Down
12 changes: 6 additions & 6 deletions src/Microsoft.OpenApi/Models/OpenApiEncoding.cs
Original file line number Diff line number Diff line change
Expand Up @@ -63,12 +63,12 @@ public OpenApiEncoding() {}
/// </summary>
public OpenApiEncoding(OpenApiEncoding encoding)
{
ContentType = encoding.ContentType;
Headers = new Dictionary<string, OpenApiHeader>(encoding.Headers);
Style = encoding.Style;
Explode = encoding.Explode;
AllowReserved = encoding.AllowReserved;
Extensions = new Dictionary<string, IOpenApiExtension>(encoding.Extensions);
ContentType = encoding?.ContentType ?? ContentType;
Headers = encoding?.Headers != null ? new Dictionary<string, OpenApiHeader>(encoding.Headers) : null;
Style = encoding?.Style ?? Style;
Explode = encoding?.Explode ?? Explode;
AllowReserved = encoding?.AllowReserved ?? AllowReserved;
Extensions = encoding?.Extensions != null ? new Dictionary<string, IOpenApiExtension>(encoding.Extensions) : null;
}

/// <summary>
Expand Down
14 changes: 7 additions & 7 deletions src/Microsoft.OpenApi/Models/OpenApiExample.cs
Original file line number Diff line number Diff line change
Expand Up @@ -64,13 +64,13 @@ public OpenApiExample() {}
/// </summary>
public OpenApiExample(OpenApiExample example)
{
Summary = example.Summary;
Description = example.Description;
Value = OpenApiAnyCloneHelper.CloneFromCopyConstructor(example.Value);
ExternalValue = example.ExternalValue;
Extensions = new Dictionary<string, IOpenApiExtension>(example.Extensions);
Reference = new(example.Reference);
UnresolvedReference = example.UnresolvedReference;
Summary = example?.Summary ?? Summary;
Description = example?.Description ?? Description;
Value = OpenApiAnyCloneHelper.CloneFromCopyConstructor(example?.Value);
ExternalValue = example?.ExternalValue ?? ExternalValue;
Extensions = example?.Extensions != null ? new Dictionary<string, IOpenApiExtension>(example.Extensions) : null;
Reference = example?.Reference != null ? new(example?.Reference) : null;
UnresolvedReference = example?.UnresolvedReference ?? UnresolvedReference;
}

/// <summary>
Expand Down
6 changes: 3 additions & 3 deletions src/Microsoft.OpenApi/Models/OpenApiExternalDocs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@ public OpenApiExternalDocs() {}
/// </summary>
public OpenApiExternalDocs(OpenApiExternalDocs externalDocs)
{
Description = externalDocs.Description;
Url = new Uri(externalDocs.Url.OriginalString);
Extensions = new Dictionary<string, IOpenApiExtension>(externalDocs.Extensions);
Description = externalDocs?.Description ?? Description;
Url = externalDocs?.Url != null ? new Uri(externalDocs.Url.OriginalString) : null;
Extensions = externalDocs?.Extensions != null ? new Dictionary<string, IOpenApiExtension>(externalDocs.Extensions) : null;
}

/// <summary>
Expand Down
28 changes: 14 additions & 14 deletions src/Microsoft.OpenApi/Models/OpenApiHeader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -96,20 +96,20 @@ public OpenApiHeader() {}
/// </summary>
public OpenApiHeader(OpenApiHeader header)
{
UnresolvedReference = header.UnresolvedReference;
Reference = new(header.Reference);
Description = header.Description;
Required = header.Required;
Deprecated = header.Deprecated;
AllowEmptyValue = header.AllowEmptyValue;
Style = header.Style;
Explode = header.Explode;
AllowReserved = header.AllowReserved;
Schema = new(header.Schema);
Example = OpenApiAnyCloneHelper.CloneFromCopyConstructor(header.Example);
Examples = new Dictionary<string, OpenApiExample>(header.Examples);
Content = new Dictionary<string, OpenApiMediaType>(header.Content);
Extensions = new Dictionary<string, IOpenApiExtension>(header.Extensions);
UnresolvedReference = header?.UnresolvedReference ?? UnresolvedReference;
Reference = header?.Reference != null ? new(header?.Reference) : null;
Description = header?.Description ?? Description;
Required = header?.Required ?? Required;
Deprecated = header?.Deprecated ?? Deprecated;
AllowEmptyValue = header?.AllowEmptyValue ?? AllowEmptyValue;
Style = header?.Style ?? Style;
Explode = header?.Explode ?? Explode;
AllowReserved = header?.AllowReserved ?? AllowReserved;
Schema = header?.Schema != null ? new(header?.Schema) : null;
Example = OpenApiAnyCloneHelper.CloneFromCopyConstructor(header?.Example);
Examples = header?.Examples != null ? new Dictionary<string, OpenApiExample>(header.Examples) : null;
Content = header?.Content != null ? new Dictionary<string, OpenApiMediaType>(header.Content) : null;
Extensions = header?.Extensions != null ? new Dictionary<string, IOpenApiExtension>(header.Extensions) : null;
}

/// <summary>
Expand Down
14 changes: 7 additions & 7 deletions src/Microsoft.OpenApi/Models/OpenApiInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,13 @@ public OpenApiInfo() {}
/// </summary>
public OpenApiInfo(OpenApiInfo info)
{
Title = info.Title;
Description = info.Description;
Version = info.Version;
TermsOfService = info.TermsOfService;
Contact = new(info.Contact);
License = new(info.License);
Extensions = new Dictionary<string, IOpenApiExtension>(info.Extensions);
Title = info?.Title ?? Title;
Description = info?.Description ?? Description;
Version = info?.Version ?? Version;
TermsOfService = info?.TermsOfService ?? TermsOfService;
Contact = info?.Contact != null ? new(info?.Contact) : null;
License = info?.License != null ? new(info?.License) : null;
Extensions = info?.Extensions != null ? new Dictionary<string, IOpenApiExtension>(info.Extensions) : null;
}

/// <summary>
Expand Down
6 changes: 3 additions & 3 deletions src/Microsoft.OpenApi/Models/OpenApiLicense.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@ public OpenApiLicense() {}
/// </summary>
public OpenApiLicense(OpenApiLicense license)
{
Name = license.Name;
Url = new Uri(license.Url.OriginalString);
Extensions = new Dictionary<string, IOpenApiExtension>(license.Extensions);
Name = license?.Name ?? Name;
Url = license?.Url != null ? new Uri(license.Url.OriginalString) : null;
Extensions = license?.Extensions != null ? new Dictionary<string, IOpenApiExtension>(license.Extensions) : null;
}

/// <summary>
Expand Down
18 changes: 9 additions & 9 deletions src/Microsoft.OpenApi/Models/OpenApiLink.cs
Original file line number Diff line number Diff line change
Expand Up @@ -71,15 +71,15 @@ public OpenApiLink() {}
/// </summary>
public OpenApiLink(OpenApiLink link)
{
OperationRef = link.OperationRef;
OperationId = link.OperationId;
Parameters = new(link.Parameters);
RequestBody = new(link.RequestBody);
Description = link.Description;
Server = new(link.Server);
Extensions = new Dictionary<string, IOpenApiExtension>(link.Extensions);
UnresolvedReference = link.UnresolvedReference;
Reference = new(link.Reference);
OperationRef = link?.OperationRef ?? OperationRef;
OperationId = link?.OperationId ?? OperationId;
Parameters = link?.Parameters != null ? new(link?.Parameters) : null;
RequestBody = link?.RequestBody != null ? new(link?.RequestBody) : null;
Description = link?.Description ?? Description;
Server = link?.Server != null ? new(link?.Server) : null;
Extensions = link?.Extensions != null ? new Dictionary<string, IOpenApiExtension>(link.Extensions) : null;
UnresolvedReference = link?.UnresolvedReference ?? UnresolvedReference;
Reference = link?.Reference != null ? new(link?.Reference) : null;
}

/// <summary>
Expand Down
10 changes: 5 additions & 5 deletions src/Microsoft.OpenApi/Models/OpenApiMediaType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,11 @@ public OpenApiMediaType() {}
/// </summary>
public OpenApiMediaType(OpenApiMediaType mediaType)
{
Schema = new(mediaType.Schema);
Example = OpenApiAnyCloneHelper.CloneFromCopyConstructor(mediaType.Example);
Examples = new Dictionary<string, OpenApiExample>(mediaType.Examples);
Encoding = new Dictionary<string, OpenApiEncoding>(mediaType.Encoding);
Extensions = new Dictionary<string, IOpenApiExtension>(mediaType.Extensions);
Schema = mediaType?.Schema != null ? new(mediaType?.Schema) : null;
Example = OpenApiAnyCloneHelper.CloneFromCopyConstructor(mediaType?.Example);
Examples = mediaType?.Examples != null ? new Dictionary<string, OpenApiExample>(mediaType.Examples) : null;
Encoding = mediaType?.Encoding != null ? new Dictionary<string, OpenApiEncoding>(mediaType.Encoding) : null;
Extensions = mediaType?.Extensions != null ? new Dictionary<string, IOpenApiExtension>(mediaType.Extensions) : null;
}

/// <summary>
Expand Down
10 changes: 5 additions & 5 deletions src/Microsoft.OpenApi/Models/OpenApiOAuthFlow.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,11 @@ public OpenApiOAuthFlow() {}
/// </summary>
public OpenApiOAuthFlow(OpenApiOAuthFlow oAuthFlow)
{
AuthorizationUrl = new Uri(oAuthFlow.AuthorizationUrl.OriginalString);
TokenUrl = new Uri(oAuthFlow.TokenUrl.OriginalString);
RefreshUrl = new Uri(oAuthFlow.RefreshUrl.OriginalString);
Scopes = new Dictionary<string, string>(oAuthFlow.Scopes);
Extensions = new Dictionary<string, IOpenApiExtension>(oAuthFlow.Extensions);
AuthorizationUrl = oAuthFlow?.AuthorizationUrl != null ? new Uri(oAuthFlow.AuthorizationUrl.OriginalString) : null;
TokenUrl = oAuthFlow?.TokenUrl != null ? new Uri(oAuthFlow.TokenUrl.OriginalString) : null;
RefreshUrl = oAuthFlow?.RefreshUrl != null ? new Uri(oAuthFlow.RefreshUrl.OriginalString) : null;
Scopes = oAuthFlow?.Scopes != null ? new Dictionary<string, string>(oAuthFlow.Scopes) : null;
Extensions = oAuthFlow?.Extensions != null ? new Dictionary<string, IOpenApiExtension>(oAuthFlow.Extensions) : null;
}

/// <summary>
Expand Down
10 changes: 5 additions & 5 deletions src/Microsoft.OpenApi/Models/OpenApiOAuthFlows.cs
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,11 @@ public OpenApiOAuthFlows() {}
/// <param name="oAuthFlows"></param>
public OpenApiOAuthFlows(OpenApiOAuthFlows oAuthFlows)
{
Implicit = new(oAuthFlows.Implicit);
Password = new(oAuthFlows.Password);
ClientCredentials = new(oAuthFlows.ClientCredentials);
AuthorizationCode = new(oAuthFlows.AuthorizationCode);
Extensions = new Dictionary<string, IOpenApiExtension>(oAuthFlows.Extensions);
Implicit = oAuthFlows?.Implicit != null ? new(oAuthFlows?.Implicit) : null;
Password = oAuthFlows?.Password != null ? new(oAuthFlows?.Password) : null;
ClientCredentials = oAuthFlows?.ClientCredentials != null ? new(oAuthFlows?.ClientCredentials) : null;
AuthorizationCode = oAuthFlows?.AuthorizationCode != null ? new(oAuthFlows?.AuthorizationCode) : null;
Extensions = oAuthFlows?.Extensions != null ? new Dictionary<string, IOpenApiExtension>(oAuthFlows.Extensions) : null;
}

/// <summary>
Expand Down
26 changes: 13 additions & 13 deletions src/Microsoft.OpenApi/Models/OpenApiOperation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -116,19 +116,19 @@ public OpenApiOperation() {}
/// </summary>
public OpenApiOperation(OpenApiOperation operation)
{
Tags = new List<OpenApiTag>(operation.Tags);
Summary = operation.Summary;
Description = operation.Description;
ExternalDocs = new(operation.ExternalDocs);
OperationId = operation.OperationId;
Parameters = new List<OpenApiParameter>(operation.Parameters);
RequestBody = new(operation.RequestBody);
Responses = new(operation.Responses);
Callbacks = new Dictionary<string, OpenApiCallback>(operation.Callbacks);
Deprecated = operation.Deprecated;
Security = new List<OpenApiSecurityRequirement>(operation.Security);
Servers = new List<OpenApiServer>(operation.Servers);
Extensions = new Dictionary<string, IOpenApiExtension>(operation.Extensions);
Tags = new List<OpenApiTag>(operation?.Tags);
Summary = operation?.Summary ?? Summary;
Description = operation?.Description ?? Description;
ExternalDocs = operation?.ExternalDocs != null ? new(operation?.ExternalDocs) : null;
OperationId = operation?.OperationId ?? OperationId;
Parameters = operation?.Parameters != null ? new List<OpenApiParameter>(operation.Parameters) : null;
RequestBody = new(operation?.RequestBody);
Responses = operation?.Responses != null ? new(operation?.Responses) : null;
Callbacks = operation?.Callbacks != null ? new Dictionary<string, OpenApiCallback>(operation.Callbacks) : null;
Deprecated = operation?.Deprecated ?? Deprecated;
Security = operation?.Security != null ? new List<OpenApiSecurityRequirement>(operation.Security) : null;
Servers = operation?.Servers != null ? new List<OpenApiServer>(operation.Servers) : null;
Extensions = operation?.Extensions != null ? new Dictionary<string, IOpenApiExtension>(operation.Extensions) : null;
}

/// <summary>
Expand Down
Loading