How to use new Connector-architecture with subclasses of LegacyComponent?

Hi,

I have written a TagCloud-widget for Vaadin 6, which I want to port to Vaadin 7. Unfortunately, AbstractSelect (from which I inherit) implements LegacyComponent in Vaadin 7.0.0.beta11. As I don’t want to use deprecated APIs in order to be on the safe route: How can I use the Connector-architecture of Vaadin 7 while keeping to inherit from AbstractSelect? I don’t want to do all the Item-transportation and event-handling myself either. Is there a way or am I forced to use LegacyComponent as well?

In the latter case: When will the deprecated APIs get removed? And when will the LegacyComponent-implementing classes be ported to use the new Architecture?

Hi,

AbstractSelect is not yet fully ported to use state and RPC which unfortunately puts some constraints on your component. If you are only adding your own features on top of an existing component it will not affect you as you are then able to use state and RPC for your component and just let the parent class use the old UIDL for whatever it uses UIDL. If you on the other hand depend on what AbstractSelect paints (e.g. items) you need to use LegacyComponent and updateFromUIDL until AbstractSelect has been completely ported.

Right now we are only focusing on fixing critical issues to be able to get a 7.0.0 version out. After that we will, among other things, start looking into porting the remaining components. Deprecated API is only removed in major releases so you are safe to use it at least until Vaadin 8.

Ok, thank you, so I will go the LegacyComponent-way.