Skip to content

Commit 264611d

Browse files
committed
Use DictionaryCloneHelper.Clone() method
1 parent 6a65cf4 commit 264611d

File tree

4 files changed

+21
-19
lines changed

4 files changed

+21
-19
lines changed

src/Microsoft.OpenApi/Models/OpenApiComponents.cs

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
// Copyright (c) Microsoft Corporation. All rights reserved.
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT license.
33

4-
using System;
54
using System.Collections.Generic;
65
using System.Linq;
7-
using Microsoft.OpenApi.Any;
6+
using Microsoft.OpenApi.Helpers;
87
using Microsoft.OpenApi.Interfaces;
98
using Microsoft.OpenApi.Writers;
109

@@ -78,15 +77,15 @@ public OpenApiComponents() { }
7877
/// </summary>
7978
public OpenApiComponents(OpenApiComponents components)
8079
{
81-
Schemas = components?.Schemas != null ? new Dictionary<string, OpenApiSchema>(components.Schemas) : null;
82-
Responses = components?.Responses != null ? new Dictionary<string, OpenApiResponse>(components.Responses) : null;
83-
Parameters = components?.Parameters != null ? new Dictionary<string, OpenApiParameter>(components.Parameters) : null;
84-
Examples = components?.Examples != null ? new Dictionary<string, OpenApiExample>(components.Examples) : null;
85-
RequestBodies = components?.RequestBodies != null ? new Dictionary<string, OpenApiRequestBody>(components.RequestBodies) : null;
86-
Headers = components?.Headers != null ? new Dictionary<string, OpenApiHeader>(components.Headers) : null;
87-
SecuritySchemes = components?.SecuritySchemes != null ? new Dictionary<string, OpenApiSecurityScheme>(components.SecuritySchemes) : null;
88-
Links = components?.Links != null ? new Dictionary<string, OpenApiLink>(components.Links) : null;
89-
Callbacks = components?.Callbacks != null ? new Dictionary<string, OpenApiCallback>(components.Callbacks) : null;
80+
Schemas = components?.Schemas != null ? DictionaryCloneHelper.Clone(components.Schemas) : null;
81+
Responses = components?.Responses != null ? DictionaryCloneHelper.Clone(components.Responses) : null;
82+
Parameters = components?.Parameters != null ? DictionaryCloneHelper.Clone(components.Parameters) : null;
83+
Examples = components?.Examples != null ? DictionaryCloneHelper.Clone(components.Examples) : null;
84+
RequestBodies = components?.RequestBodies != null ? DictionaryCloneHelper.Clone(components.RequestBodies) : null;
85+
Headers = components?.Headers != null ? DictionaryCloneHelper.Clone(components.Headers) : null;
86+
SecuritySchemes = components?.SecuritySchemes != null ? DictionaryCloneHelper.Clone(components.SecuritySchemes) : null;
87+
Links = components?.Links != null ? DictionaryCloneHelper.Clone(components.Links) : null;
88+
Callbacks = components?.Callbacks != null ? DictionaryCloneHelper.Clone(components.Callbacks) : null;
9089
Extensions = components?.Extensions != null ? new Dictionary<string, IOpenApiExtension>(components.Extensions) : null;
9190
}
9291

src/Microsoft.OpenApi/Models/OpenApiParameter.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
// Copyright (c) Microsoft Corporation. All rights reserved.
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT license.
33

44
using System;
55
using System.Collections.Generic;
66
using System.Runtime;
77
using Microsoft.OpenApi.Any;
88
using Microsoft.OpenApi.Extensions;
9+
using Microsoft.OpenApi.Helpers;
910
using Microsoft.OpenApi.Interfaces;
1011
using Microsoft.OpenApi.Writers;
1112

@@ -162,9 +163,9 @@ public OpenApiParameter(OpenApiParameter parameter)
162163
Explode = parameter?.Explode ?? Explode;
163164
AllowReserved = parameter?.AllowReserved ?? AllowReserved;
164165
Schema = parameter?.Schema != null ? new(parameter?.Schema) : null;
165-
Examples = parameter?.Examples != null ? new Dictionary<string, OpenApiExample>(parameter.Examples) : null;
166+
Examples = parameter?.Examples != null ? DictionaryCloneHelper.Clone(parameter.Examples) : null;
166167
Example = OpenApiAnyCloneHelper.CloneFromCopyConstructor(parameter?.Example);
167-
Content = parameter?.Content != null ? new Dictionary<string, OpenApiMediaType>(parameter.Content) : null;
168+
Content = parameter?.Content != null ? DictionaryCloneHelper.Clone(parameter.Content) : null;
168169
Extensions = parameter?.Extensions != null ? new Dictionary<string, IOpenApiExtension>(parameter.Extensions) : null;
169170
AllowEmptyValue = parameter?.AllowEmptyValue ?? AllowEmptyValue;
170171
Deprecated = parameter?.Deprecated ?? Deprecated;

src/Microsoft.OpenApi/Models/OpenApiRequestBody.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
// Copyright (c) Microsoft Corporation. All rights reserved.
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT license.
33

44
using System;
55
using System.Collections.Generic;
66
using System.Linq;
77
using Microsoft.OpenApi.Any;
8+
using Microsoft.OpenApi.Helpers;
89
using Microsoft.OpenApi.Interfaces;
910
using Microsoft.OpenApi.Writers;
1011

@@ -61,7 +62,7 @@ public OpenApiRequestBody(OpenApiRequestBody requestBody)
6162
Reference = requestBody?.Reference != null ? new(requestBody?.Reference) : null;
6263
Description = requestBody?.Description ?? Description;
6364
Required = requestBody?.Required ?? Required;
64-
Content = requestBody?.Content != null ? new Dictionary<string, OpenApiMediaType>(requestBody.Content) : null;
65+
Content = requestBody?.Content != null ? DictionaryCloneHelper.Clone(requestBody.Content) : null;
6566
Extensions = requestBody?.Extensions != null ? new Dictionary<string, IOpenApiExtension>(requestBody.Extensions) : null;
6667
}
6768

src/Microsoft.OpenApi/Models/OpenApiServer.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
// Copyright (c) Microsoft Corporation. All rights reserved.
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT license.
33

44
using System.Collections.Generic;
55
using Microsoft.OpenApi.Any;
6+
using Microsoft.OpenApi.Helpers;
67
using Microsoft.OpenApi.Interfaces;
78
using Microsoft.OpenApi.Writers;
89

@@ -48,7 +49,7 @@ public OpenApiServer(OpenApiServer server)
4849
{
4950
Description = server?.Description ?? Description;
5051
Url = server?.Url ?? Url;
51-
Variables = server?.Variables != null ? new Dictionary<string, OpenApiServerVariable>(server.Variables) : null;
52+
Variables = server?.Variables != null ? DictionaryCloneHelper.Clone(server.Variables) : null;
5253
Extensions = server?.Extensions != null ? new Dictionary<string, IOpenApiExtension>(server.Extensions) : null;
5354
}
5455

0 commit comments

Comments
 (0)