Issue Details (XML | Word | Printable)

Key: SPR-3546
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Minor Minor
Assignee: Juergen Hoeller
Reporter: Torsten Juergeleit
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Spring Framework

Tooling API: Missing bean name isn't reported via ProblemReporter API in org.springframework.aop.config.ConfigBeanDefinitionParser.parseAdvisor()

Created: 03/Jun/07 05:27 PM   Updated: 12/Jun/07 06:12 AM
Component/s: SpringCORE
Affects Version/s: 2.0.5, 2.1 M1, 2.1 M2
Fix Version/s: 2.0.6, 2.1 M3

Time Tracking:
Not Specified


 Description  « Hide
org.springframework.aop.config.ConfigBeanDefinitionParser.parseAdvisor() doen't check for a missing bean name in an advisor definition.
Instead this is done ine the RuntimeBeanReference's constructor which isn't aware of the tooling API's ProblemReporter API.

java.lang.IllegalArgumentException: 'beanName' must not be empty
at org.springframework.util.Assert.hasText(Assert.java:160)
at org.springframework.beans.factory.config.RuntimeBeanReference.<init>(RuntimeBeanReference.java:58)
at org.springframework.beans.factory.config.RuntimeBeanReference.<init>(RuntimeBeanReference.java:46)
at org.springframework.aop.config.ConfigBeanDefinitionParser.parseAdvisor(ConfigBeanDefinitionParser.java:184)
at org.springframework.aop.config.ConfigBeanDefinitionParser.parse(ConfigBeanDefinitionParser.java:146)
at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:69)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1114)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1104)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:133)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:90)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:458)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:353)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:303)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:280)


 All   Comments   Work Log   Change History   FishEye   Builds      Sort Order: Ascending order - Click to sort in descending order
Juergen Hoeller added a comment - 12/Jun/07 06:12 AM
We do actually check the pointcut bean name via the ProblemReporter, but then subsequently run into this RuntimeBeanReference assertion...

I've revised this accordingly, mainly adding a "pointcutBeanName != null" check before registering the RuntimeBeanReference.

Juergen