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.
This commit is contained in:
Ryan Nowak 2015-01-12 16:44:39 -08:00
parent 61d9c2cbf8
commit 08b83fefc3
4 changed files with 2 additions and 29 deletions

View File

@ -22,9 +22,7 @@ namespace Microsoft.AspNet.Mvc
[NotNull] INestedProviderManager<FilterProviderContext> filterProvider, [NotNull] INestedProviderManager<FilterProviderContext> filterProvider,
[NotNull] IControllerFactory controllerFactory, [NotNull] IControllerFactory controllerFactory,
[NotNull] ControllerActionDescriptor descriptor, [NotNull] ControllerActionDescriptor descriptor,
[NotNull] IModelMetadataProvider modelMetadataProvider,
[NotNull] IInputFormattersProvider inputFormatterProvider, [NotNull] IInputFormattersProvider inputFormatterProvider,
[NotNull] IInputFormatterSelector inputFormatterSelector,
[NotNull] IControllerActionArgumentBinder controllerActionArgumentBinder, [NotNull] IControllerActionArgumentBinder controllerActionArgumentBinder,
[NotNull] IModelBinderProvider modelBinderProvider, [NotNull] IModelBinderProvider modelBinderProvider,
[NotNull] IModelValidatorProviderProvider modelValidatorProviderProvider, [NotNull] IModelValidatorProviderProvider modelValidatorProviderProvider,
@ -33,9 +31,7 @@ namespace Microsoft.AspNet.Mvc
: base( : base(
actionContext, actionContext,
filterProvider, filterProvider,
modelMetadataProvider,
inputFormatterProvider, inputFormatterProvider,
inputFormatterSelector,
modelBinderProvider, modelBinderProvider,
modelValidatorProviderProvider, modelValidatorProviderProvider,
valueProviderFactoryProvider, valueProviderFactoryProvider,

View File

@ -13,9 +13,7 @@ namespace Microsoft.AspNet.Mvc
private readonly IControllerFactory _controllerFactory; private readonly IControllerFactory _controllerFactory;
private readonly INestedProviderManager<FilterProviderContext> _filterProvider; private readonly INestedProviderManager<FilterProviderContext> _filterProvider;
private readonly IInputFormattersProvider _inputFormattersProvider; private readonly IInputFormattersProvider _inputFormattersProvider;
private readonly IInputFormatterSelector _inputFormatterSelector;
private readonly IModelBinderProvider _modelBinderProvider; private readonly IModelBinderProvider _modelBinderProvider;
private readonly IModelMetadataProvider _modelMetadataProvider;
private readonly IModelValidatorProviderProvider _modelValidationProviderProvider; private readonly IModelValidatorProviderProvider _modelValidationProviderProvider;
private readonly IValueProviderFactoryProvider _valueProviderFactoryProvider; private readonly IValueProviderFactoryProvider _valueProviderFactoryProvider;
private readonly IScopedInstance<ActionBindingContext> _actionBindingContextAccessor; private readonly IScopedInstance<ActionBindingContext> _actionBindingContextAccessor;
@ -25,8 +23,6 @@ namespace Microsoft.AspNet.Mvc
IInputFormattersProvider inputFormattersProvider, IInputFormattersProvider inputFormattersProvider,
INestedProviderManager<FilterProviderContext> filterProvider, INestedProviderManager<FilterProviderContext> filterProvider,
IControllerActionArgumentBinder argumentBinder, IControllerActionArgumentBinder argumentBinder,
IModelMetadataProvider modelMetadataProvider,
IInputFormatterSelector inputFormatterSelector,
IModelBinderProvider modelBinderProvider, IModelBinderProvider modelBinderProvider,
IModelValidatorProviderProvider modelValidationProviderProvider, IModelValidatorProviderProvider modelValidationProviderProvider,
IValueProviderFactoryProvider valueProviderFactoryProvider, IValueProviderFactoryProvider valueProviderFactoryProvider,
@ -36,9 +32,7 @@ namespace Microsoft.AspNet.Mvc
_inputFormattersProvider = inputFormattersProvider; _inputFormattersProvider = inputFormattersProvider;
_filterProvider = filterProvider; _filterProvider = filterProvider;
_argumentBinder = argumentBinder; _argumentBinder = argumentBinder;
_modelMetadataProvider = modelMetadataProvider;
_modelBinderProvider = modelBinderProvider; _modelBinderProvider = modelBinderProvider;
_inputFormatterSelector = inputFormatterSelector;
_modelValidationProviderProvider = modelValidationProviderProvider; _modelValidationProviderProvider = modelValidationProviderProvider;
_valueProviderFactoryProvider = valueProviderFactoryProvider; _valueProviderFactoryProvider = valueProviderFactoryProvider;
_actionBindingContextAccessor = actionBindingContextAccessor; _actionBindingContextAccessor = actionBindingContextAccessor;
@ -60,9 +54,7 @@ namespace Microsoft.AspNet.Mvc
_filterProvider, _filterProvider,
_controllerFactory, _controllerFactory,
actionDescriptor, actionDescriptor,
_modelMetadataProvider,
_inputFormattersProvider, _inputFormattersProvider,
_inputFormatterSelector,
_argumentBinder, _argumentBinder,
_modelBinderProvider, _modelBinderProvider,
_modelValidationProviderProvider, _modelValidationProviderProvider,

View File

@ -15,10 +15,8 @@ namespace Microsoft.AspNet.Mvc
{ {
public abstract class FilterActionInvoker : IActionInvoker public abstract class FilterActionInvoker : IActionInvoker
{ {
private readonly IModelMetadataProvider _modelMetadataProvider;
private readonly INestedProviderManager<FilterProviderContext> _filterProvider; private readonly INestedProviderManager<FilterProviderContext> _filterProvider;
private readonly IInputFormattersProvider _inputFormatterProvider; private readonly IInputFormattersProvider _inputFormatterProvider;
private readonly IInputFormatterSelector _inputFormatterSelector;
private readonly IModelBinderProvider _modelBinderProvider; private readonly IModelBinderProvider _modelBinderProvider;
private readonly IModelValidatorProviderProvider _modelValidatorProviderProvider; private readonly IModelValidatorProviderProvider _modelValidatorProviderProvider;
private readonly IValueProviderFactoryProvider _valueProviderFactoryProvider; private readonly IValueProviderFactoryProvider _valueProviderFactoryProvider;
@ -43,9 +41,7 @@ namespace Microsoft.AspNet.Mvc
public FilterActionInvoker( public FilterActionInvoker(
[NotNull] ActionContext actionContext, [NotNull] ActionContext actionContext,
[NotNull] INestedProviderManager<FilterProviderContext> filterProvider, [NotNull] INestedProviderManager<FilterProviderContext> filterProvider,
[NotNull] IModelMetadataProvider modelMetadataProvider,
[NotNull] IInputFormattersProvider inputFormatterProvider, [NotNull] IInputFormattersProvider inputFormatterProvider,
[NotNull] IInputFormatterSelector inputFormatterSelector,
[NotNull] IModelBinderProvider modelBinderProvider, [NotNull] IModelBinderProvider modelBinderProvider,
[NotNull] IModelValidatorProviderProvider modelValidatorProviderProvider, [NotNull] IModelValidatorProviderProvider modelValidatorProviderProvider,
[NotNull] IValueProviderFactoryProvider valueProviderFactoryProvider, [NotNull] IValueProviderFactoryProvider valueProviderFactoryProvider,
@ -54,9 +50,7 @@ namespace Microsoft.AspNet.Mvc
ActionContext = actionContext; ActionContext = actionContext;
_filterProvider = filterProvider; _filterProvider = filterProvider;
_modelMetadataProvider = modelMetadataProvider;
_inputFormatterProvider = inputFormatterProvider; _inputFormatterProvider = inputFormatterProvider;
_inputFormatterSelector = inputFormatterSelector;
_modelBinderProvider = modelBinderProvider; _modelBinderProvider = modelBinderProvider;
_modelValidatorProviderProvider = modelValidatorProviderProvider; _modelValidatorProviderProvider = modelValidatorProviderProvider;
_valueProviderFactoryProvider = valueProviderFactoryProvider; _valueProviderFactoryProvider = valueProviderFactoryProvider;

View File

@ -1979,9 +1979,7 @@ namespace Microsoft.AspNet.Mvc
filterProvider.Object, filterProvider.Object,
controllerFactory, controllerFactory,
actionDescriptor, actionDescriptor,
new EmptyModelMetadataProvider(),
inputFormattersProvider.Object, inputFormattersProvider.Object,
new DefaultInputFormatterSelector(),
Mock.Of<IControllerActionArgumentBinder>(), Mock.Of<IControllerActionArgumentBinder>(),
new MockModelBinderProvider(), new MockModelBinderProvider(),
new MockModelValidatorProviderProvider(), new MockModelValidatorProviderProvider(),
@ -2015,7 +2013,6 @@ namespace Microsoft.AspNet.Mvc
}; };
var binder = new Mock<IModelBinder>(); var binder = new Mock<IModelBinder>();
var metadataProvider = new EmptyModelMetadataProvider();
binder.Setup(b => b.BindModelAsync(It.IsAny<ModelBindingContext>())) binder.Setup(b => b.BindModelAsync(It.IsAny<ModelBindingContext>()))
.Returns(Task.FromResult(result: false)); .Returns(Task.FromResult(result: false));
var context = new Mock<HttpContext>(); var context = new Mock<HttpContext>();
@ -2037,10 +2034,8 @@ namespace Microsoft.AspNet.Mvc
Mock.Of<INestedProviderManager<FilterProviderContext>>(), Mock.Of<INestedProviderManager<FilterProviderContext>>(),
controllerFactory.Object, controllerFactory.Object,
actionDescriptor, actionDescriptor,
metadataProvider,
inputFormattersProvider.Object, inputFormattersProvider.Object,
new DefaultInputFormatterSelector(), new DefaultControllerActionArgumentBinder(new EmptyModelMetadataProvider()),
new DefaultControllerActionArgumentBinder(metadataProvider),
new MockModelBinderProvider() { ModelBinders = new List<IModelBinder>() { binder.Object } }, new MockModelBinderProvider() { ModelBinders = new List<IModelBinder>() { binder.Object } },
new MockModelValidatorProviderProvider(), new MockModelValidatorProviderProvider(),
new MockValueProviderFactoryProvider(), new MockValueProviderFactoryProvider(),
@ -2103,9 +2098,7 @@ namespace Microsoft.AspNet.Mvc
INestedProviderManager<FilterProviderContext> filterProvider, INestedProviderManager<FilterProviderContext> filterProvider,
Mock<IControllerFactory> controllerFactoryMock, Mock<IControllerFactory> controllerFactoryMock,
ControllerActionDescriptor descriptor, ControllerActionDescriptor descriptor,
IModelMetadataProvider modelMetadataProvider,
IInputFormattersProvider inputFormattersProvider, IInputFormattersProvider inputFormattersProvider,
IInputFormatterSelector inputFormatterSelector,
IControllerActionArgumentBinder controllerActionArgumentBinder, IControllerActionArgumentBinder controllerActionArgumentBinder,
IModelBinderProvider modelBinderProvider, IModelBinderProvider modelBinderProvider,
IModelValidatorProviderProvider modelValidatorProviderProvider, IModelValidatorProviderProvider modelValidatorProviderProvider,
@ -2116,9 +2109,7 @@ namespace Microsoft.AspNet.Mvc
filterProvider, filterProvider,
controllerFactoryMock.Object, controllerFactoryMock.Object,
descriptor, descriptor,
modelMetadataProvider,
inputFormattersProvider, inputFormattersProvider,
inputFormatterSelector,
controllerActionArgumentBinder, controllerActionArgumentBinder,
modelBinderProvider, modelBinderProvider,
modelValidatorProviderProvider, modelValidatorProviderProvider,