From 08b83fefc338971421c14673aaa744fabfea05eb Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Mon, 12 Jan 2015 16:44:39 -0800 Subject: [PATCH] Some cleanup of action invoker and related code The action invoker no longer needs access to model metadata or to the input formatter selector. This change removes the same as constructor parameters and cleans up tests which use the invoker. --- .../ControllerActionInvoker.cs | 6 +----- .../ControllerActionInvokerProvider.cs | 8 -------- src/Microsoft.AspNet.Mvc.Core/FilterActionInvoker.cs | 6 ------ .../ControllerActionInvokerTest.cs | 11 +---------- 4 files changed, 2 insertions(+), 29 deletions(-) diff --git a/src/Microsoft.AspNet.Mvc.Core/ControllerActionInvoker.cs b/src/Microsoft.AspNet.Mvc.Core/ControllerActionInvoker.cs index 26458fa557..c55ad38441 100644 --- a/src/Microsoft.AspNet.Mvc.Core/ControllerActionInvoker.cs +++ b/src/Microsoft.AspNet.Mvc.Core/ControllerActionInvoker.cs @@ -22,9 +22,7 @@ namespace Microsoft.AspNet.Mvc [NotNull] INestedProviderManager filterProvider, [NotNull] IControllerFactory controllerFactory, [NotNull] ControllerActionDescriptor descriptor, - [NotNull] IModelMetadataProvider modelMetadataProvider, [NotNull] IInputFormattersProvider inputFormatterProvider, - [NotNull] IInputFormatterSelector inputFormatterSelector, [NotNull] IControllerActionArgumentBinder controllerActionArgumentBinder, [NotNull] IModelBinderProvider modelBinderProvider, [NotNull] IModelValidatorProviderProvider modelValidatorProviderProvider, @@ -33,9 +31,7 @@ namespace Microsoft.AspNet.Mvc : base( actionContext, filterProvider, - modelMetadataProvider, - inputFormatterProvider, - inputFormatterSelector, + inputFormatterProvider, modelBinderProvider, modelValidatorProviderProvider, valueProviderFactoryProvider, diff --git a/src/Microsoft.AspNet.Mvc.Core/ControllerActionInvokerProvider.cs b/src/Microsoft.AspNet.Mvc.Core/ControllerActionInvokerProvider.cs index ea20812a79..a19e5031af 100644 --- a/src/Microsoft.AspNet.Mvc.Core/ControllerActionInvokerProvider.cs +++ b/src/Microsoft.AspNet.Mvc.Core/ControllerActionInvokerProvider.cs @@ -13,9 +13,7 @@ namespace Microsoft.AspNet.Mvc private readonly IControllerFactory _controllerFactory; private readonly INestedProviderManager _filterProvider; private readonly IInputFormattersProvider _inputFormattersProvider; - private readonly IInputFormatterSelector _inputFormatterSelector; private readonly IModelBinderProvider _modelBinderProvider; - private readonly IModelMetadataProvider _modelMetadataProvider; private readonly IModelValidatorProviderProvider _modelValidationProviderProvider; private readonly IValueProviderFactoryProvider _valueProviderFactoryProvider; private readonly IScopedInstance _actionBindingContextAccessor; @@ -25,8 +23,6 @@ namespace Microsoft.AspNet.Mvc IInputFormattersProvider inputFormattersProvider, INestedProviderManager filterProvider, IControllerActionArgumentBinder argumentBinder, - IModelMetadataProvider modelMetadataProvider, - IInputFormatterSelector inputFormatterSelector, IModelBinderProvider modelBinderProvider, IModelValidatorProviderProvider modelValidationProviderProvider, IValueProviderFactoryProvider valueProviderFactoryProvider, @@ -36,9 +32,7 @@ namespace Microsoft.AspNet.Mvc _inputFormattersProvider = inputFormattersProvider; _filterProvider = filterProvider; _argumentBinder = argumentBinder; - _modelMetadataProvider = modelMetadataProvider; _modelBinderProvider = modelBinderProvider; - _inputFormatterSelector = inputFormatterSelector; _modelValidationProviderProvider = modelValidationProviderProvider; _valueProviderFactoryProvider = valueProviderFactoryProvider; _actionBindingContextAccessor = actionBindingContextAccessor; @@ -60,9 +54,7 @@ namespace Microsoft.AspNet.Mvc _filterProvider, _controllerFactory, actionDescriptor, - _modelMetadataProvider, _inputFormattersProvider, - _inputFormatterSelector, _argumentBinder, _modelBinderProvider, _modelValidationProviderProvider, diff --git a/src/Microsoft.AspNet.Mvc.Core/FilterActionInvoker.cs b/src/Microsoft.AspNet.Mvc.Core/FilterActionInvoker.cs index fa7dbbb171..5f433107cf 100644 --- a/src/Microsoft.AspNet.Mvc.Core/FilterActionInvoker.cs +++ b/src/Microsoft.AspNet.Mvc.Core/FilterActionInvoker.cs @@ -15,10 +15,8 @@ namespace Microsoft.AspNet.Mvc { public abstract class FilterActionInvoker : IActionInvoker { - private readonly IModelMetadataProvider _modelMetadataProvider; private readonly INestedProviderManager _filterProvider; private readonly IInputFormattersProvider _inputFormatterProvider; - private readonly IInputFormatterSelector _inputFormatterSelector; private readonly IModelBinderProvider _modelBinderProvider; private readonly IModelValidatorProviderProvider _modelValidatorProviderProvider; private readonly IValueProviderFactoryProvider _valueProviderFactoryProvider; @@ -43,9 +41,7 @@ namespace Microsoft.AspNet.Mvc public FilterActionInvoker( [NotNull] ActionContext actionContext, [NotNull] INestedProviderManager filterProvider, - [NotNull] IModelMetadataProvider modelMetadataProvider, [NotNull] IInputFormattersProvider inputFormatterProvider, - [NotNull] IInputFormatterSelector inputFormatterSelector, [NotNull] IModelBinderProvider modelBinderProvider, [NotNull] IModelValidatorProviderProvider modelValidatorProviderProvider, [NotNull] IValueProviderFactoryProvider valueProviderFactoryProvider, @@ -54,9 +50,7 @@ namespace Microsoft.AspNet.Mvc ActionContext = actionContext; _filterProvider = filterProvider; - _modelMetadataProvider = modelMetadataProvider; _inputFormatterProvider = inputFormatterProvider; - _inputFormatterSelector = inputFormatterSelector; _modelBinderProvider = modelBinderProvider; _modelValidatorProviderProvider = modelValidatorProviderProvider; _valueProviderFactoryProvider = valueProviderFactoryProvider; diff --git a/test/Microsoft.AspNet.Mvc.Core.Test/ControllerActionInvokerTest.cs b/test/Microsoft.AspNet.Mvc.Core.Test/ControllerActionInvokerTest.cs index 3831ededa6..5ad7ee504a 100644 --- a/test/Microsoft.AspNet.Mvc.Core.Test/ControllerActionInvokerTest.cs +++ b/test/Microsoft.AspNet.Mvc.Core.Test/ControllerActionInvokerTest.cs @@ -1979,9 +1979,7 @@ namespace Microsoft.AspNet.Mvc filterProvider.Object, controllerFactory, actionDescriptor, - new EmptyModelMetadataProvider(), inputFormattersProvider.Object, - new DefaultInputFormatterSelector(), Mock.Of(), new MockModelBinderProvider(), new MockModelValidatorProviderProvider(), @@ -2015,7 +2013,6 @@ namespace Microsoft.AspNet.Mvc }; var binder = new Mock(); - var metadataProvider = new EmptyModelMetadataProvider(); binder.Setup(b => b.BindModelAsync(It.IsAny())) .Returns(Task.FromResult(result: false)); var context = new Mock(); @@ -2037,10 +2034,8 @@ namespace Microsoft.AspNet.Mvc Mock.Of>(), controllerFactory.Object, actionDescriptor, - metadataProvider, inputFormattersProvider.Object, - new DefaultInputFormatterSelector(), - new DefaultControllerActionArgumentBinder(metadataProvider), + new DefaultControllerActionArgumentBinder(new EmptyModelMetadataProvider()), new MockModelBinderProvider() { ModelBinders = new List() { binder.Object } }, new MockModelValidatorProviderProvider(), new MockValueProviderFactoryProvider(), @@ -2103,9 +2098,7 @@ namespace Microsoft.AspNet.Mvc INestedProviderManager filterProvider, Mock controllerFactoryMock, ControllerActionDescriptor descriptor, - IModelMetadataProvider modelMetadataProvider, IInputFormattersProvider inputFormattersProvider, - IInputFormatterSelector inputFormatterSelector, IControllerActionArgumentBinder controllerActionArgumentBinder, IModelBinderProvider modelBinderProvider, IModelValidatorProviderProvider modelValidatorProviderProvider, @@ -2116,9 +2109,7 @@ namespace Microsoft.AspNet.Mvc filterProvider, controllerFactoryMock.Object, descriptor, - modelMetadataProvider, inputFormattersProvider, - inputFormatterSelector, controllerActionArgumentBinder, modelBinderProvider, modelValidatorProviderProvider,