History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: IDEADEV-15790
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Dmitry Avdeev
Reporter: Taras Tielkes
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
IDEA: Development

No ref="" completion when property is compound

Created: 28 Mar 07 14:39   Updated: 30 Mar 07 16:02
Component/s: J2EE.Spring
Fix Version/s: Selena 6791

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown

Build: 6,784
Fixed in build: 6,790


 Description  « Hide
When a <property> element is compound (eg name="foo.bar.baz"), completion for the value of the "ref" attribute does not work.

What happens is:
1) SpringBeanResolveConverter.PropertyBean#getRequiredClass
2) SpringBeanResolveConverter#getValueClasses
3) SpringBeanUtil#getRequiredClass
4) SpringPropertyImpl#getRequiredType
5) ...(DOM API)...
6) BeanPropertyConverter#fromString

Inside BeanPropertyConverter#fromString, parameter "s" has value ="foo.bar.baz"
Method BeanPropertyConverter#resolve uses PropertyUtil.findPropertySetter, and of course it can not find "foo.bar.baz". Because of that, no 'expected type' can be found.

My understanding of DOM API and Spring plugin is limited, but would it make sense if BeanPropertyConverter#fromString would somehow delegate to BeanPropertyConverter#createReferences? Those resolve to PsiMethod (if not null), and you can make BeanProperty from that.



 All   Comments   Work Log   Change History      Sort Order:
Dmitry Avdeev - 30 Mar 07 16:02
thanks Taras. i did it in this very way