lievendoclo / Valkyrie-RCP

A fork from http://www.gitorious.org/valkyrie-rcp
Apache License 2.0
23 stars 10 forks source link

Autowired properties on inner classes #5

Closed Nopalin closed 11 years ago

Nopalin commented 11 years ago

I dont know if this is the right place to public this question, but i dont know where to ask it. I am a active user of spring-rcp, and now i want to learn valkyrie. It has many changes that are not documented, not only in functionality but in concepts too. I dont not understand all of them very well until know, but writing and debugging code is a fact that i am doing.

My question is more about spring framework. Now in valkyrie almost all properties in Forms, Views, Widgets, Dialogs, etc are autowired, and if i remember correctly the bean must be managed to be a candidate for that purpose, this tell us that we need to define all as managed beans growing our configuration classes to the infinite. Also this restrict us to define inner classes, which i use a lot. That's one part, the second one is that spring allow us to annotate an object with @Configurable, which says that this lets the container to treat that objects as managed without being one, in other words, inject properties, notify of aware interfaces, events, etc. Based on the doc, this is possible using aop overriden the new operator for a factory class and then instantiate the classes (that's what i understood). Ok until here everything is fine, but then i ecounter this:

So what is the difference? why that behaviour? Can anybody explain it? I am misunderstanding something?

By now, i will make work-around for dialog, but i'd appreciate any help to get me in the correct path.

thanks for your time.

cmadsen commented 11 years ago

Do you have spring aspectj running in your own pom files?

If not you can dig it out of the valkyrie pom files look for aspectj-maven-plugin.

You need it to get the @Configurable annotation to run.

Nopalin commented 11 years ago

Yes i have it. In fact my doubt exist because in the inner class on LoginCommand it works perfectly, but declared one on a View is not.

cmadsen commented 11 years ago

Is the inner class tagged with @Configurable