Skip to content

Commit f74dedd

Browse files
Matthias Gessingercommonsensesoftware
authored andcommitted
Remove marker interfaces for ISunsetPolicyBuilder and IDeprecationPolicyBuilder
1 parent 357658e commit f74dedd

24 files changed

Lines changed: 97 additions & 117 deletions

File tree

src/Abstractions/src/Asp.Versioning.Abstractions/IDeprecationPolicyManager.cs

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

src/Abstractions/src/Asp.Versioning.Abstractions/ISunsetPolicyManager.cs

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

src/Abstractions/test/Asp.Versioning.Abstractions.Tests/ISunsetPolicyManagerExtensionsTest.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public class ISunsetPolicyManagerExtensionsTest
88
public void try_get_policy_should_get_global_policy_by_version()
99
{
1010
// arrange
11-
var manager = new Mock<ISunsetPolicyManager>();
11+
var manager = new Mock<IPolicyManager<SunsetPolicy>>();
1212
var version = ApiVersion.Default;
1313
var expected = new SunsetPolicy();
1414

@@ -26,7 +26,7 @@ public void try_get_policy_should_get_global_policy_by_version()
2626
public void try_get_policy_should_get_global_policy_by_name()
2727
{
2828
// arrange
29-
var manager = new Mock<ISunsetPolicyManager>();
29+
var manager = new Mock<IPolicyManager<SunsetPolicy>>();
3030
var expected = new SunsetPolicy();
3131

3232
manager.Setup( m => m.TryGetPolicy( "Test", default, out expected ) )
@@ -43,7 +43,7 @@ public void try_get_policy_should_get_global_policy_by_name()
4343
public void resolve_policy_should_return_most_specific_result()
4444
{
4545
// arrange
46-
var manager = new Mock<ISunsetPolicyManager>();
46+
var manager = new Mock<IPolicyManager<SunsetPolicy>>();
4747
var expected = new SunsetPolicy();
4848
var other = new SunsetPolicy();
4949

@@ -61,7 +61,7 @@ public void resolve_policy_should_return_most_specific_result()
6161
public void resolve_policy_should_fall_back_to_global_result()
6262
{
6363
// arrange
64-
var manager = new Mock<ISunsetPolicyManager>();
64+
var manager = new Mock<IPolicyManager<SunsetPolicy>>();
6565
var expected = new SunsetPolicy();
6666
var other = new SunsetPolicy();
6767

src/AspNet/OData/test/Asp.Versioning.WebApi.OData.Tests/Controllers/VersionedMetadataControllerTest.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ public async Task options_should_return_expected_headers()
3131
var resolver = new SimpleDependencyResolver( configuration );
3232

3333
resolver.AddService(
34-
typeof( ISunsetPolicyManager ),
34+
typeof( IPolicyManager<SunsetPolicy> ),
3535
( sp, t ) => new SunsetPolicyManager( sp.GetRequiredService<HttpConfiguration>().GetApiVersioningOptions() ) );
3636
resolver.AddService(
37-
typeof( IDeprecationPolicyManager ),
37+
typeof( IPolicyManager<DeprecationPolicy> ),
3838
( sp, t ) => new DeprecationPolicyManager( sp.GetRequiredService<HttpConfiguration>().GetApiVersioningOptions() ) );
3939
configuration.DependencyResolver = resolver;
4040
configuration.AddApiVersioning(

src/AspNet/WebApi/src/Asp.Versioning.WebApi.ApiExplorer/ApiExplorer/VersionedApiExplorer.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ public class VersionedApiExplorer : IApiExplorer
3232
private readonly ApiExplorerOptions options;
3333
private readonly Lazy<ApiDescriptionGroupCollection> apiDescriptionsHolder;
3434
private IDocumentationProvider? documentationProvider;
35-
private ISunsetPolicyManager? sunsetPolicyManager;
36-
private IDeprecationPolicyManager? deprecationPolicyManager;
35+
private IPolicyManager<SunsetPolicy>? sunsetPolicyManager;
36+
private IPolicyManager<DeprecationPolicy>? deprecationPolicyManager;
3737

3838
/// <summary>
3939
/// Initializes a new instance of the <see cref="VersionedApiExplorer"/> class.
@@ -99,8 +99,8 @@ public IDocumentationProvider DocumentationProvider
9999
/// <summary>
100100
/// Gets or sets the manager used to resolve sunset policies for API descriptions.
101101
/// </summary>
102-
/// <value>The configured <see cref="ISunsetPolicyManager">sunset policy manager</see>.</value>
103-
protected ISunsetPolicyManager SunsetPolicyManager
102+
/// <value>The configured <see cref="IPolicyManager{TPolicy}">sunset policy manager</see>.</value>
103+
protected IPolicyManager<SunsetPolicy> SunsetPolicyManager
104104
{
105105
get => sunsetPolicyManager ??= Configuration.GetSunsetPolicyManager();
106106
set => sunsetPolicyManager = value;
@@ -109,8 +109,8 @@ protected ISunsetPolicyManager SunsetPolicyManager
109109
/// <summary>
110110
/// Gets or sets the manager used to resolve deprecation policies for API descriptions.
111111
/// </summary>
112-
/// <value>The configured <see cref="IDeprecationPolicyManager">deprecation policy manager</see>.</value>
113-
protected IDeprecationPolicyManager DeprecationPolicyManager
112+
/// <value>The configured <see cref="IPolicyManager{TPolicy}">deprecation policy manager</see>.</value>
113+
protected IPolicyManager<DeprecationPolicy> DeprecationPolicyManager
114114
{
115115
get => deprecationPolicyManager ??= Configuration.GetDeprecationPolicyManager();
116116
set => deprecationPolicyManager = value;

src/AspNet/WebApi/src/Asp.Versioning.WebApi/Dependencies/DefaultContainer.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ internal DefaultContainer()
1818
container.AddService( typeof( IApiVersionParser ), static ( sc, t ) => ApiVersionParser.Default );
1919
container.AddService( typeof( IControllerNameConvention ), static ( sc, t ) => ControllerNameConvention.Default );
2020
container.AddService( typeof( IProblemDetailsFactory ), static ( sc, t ) => new ProblemDetailsFactory() );
21-
container.AddService( typeof( ISunsetPolicyManager ), NewSunsetPolicyManager );
22-
container.AddService( typeof( IDeprecationPolicyManager ), NewDeprecationPolicyManager );
21+
container.AddService( typeof( IPolicyManager<SunsetPolicy> ), NewSunsetPolicyManager );
22+
container.AddService( typeof( IPolicyManager<DeprecationPolicy> ), NewDeprecationPolicyManager );
2323
container.AddService( typeof( IReportApiVersions ), NewApiVersionReporter );
2424
}
2525

@@ -67,10 +67,10 @@ public IEnumerable<object> GetServices( Type serviceType )
6767
private static ApiVersioningOptions GetApiVersioningOptions( IServiceProvider serviceProvider ) =>
6868
(ApiVersioningOptions) serviceProvider.GetService( typeof( ApiVersioningOptions ) );
6969

70-
private static ISunsetPolicyManager NewSunsetPolicyManager( IServiceProvider serviceProvider, Type type ) =>
70+
private static IPolicyManager<SunsetPolicy> NewSunsetPolicyManager( IServiceProvider serviceProvider, Type type ) =>
7171
new SunsetPolicyManager( GetApiVersioningOptions( serviceProvider ) );
7272

73-
private static IDeprecationPolicyManager NewDeprecationPolicyManager( IServiceProvider serviceProvider, Type type ) =>
73+
private static IPolicyManager<DeprecationPolicy> NewDeprecationPolicyManager( IServiceProvider serviceProvider, Type type ) =>
7474
new DeprecationPolicyManager( GetApiVersioningOptions( serviceProvider ) );
7575

7676
private static IReportApiVersions NewApiVersionReporter( IServiceProvider serviceProvider, Type type )
@@ -79,8 +79,8 @@ private static IReportApiVersions NewApiVersionReporter( IServiceProvider servic
7979

8080
if ( options.ReportApiVersions )
8181
{
82-
var sunsetPolicyManager = (ISunsetPolicyManager) serviceProvider.GetService( typeof( ISunsetPolicyManager ) );
83-
var deprecationPolicyManager = (IDeprecationPolicyManager) serviceProvider.GetService( typeof( IDeprecationPolicyManager ) );
82+
var sunsetPolicyManager = (IPolicyManager<SunsetPolicy>) serviceProvider.GetService( typeof( IPolicyManager<SunsetPolicy> ) );
83+
var deprecationPolicyManager = (IPolicyManager<DeprecationPolicy>) serviceProvider.GetService( typeof( IPolicyManager<DeprecationPolicy> ) );
8484
return new DefaultApiVersionReporter( sunsetPolicyManager, deprecationPolicyManager );
8585
}
8686

src/AspNet/WebApi/src/Asp.Versioning.WebApi/DependencyResolverExtensions.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@ internal static IProblemDetailsFactory GetProblemDetailsFactory( this HttpConfig
3535
configuration.DependencyResolver.GetService<IProblemDetailsFactory>() ??
3636
configuration.ApiVersioningServices().GetRequiredService<IProblemDetailsFactory>();
3737

38-
internal static ISunsetPolicyManager GetSunsetPolicyManager( this HttpConfiguration configuration ) =>
39-
configuration.DependencyResolver.GetService<ISunsetPolicyManager>() ??
40-
configuration.ApiVersioningServices().GetRequiredService<ISunsetPolicyManager>();
38+
internal static IPolicyManager<SunsetPolicy> GetSunsetPolicyManager( this HttpConfiguration configuration ) =>
39+
configuration.DependencyResolver.GetService<IPolicyManager<SunsetPolicy>>() ??
40+
configuration.ApiVersioningServices().GetRequiredService<IPolicyManager<SunsetPolicy>>();
4141

42-
internal static IDeprecationPolicyManager GetDeprecationPolicyManager( this HttpConfiguration configuration ) =>
43-
configuration.DependencyResolver.GetService<IDeprecationPolicyManager>() ??
44-
configuration.ApiVersioningServices().GetRequiredService<IDeprecationPolicyManager>();
42+
internal static IPolicyManager<DeprecationPolicy> GetDeprecationPolicyManager( this HttpConfiguration configuration ) =>
43+
configuration.DependencyResolver.GetService<IPolicyManager<DeprecationPolicy>>() ??
44+
configuration.ApiVersioningServices().GetRequiredService<IPolicyManager<DeprecationPolicy>>();
4545
}

src/AspNet/WebApi/src/Asp.Versioning.WebApi/README.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
| :mega: Formerly [Microsoft.AspNet.WebApi.Versioning](https://www.nuget.org/packages/Microsoft.AspNet.WebApi.Versioning/). See the [announcement](https://github.com/dotnet/aspnet-api-versioning/discussions/807). |
2-
|-|
2+
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
33

44
ASP.NET API versioning gives you a powerful, but easy-to-use method for adding API versioning semantics to your new
55
and existing REST services built with ASP.NET Web API. The API versioning extensions define simple metadata attributes
@@ -13,9 +13,8 @@ and conventions that you use to describe which API versions are implemented by y
1313
- Asp.Versioning.IApiVersionSelector
1414
- Asp.Versioning.IReportApiVersions
1515
- Asp.Versioning.ISunsetPolicyBuilder
16-
- Asp.Versioning.ISunsetPolicyManager
16+
- Asp.Versioning.IPolicyManager<SunsetPolicy>
1717
- Asp.Versioning.QueryStringApiVersionReader
1818
- Asp.Versioning.ReportApiVersionsAttribute
1919

2020
## Release Notes
21-

src/AspNet/WebApi/test/Asp.Versioning.WebApi.Tests/DefaultApiVersionReporterTest.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public void report_should_add_expected_headers()
7171
] );
7272
}
7373

74-
private sealed class TestSunsetPolicyManager : ISunsetPolicyManager
74+
private sealed class TestSunsetPolicyManager : IPolicyManager<SunsetPolicy>
7575
{
7676
private readonly DateTimeOffset sunsetDate;
7777

@@ -92,7 +92,7 @@ public bool TryGetPolicy( string name, ApiVersion apiVersion, out SunsetPolicy s
9292
}
9393
}
9494

95-
private sealed class TestDeprecationPolicyManager : IDeprecationPolicyManager
95+
private sealed class TestDeprecationPolicyManager : IPolicyManager<DeprecationPolicy>
9696
{
9797
private readonly DateTimeOffset deprecationDate;
9898

src/AspNetCore/WebApi/src/Asp.Versioning.Http/DependencyInjection/IServiceCollectionExtensions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,8 @@ private static void AddApiVersioningServices( IServiceCollection services )
143143
services.AddSingleton( static sp => (IApiVersionParameterSource) sp.GetRequiredService<IOptions<ApiVersioningOptions>>().Value.ApiVersionReader );
144144
services.AddSingleton( static sp => sp.GetRequiredService<IOptions<ApiVersioningOptions>>().Value.ApiVersionSelector );
145145
services.TryAddSingleton<IReportApiVersions, DefaultApiVersionReporter>();
146-
services.TryAddSingleton<ISunsetPolicyManager, SunsetPolicyManager>();
147-
services.TryAddSingleton<IDeprecationPolicyManager, DeprecationPolicyManager>();
146+
services.TryAddSingleton<IPolicyManager<SunsetPolicy>, SunsetPolicyManager>();
147+
services.TryAddSingleton<IPolicyManager<DeprecationPolicy>, DeprecationPolicyManager>();
148148
services.TryAddEnumerable( Transient<IValidateOptions<ApiVersioningOptions>, ValidateApiVersioningOptions>() );
149149
services.TryAddEnumerable( Transient<IPostConfigureOptions<RouteOptions>, ApiVersioningRouteOptionsSetup>() );
150150
services.TryAddEnumerable( Singleton<MatcherPolicy, ApiVersionMatcherPolicy>() );

0 commit comments

Comments
 (0)