Skip to content

Commit f49a05f

Browse files
committed
rebase the codes and resolve the comments for the Reference
1 parent 5d576c7 commit f49a05f

File tree

10 files changed

+109
-161
lines changed

10 files changed

+109
-161
lines changed

src/Microsoft.OpenApi.Readers/Interface/OpenApiReferenceServiceBase.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
// ------------------------------------------------------------
55

66
using System;
7+
using Microsoft.OpenApi.Exceptions;
78
using Microsoft.OpenApi.Interfaces;
89
using Microsoft.OpenApi.Models;
910
using Microsoft.OpenApi.Readers.ParseNodes;

src/Microsoft.OpenApi.Readers/ReferenceService.cs

Lines changed: 0 additions & 68 deletions
This file was deleted.

src/Microsoft.OpenApi.Readers/V2/OpenAPiV2ReferenceService.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
// ------------------------------------------------------------
55

66
using System;
7+
using Microsoft.OpenApi.Exceptions;
78
using Microsoft.OpenApi.Interfaces;
89
using Microsoft.OpenApi.Models;
910
using Microsoft.OpenApi.Readers.Interface;
@@ -36,15 +37,15 @@ public override string ToString(OpenApiReference reference)
3637

3738
if (reference.IsExternal)
3839
{
39-
if (reference.LocalPointer != null)
40+
if (reference.Name != null)
4041
{
41-
return reference.ExternalResource + "#/" + reference.LocalPointer;
42+
return reference.ExternalResource + "#/" + reference.Name;
4243
}
4344

4445
return reference.ExternalResource;
4546
}
4647

47-
return "#/" + GetReferenceTypeName(reference.ReferenceType) + "/" + reference.LocalPointer;
48+
return "#/" + GetReferenceTypeName(reference.ReferenceType) + "/" + reference.Name;
4849
}
4950

5051
/// <inheritdoc />
@@ -77,7 +78,7 @@ protected override IOpenApiReference LoadReference(OpenApiReference reference, P
7778
foreach (var item in list)
7879
{
7980
var tag = OpenApiV2Deserializer.LoadTag(item);
80-
if (tag.Name == reference.LocalPointer)
81+
if (tag.Name == reference.Name)
8182
{
8283
referencedObject = tag;
8384
break;
@@ -86,7 +87,7 @@ protected override IOpenApiReference LoadReference(OpenApiReference reference, P
8687
}
8788
else
8889
{
89-
referencedObject = new OpenApiTag { Name = reference.LocalPointer };
90+
referencedObject = new OpenApiTag { Name = reference.Name };
9091
}
9192

9293
break;
@@ -107,7 +108,7 @@ protected override IOpenApiReference LoadReference(OpenApiReference reference, P
107108
/// <inheritdoc />
108109
protected override JsonPointer GetLocalPointer(OpenApiReference reference)
109110
{
110-
return new JsonPointer("#/" + GetReferenceTypeName(reference.ReferenceType) + "/" + reference.LocalPointer);
111+
return new JsonPointer("#/" + GetReferenceTypeName(reference.ReferenceType) + "/" + reference.Name);
111112
}
112113

113114
/// <inheritdoc />

src/Microsoft.OpenApi.Readers/V3/OpenApiV3ReferenceService.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
using System;
77
using Microsoft.OpenApi.Commons;
8+
using Microsoft.OpenApi.Exceptions;
89
using Microsoft.OpenApi.Interfaces;
910
using Microsoft.OpenApi.Models;
1011
using Microsoft.OpenApi.Readers.Interface;
@@ -37,21 +38,21 @@ public override string ToString(OpenApiReference reference)
3738

3839
if (reference.IsExternal)
3940
{
40-
if (reference.LocalPointer != null)
41+
if (reference.Name != null)
4142
{
42-
return reference.ExternalResource + "#/" + reference.LocalPointer;
43+
return reference.ExternalResource + "#/" + reference.Name;
4344
}
4445

4546
return reference.ExternalResource;
4647
}
4748

4849
if (reference.ReferenceType == ReferenceType.Tag)
4950
{
50-
return "#/tags/" + reference.LocalPointer;
51+
return "#/tags/" + reference.Name;
5152
}
5253
else
5354
{
54-
return "#/components/" + reference.ReferenceType.GetDisplayName() + "/" + reference.LocalPointer;
55+
return "#/components/" + reference.ReferenceType.GetDisplayName() + "/" + reference.Name;
5556
}
5657
}
5758

@@ -110,15 +111,15 @@ protected override IOpenApiReference LoadReference(OpenApiReference reference, P
110111
{
111112
var tag = OpenApiV3Deserializer.LoadTag(item);
112113

113-
if (tag.Name == reference.LocalPointer)
114+
if (tag.Name == reference.Name)
114115
{
115116
referencedObject = tag;
116117
}
117118
}
118119
}
119120
else
120121
{
121-
referencedObject = new OpenApiTag {Name = reference.LocalPointer };
122+
referencedObject = new OpenApiTag {Name = reference.Name };
122123
}
123124

124125
break;

src/Microsoft.OpenApi/Models/OpenApiElementExtensions.cs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -234,34 +234,34 @@ public static IOpenApiElement Find<T>(this T reference, OpenApiDocument document
234234
switch(reference.Pointer.ReferenceType)
235235
{
236236
case ReferenceType.Schema:
237-
return document.Components.Schemas?[reference.Pointer.LocalPointer];
237+
return document.Components.Schemas?[reference.Pointer.Name];
238238

239239
case ReferenceType.Parameter:
240-
return document.Components.Parameters?[reference.Pointer.LocalPointer];
240+
return document.Components.Parameters?[reference.Pointer.Name];
241241

242242
case ReferenceType.Header:
243-
return document.Components.Headers?[reference.Pointer.LocalPointer];
243+
return document.Components.Headers?[reference.Pointer.Name];
244244

245245
case ReferenceType.Response:
246-
return document.Components.Responses?[reference.Pointer.LocalPointer];
246+
return document.Components.Responses?[reference.Pointer.Name];
247247

248248
case ReferenceType.RequestBody:
249-
return document.Components.RequestBodies?[reference.Pointer.LocalPointer];
249+
return document.Components.RequestBodies?[reference.Pointer.Name];
250250

251251
case ReferenceType.Example:
252-
return document.Components.Examples?[reference.Pointer.LocalPointer];
252+
return document.Components.Examples?[reference.Pointer.Name];
253253

254254
case ReferenceType.SecurityScheme:
255-
return document.Components.SecuritySchemes?[reference.Pointer.LocalPointer];
255+
return document.Components.SecuritySchemes?[reference.Pointer.Name];
256256

257257
case ReferenceType.Callback:
258-
return document.Components.Callbacks?[reference.Pointer.LocalPointer];
258+
return document.Components.Callbacks?[reference.Pointer.Name];
259259

260260
case ReferenceType.Link:
261-
return document.Components.Links?[reference.Pointer.LocalPointer];
261+
return document.Components.Links?[reference.Pointer.Name];
262262

263263
case ReferenceType.Tag:
264-
return document?.Tags.FirstOrDefault(e => e.Name == reference.Pointer.LocalPointer);
264+
return document?.Tags.FirstOrDefault(e => e.Name == reference.Pointer.Name);
265265

266266
default:
267267
return null;
@@ -272,7 +272,7 @@ public static IOpenApiElement Find<T>(this T reference, OpenApiDocument document
272272
/// Check whether the element is reference element.
273273
/// </summary>
274274
/// <typeparam name="T"><see cref="IOpenApiElement"/>.</typeparam>
275-
/// <param name="reference">The referencable element.</param>
275+
/// <param name="element">The referencable element.</param>
276276
/// <returns>True if the element implements <see cref="IOpenApiReference"/> and pointer is not null,
277277
/// False otherwise.</returns>
278278
public static bool IsReference<T>(this T element) where T : IOpenApiElement

0 commit comments

Comments
 (0)