Yes, I can. Now, how about the second part of it - IoC...

One of "kicks" for wicket was the possibility of extremely tight IoC integration. The user is able to configure pages and components in IoC config files. My current strategy was to do it - I was configuring all the pages in spring context and injectng some components into them. Less important components (borders, panels, etc.) were created "by hand" in java code. The only IoC-aware objects were the page factory and application.

The reason behind it is a product customization strategy - we sell product, but do not sell source. However, client should be able to customize the app - IoC contexts and db scripts are placed outside jar/war and modifiable. By modifying these, client can masivelly customize application - if we place e.g. registration form in spring context, client will be able to do suppply a new implementation, e.g. adding a field or simply modifying validator behavior.

Without possibility of creating component without the parent, we would have to configure all the components in IoC, which is a masacre.

Is it really necessary to remove add() ? I understand that the features like line-precise fail or getPath() in constructor will not work if one of the components in the chain will use it, but what about the people who don't need them? Is there no possibility of, say, throwing an exception if the parent is unknown in getPath() or not giving line-precise messages when it is not possible?

Besides the IoC issue, it is also a problem of compatibility with previous versions... This is very core API, guys...

Cheers,
Kamil

Reply via email to