Gang, I'm in the process of writing code to allow Vaadin powered web UIs be written using Qi4j.
Vaadin allows to write heavy web UIs using plain java. To get a feeling of the result put this in your browser http://demo.vaadin.com/sampler/ Vaadin use GWT in the browser but UI state is handled server side. I realize it can sounds weird but hey, it takes all kinds to make a world. Personnaly I can think of good use cases as administratives UIs used by few peoples. Now on the real subject, getting Qi4j in the mix. A Vaadin application is a descendent of HttpServlet and its state is kept in the HttpSession. So it needs to be Serializable. I pushed some code in qi4j-lib- vaadin few days ago that allows to create a Vaadin application instanciated by ObjectBuilderFactory, the simplest case. It works well but do not support serialization. I did not make any test for now but I already have some questions to help me understand if Qi4j and Vaadin can work together. If my Vaadin app is a Qi4j instanciated Object and use a Qi4j injection will it survive the serialization/deserialization? If the dependency is a plain old object injected with @Uses for example and that this object is Serializable I think it could work. If it is a Composite I think it does not work. It seems that Spring allows transient injected objects to be reinjected upon deserialization. This page http://www.streamhead.com/services-vaadin/ is about Vaadin & Spring integration and state: "@Autowired annotation is that it will inject dependencies every time a Java object is constructed. Also when it is de- serialized". I would like Qi4j to provide such facility, in other words, allowing Qi4j instanciated _Objects_ to be (de)serialized and their injections to be reinjected after deserialization using the java transient mechanism. Can someone enlight me about what work would be needed to make the Qi4j runtime able to fullfill this need? Paul _______________________________________________ qi4j-dev mailing list [email protected] http://lists.ops4j.org/mailman/listinfo/qi4j-dev

