@ -192,14 +192,14 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
@@ -192,14 +192,14 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
@Override
@Nullable
public BeanDefinition parse ( Element element , ParserContext parserC ontext) {
Object source = parserC ontext. extractSource ( element ) ;
XmlReaderContext readerContext = parserC ontext. getReaderContext ( ) ;
public BeanDefinition parse ( Element element , ParserContext c ontext) {
Object source = c ontext. extractSource ( element ) ;
XmlReaderContext readerContext = c ontext. getReaderContext ( ) ;
CompositeComponentDefinition compDefinition = new CompositeComponentDefinition ( element . getTagName ( ) , source ) ;
parserC ontext. pushContainingComponent ( compDefinition ) ;
c ontext. pushContainingComponent ( compDefinition ) ;
RuntimeBeanReference contentNegotiationManager = getContentNegotiationManager ( element , source , parserC ontext) ;
RuntimeBeanReference contentNegotiationManager = getContentNegotiationManager ( element , source , c ontext) ;
RootBeanDefinition handlerMappingDef = new RootBeanDefinition ( RequestMappingHandlerMapping . class ) ;
handlerMappingDef . setSource ( source ) ;
@ -212,14 +212,14 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
@@ -212,14 +212,14 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
handlerMappingDef . getPropertyValues ( ) . add ( "removeSemicolonContent" , ! enableMatrixVariables ) ;
}
configurePathMatchingProperties ( handlerMappingDef , element , parserC ontext) ;
configurePathMatchingProperties ( handlerMappingDef , element , c ontext) ;
readerContext . getRegistry ( ) . registerBeanDefinition ( HANDLER_MAPPING_BEAN_NAME , handlerMappingDef ) ;
RuntimeBeanReference corsRef = MvcNamespaceUtils . registerCorsConfigurations ( null , parserC ontext, source ) ;
RuntimeBeanReference corsRef = MvcNamespaceUtils . registerCorsConfigurations ( null , c ontext, source ) ;
handlerMappingDef . getPropertyValues ( ) . add ( "corsConfigurations" , corsRef ) ;
RuntimeBeanReference conversionService = getConversionService ( element , source , parserC ontext) ;
RuntimeBeanReference validator = getValidator ( element , source , parserC ontext) ;
RuntimeBeanReference conversionService = getConversionService ( element , source , c ontext) ;
RuntimeBeanReference validator = getValidator ( element , source , c ontext) ;
RuntimeBeanReference messageCodesResolver = getMessageCodesResolver ( element ) ;
RootBeanDefinition bindingDef = new RootBeanDefinition ( ConfigurableWebBindingInitializer . class ) ;
@ -229,13 +229,13 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
@@ -229,13 +229,13 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
bindingDef . getPropertyValues ( ) . add ( "validator" , validator ) ;
bindingDef . getPropertyValues ( ) . add ( "messageCodesResolver" , messageCodesResolver ) ;
ManagedList < ? > messageConverters = getMessageConverters ( element , source , parserC ontext) ;
ManagedList < ? > argumentResolvers = getArgumentResolvers ( element , parserC ontext) ;
ManagedList < ? > returnValueHandlers = getReturnValueHandlers ( element , parserC ontext) ;
ManagedList < ? > messageConverters = getMessageConverters ( element , source , c ontext) ;
ManagedList < ? > argumentResolvers = getArgumentResolvers ( element , c ontext) ;
ManagedList < ? > returnValueHandlers = getReturnValueHandlers ( element , c ontext) ;
String asyncTimeout = getAsyncTimeout ( element ) ;
RuntimeBeanReference asyncExecutor = getAsyncExecutor ( element ) ;
ManagedList < ? > callableInterceptors = getCallableInterceptors ( element , source , parserC ontext) ;
ManagedList < ? > deferredResultInterceptors = getDeferredResultInterceptors ( element , source , parserC ontext) ;
ManagedList < ? > callableInterceptors = getCallableInterceptors ( element , source , c ontext) ;
ManagedList < ? > deferredResultInterceptors = getDeferredResultInterceptors ( element , source , c ontext) ;
RootBeanDefinition handlerAdapterDef = new RootBeanDefinition ( RequestMappingHandlerAdapter . class ) ;
handlerAdapterDef . setSource ( source ) ;
@ -312,18 +312,18 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
@@ -312,18 +312,18 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
defaultExceptionResolver . getPropertyValues ( ) . add ( "order" , 2 ) ;
String defaultExResolverName = readerContext . registerWithGeneratedName ( defaultExceptionResolver ) ;
parserC ontext. registerComponent ( new BeanComponentDefinition ( handlerMappingDef , HANDLER_MAPPING_BEAN_NAME ) ) ;
parserC ontext. registerComponent ( new BeanComponentDefinition ( handlerAdapterDef , HANDLER_ADAPTER_BEAN_NAME ) ) ;
parserC ontext. registerComponent ( new BeanComponentDefinition ( uriContributorDef , uriContributorName ) ) ;
parserC ontext. registerComponent ( new BeanComponentDefinition ( mappedInterceptorDef , mappedInterceptorName ) ) ;
parserC ontext. registerComponent ( new BeanComponentDefinition ( methodExceptionResolver , methodExResolverName ) ) ;
parserC ontext. registerComponent ( new BeanComponentDefinition ( statusExceptionResolver , statusExResolverName ) ) ;
parserC ontext. registerComponent ( new BeanComponentDefinition ( defaultExceptionResolver , defaultExResolverName ) ) ;
c ontext. registerComponent ( new BeanComponentDefinition ( handlerMappingDef , HANDLER_MAPPING_BEAN_NAME ) ) ;
c ontext. registerComponent ( new BeanComponentDefinition ( handlerAdapterDef , HANDLER_ADAPTER_BEAN_NAME ) ) ;
c ontext. registerComponent ( new BeanComponentDefinition ( uriContributorDef , uriContributorName ) ) ;
c ontext. registerComponent ( new BeanComponentDefinition ( mappedInterceptorDef , mappedInterceptorName ) ) ;
c ontext. registerComponent ( new BeanComponentDefinition ( methodExceptionResolver , methodExResolverName ) ) ;
c ontext. registerComponent ( new BeanComponentDefinition ( statusExceptionResolver , statusExResolverName ) ) ;
c ontext. registerComponent ( new BeanComponentDefinition ( defaultExceptionResolver , defaultExResolverName ) ) ;
// Ensure BeanNameUrlHandlerMapping (SPR-8289) and default HandlerAdapters are not "turned off"
MvcNamespaceUtils . registerDefaultComponents ( parserC ontext, source ) ;
MvcNamespaceUtils . registerDefaultComponents ( c ontext, source ) ;
parserC ontext. popAndRegisterContainingComponent ( ) ;
c ontext. popAndRegisterContainingComponent ( ) ;
return null ;
}
@ -342,9 +342,7 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
@@ -342,9 +342,7 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
}
}
private RuntimeBeanReference getConversionService (
Element element , @Nullable Object source , ParserContext parserContext ) {
private RuntimeBeanReference getConversionService ( Element element , @Nullable Object source , ParserContext context ) {
RuntimeBeanReference conversionServiceRef ;
if ( element . hasAttribute ( "conversion-service" ) ) {
conversionServiceRef = new RuntimeBeanReference ( element . getAttribute ( "conversion-service" ) ) ;
@ -353,15 +351,15 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
@@ -353,15 +351,15 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
RootBeanDefinition conversionDef = new RootBeanDefinition ( FormattingConversionServiceFactoryBean . class ) ;
conversionDef . setSource ( source ) ;
conversionDef . setRole ( BeanDefinition . ROLE_INFRASTRUCTURE ) ;
String conversionName = parserC ontext. getReaderContext ( ) . registerWithGeneratedName ( conversionDef ) ;
parserC ontext. registerComponent ( new BeanComponentDefinition ( conversionDef , conversionName ) ) ;
String conversionName = c ontext. getReaderContext ( ) . registerWithGeneratedName ( conversionDef ) ;
c ontext. registerComponent ( new BeanComponentDefinition ( conversionDef , conversionName ) ) ;
conversionServiceRef = new RuntimeBeanReference ( conversionName ) ;
}
return conversionServiceRef ;
}
@Nullable
private RuntimeBeanReference getValidator ( Element element , @Nullable Object source , ParserContext parserC ontext) {
private RuntimeBeanReference getValidator ( Element element , @Nullable Object source , ParserContext c ontext) {
if ( element . hasAttribute ( "validator" ) ) {
return new RuntimeBeanReference ( element . getAttribute ( "validator" ) ) ;
}
@ -370,8 +368,8 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
@@ -370,8 +368,8 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
"org.springframework.validation.beanvalidation.OptionalValidatorFactoryBean" ) ;
validatorDef . setSource ( source ) ;
validatorDef . setRole ( BeanDefinition . ROLE_INFRASTRUCTURE ) ;
String validatorName = parserC ontext. getReaderContext ( ) . registerWithGeneratedName ( validatorDef ) ;
parserC ontext. registerComponent ( new BeanComponentDefinition ( validatorDef , validatorName ) ) ;
String validatorName = c ontext. getReaderContext ( ) . registerWithGeneratedName ( validatorDef ) ;
c ontext. registerComponent ( new BeanComponentDefinition ( validatorDef , validatorName ) ) ;
return new RuntimeBeanReference ( validatorName ) ;
}
else {
@ -380,7 +378,7 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
@@ -380,7 +378,7 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
}
private RuntimeBeanReference getContentNegotiationManager (
Element element , @Nullable Object source , ParserContext parserC ontext) {
Element element , @Nullable Object source , ParserContext c ontext) {
RuntimeBeanReference beanRef ;
if ( element . hasAttribute ( "content-negotiation-manager" ) ) {
@ -393,19 +391,19 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
@@ -393,19 +391,19 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
factoryBeanDef . setRole ( BeanDefinition . ROLE_INFRASTRUCTURE ) ;
factoryBeanDef . getPropertyValues ( ) . add ( "mediaTypes" , getDefaultMediaTypes ( ) ) ;
String name = CONTENT_NEGOTIATION_MANAGER_BEAN_NAME ;
parserC ontext. getReaderContext ( ) . getRegistry ( ) . registerBeanDefinition ( name , factoryBeanDef ) ;
parserC ontext. registerComponent ( new BeanComponentDefinition ( factoryBeanDef , name ) ) ;
c ontext. getReaderContext ( ) . getRegistry ( ) . registerBeanDefinition ( name , factoryBeanDef ) ;
c ontext. registerComponent ( new BeanComponentDefinition ( factoryBeanDef , name ) ) ;
beanRef = new RuntimeBeanReference ( name ) ;
}
return beanRef ;
}
private void configurePathMatchingProperties (
RootBeanDefinition handlerMappingDef , Element element , ParserContext parserC ontext) {
RootBeanDefinition handlerMappingDef , Element element , ParserContext c ontext) {
Element pathMatchingElement = DomUtils . getChildElementByTagName ( element , "path-matching" ) ;
if ( pathMatchingElement ! = null ) {
Object source = parserC ontext. extractSource ( element ) ;
Object source = c ontext. extractSource ( element ) ;
if ( pathMatchingElement . hasAttribute ( "suffix-pattern" ) ) {
Boolean useSuffixPatternMatch = Boolean . valueOf ( pathMatchingElement . getAttribute ( "suffix-pattern" ) ) ;
@ -424,14 +422,14 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
@@ -424,14 +422,14 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
if ( pathMatchingElement . hasAttribute ( "path-helper" ) ) {
pathHelperRef = new RuntimeBeanReference ( pathMatchingElement . getAttribute ( "path-helper" ) ) ;
}
pathHelperRef = MvcNamespaceUtils . registerUrlPathHelper ( pathHelperRef , parserC ontext, source ) ;
pathHelperRef = MvcNamespaceUtils . registerUrlPathHelper ( pathHelperRef , c ontext, source ) ;
handlerMappingDef . getPropertyValues ( ) . add ( "urlPathHelper" , pathHelperRef ) ;
RuntimeBeanReference pathMatcherRef = null ;
if ( pathMatchingElement . hasAttribute ( "path-matcher" ) ) {
pathMatcherRef = new RuntimeBeanReference ( pathMatchingElement . getAttribute ( "path-matcher" ) ) ;
}
pathMatcherRef = MvcNamespaceUtils . registerPathMatcher ( pathMatcherRef , parserC ontext, source ) ;
pathMatcherRef = MvcNamespaceUtils . registerPathMatcher ( pathMatcherRef , c ontext, source ) ;
handlerMappingDef . getPropertyValues ( ) . add ( "pathMatcher" , pathMatcherRef ) ;
}
}
@ -483,18 +481,18 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
@@ -483,18 +481,18 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
}
private ManagedList < ? > getCallableInterceptors (
Element element , @Nullable Object source , ParserContext parserC ontext) {
Element element , @Nullable Object source , ParserContext c ontext) {
ManagedList < ? super Object > interceptors = new ManagedList < > ( ) ;
ManagedList < Object > interceptors = new ManagedList < > ( ) ;
Element asyncElement = DomUtils . getChildElementByTagName ( element , "async-support" ) ;
if ( asyncElement ! = null ) {
Element interceptorsElement = DomUtils . getChildElementByTagName ( asyncElement , "callable-interceptors" ) ;
if ( interceptorsElement ! = null ) {
interceptors . setSource ( source ) ;
for ( Element converter : DomUtils . getChildElementsByTagName ( interceptorsElement , "bean" ) ) {
BeanDefinitionHolder beanDef = parserC ontext. getDelegate ( ) . parseBeanDefinitionElement ( converter ) ;
BeanDefinitionHolder beanDef = c ontext. getDelegate ( ) . parseBeanDefinitionElement ( converter ) ;
if ( beanDef ! = null ) {
beanDef = parserC ontext. getDelegate ( ) . decorateBeanDefinitionIfRequired ( converter , beanDef ) ;
beanDef = c ontext. getDelegate ( ) . decorateBeanDefinitionIfRequired ( converter , beanDef ) ;
interceptors . add ( beanDef ) ;
}
}
@ -504,18 +502,18 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
@@ -504,18 +502,18 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
}
private ManagedList < ? > getDeferredResultInterceptors (
Element element , @Nullable Object source , ParserContext parserC ontext) {
Element element , @Nullable Object source , ParserContext c ontext) {
ManagedList < ? super Object > interceptors = new ManagedList < > ( ) ;
ManagedList < Object > interceptors = new ManagedList < > ( ) ;
Element asyncElement = DomUtils . getChildElementByTagName ( element , "async-support" ) ;
if ( asyncElement ! = null ) {
Element interceptorsElement = DomUtils . getChildElementByTagName ( asyncElement , "deferred-result-interceptors" ) ;
if ( interceptorsElement ! = null ) {
interceptors . setSource ( source ) ;
for ( Element converter : DomUtils . getChildElementsByTagName ( interceptorsElement , "bean" ) ) {
BeanDefinitionHolder beanDef = parserC ontext. getDelegate ( ) . parseBeanDefinitionElement ( converter ) ;
BeanDefinitionHolder beanDef = c ontext. getDelegate ( ) . parseBeanDefinitionElement ( converter ) ;
if ( beanDef ! = null ) {
beanDef = parserC ontext. getDelegate ( ) . decorateBeanDefinitionIfRequired ( converter , beanDef ) ;
beanDef = c ontext. getDelegate ( ) . decorateBeanDefinitionIfRequired ( converter , beanDef ) ;
interceptors . add ( beanDef ) ;
}
}
@ -525,11 +523,11 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
@@ -525,11 +523,11 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
}
@Nullable
private ManagedList < ? > getArgumentResolvers ( Element element , ParserContext parserC ontext) {
private ManagedList < ? > getArgumentResolvers ( Element element , ParserContext c ontext) {
Element resolversElement = DomUtils . getChildElementByTagName ( element , "argument-resolvers" ) ;
if ( resolversElement ! = null ) {
ManagedList < Object > resolvers = extractBeanSubElements ( resolversElement , parserC ontext) ;
return wrapLegacyResolvers ( resolvers , parserC ontext) ;
ManagedList < Object > resolvers = extractBeanSubElements ( resolversElement , c ontext) ;
return wrapLegacyResolvers ( resolvers , c ontext) ;
}
return null ;
}
@ -555,18 +553,18 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
@@ -555,18 +553,18 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
}
@Nullable
private ManagedList < ? > getReturnValueHandlers ( Element element , ParserContext parserC ontext) {
private ManagedList < ? > getReturnValueHandlers ( Element element , ParserContext c ontext) {
Element handlers = DomUtils . getChildElementByTagName ( element , "return-value-handlers" ) ;
return ( handlers ! = null ? extractBeanSubElements ( handlers , parserC ontext) : null ) ;
return ( handlers ! = null ? extractBeanSubElements ( handlers , c ontext) : null ) ;
}
private ManagedList < ? > getMessageConverters ( Element element , @Nullable Object source , ParserContext parserC ontext) {
private ManagedList < ? > getMessageConverters ( Element element , @Nullable Object source , ParserContext c ontext) {
Element convertersElement = DomUtils . getChildElementByTagName ( element , "message-converters" ) ;
ManagedList < ? super Object > messageConverters = new ManagedList < > ( ) ;
ManagedList < Object > messageConverters = new ManagedList < > ( ) ;
if ( convertersElement ! = null ) {
messageConverters . setSource ( source ) ;
for ( Element beanElement : DomUtils . getChildElementsByTagName ( convertersElement , "bean" , "ref" ) ) {
Object object = parserC ontext. getDelegate ( ) . parsePropertySubElement ( beanElement , null ) ;
Object object = c ontext. getDelegate ( ) . parsePropertySubElement ( beanElement , null ) ;
messageConverters . add ( object ) ;
}
}
@ -647,11 +645,11 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
@@ -647,11 +645,11 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
return beanDefinition ;
}
private ManagedList < Object > extractBeanSubElements ( Element parentElement , ParserContext parserC ontext) {
private ManagedList < Object > extractBeanSubElements ( Element parentElement , ParserContext c ontext) {
ManagedList < Object > list = new ManagedList < > ( ) ;
list . setSource ( parserC ontext. extractSource ( parentElement ) ) ;
list . setSource ( c ontext. extractSource ( parentElement ) ) ;
for ( Element beanElement : DomUtils . getChildElementsByTagName ( parentElement , "bean" , "ref" ) ) {
Object object = parserC ontext. getDelegate ( ) . parsePropertySubElement ( beanElement , null ) ;
Object object = c ontext. getDelegate ( ) . parsePropertySubElement ( beanElement , null ) ;
list . add ( object ) ;
}
return list ;