@@ -70,10 +70,6 @@ public BeanDefinition parse(Element element, ParserContext context) {
70
70
Object source = context .extractSource (element );
71
71
context .pushContainingComponent (new CompositeComponentDefinition (element .getTagName (), source ));
72
72
73
- RootBeanDefinition compositeResolverBeanDef = new RootBeanDefinition (ViewResolverComposite .class );
74
- compositeResolverBeanDef .setSource (source );
75
- compositeResolverBeanDef .setRole (BeanDefinition .ROLE_INFRASTRUCTURE );
76
-
77
73
ManagedList <Object > resolvers = new ManagedList <Object >(4 );
78
74
resolvers .setSource (context .extractSource (element ));
79
75
String [] names = new String [] {"jsp" , "tiles" , "bean-name" , "freemarker" , "velocity" , "groovy" , "bean" , "ref" };
@@ -122,28 +118,32 @@ else if ("bean-name".equals(name)) {
122
118
resolvers .add (resolverBeanDef );
123
119
}
124
120
125
- List <Element > elementList = DomUtils .getChildElementsByTagName (element , new String [] {"content-negotiation" });
126
- if (elementList .isEmpty ()) {
121
+ String beanName = VIEW_RESOLVER_BEAN_NAME ;
122
+ RootBeanDefinition compositeResolverBeanDef = new RootBeanDefinition (ViewResolverComposite .class );
123
+ compositeResolverBeanDef .setSource (source );
124
+ compositeResolverBeanDef .setRole (BeanDefinition .ROLE_INFRASTRUCTURE );
125
+
126
+ names = new String [] {"content-negotiation" };
127
+ List <Element > contentnNegotiationElements = DomUtils .getChildElementsByTagName (element , names );
128
+ if (contentnNegotiationElements .isEmpty ()) {
127
129
compositeResolverBeanDef .getPropertyValues ().add ("order" , 0 );
128
130
compositeResolverBeanDef .getPropertyValues ().add ("viewResolvers" , resolvers );
129
131
}
130
- else if (elementList .size () == 1 ) {
131
- BeanDefinition beanDef = createContentNegotiatingViewResolver (elementList .get (0 ), context );
132
+ else if (contentnNegotiationElements .size () == 1 ) {
133
+ BeanDefinition beanDef = createContentNegotiatingViewResolver (contentnNegotiationElements .get (0 ), context );
132
134
beanDef .getPropertyValues ().add ("viewResolvers" , resolvers );
133
135
ManagedList <Object > list = new ManagedList <Object >(1 );
134
136
list .add (beanDef );
135
137
136
138
compositeResolverBeanDef .getPropertyValues ().add ("order" , Ordered .HIGHEST_PRECEDENCE );
137
139
compositeResolverBeanDef .getPropertyValues ().add ("viewResolvers" , list );
138
140
}
139
- else if (elementList .size () > 1 ) {
141
+ else if (contentnNegotiationElements .size () > 1 ) {
140
142
throw new IllegalArgumentException ("Only one <content-negotiation> element is allowed." );
141
143
}
142
144
143
- String beanName = VIEW_RESOLVER_BEAN_NAME ;
144
145
context .getReaderContext ().getRegistry ().registerBeanDefinition (beanName , compositeResolverBeanDef );
145
146
context .registerComponent (new BeanComponentDefinition (compositeResolverBeanDef , beanName ));
146
-
147
147
context .popAndRegisterContainingComponent ();
148
148
return null ;
149
149
}
0 commit comments