Re: Wicket-Seam Integration
Hi Cemal, I am sorry because the delay I was on vacations until today .. I will start the thread tomorrow and i will send you the link. Thanks for your interest. Sorry about my bad English. Regards, Frank. On Nov 26, 2007 7:34 AM, jweekend [EMAIL PROTECTED] wrote: Frank, I have passed on a link to this thread (and to your blog) to a people I know who use or are interested in Seam. Did you start a thread on the Seam forum about your contribution? Could you please send me the link (a search for Wicket on the JBoss forums didn't return what I was looking for) as I would be interested to see the reaction of the Seam community to being given the opportunity to use Wicket instead of JSF. Regards - Cemal http://jWeekend.co.uk http://jWeekend.co.uk Frank Martínez-3 wrote: Hi Cemal, Thanks for your interest and words! I am a Seam developer and I started this project because i am interested in use Wicket in the view layer, but i already have a lot of the logic in Seam components and EJBs. I am not an expert Wicket user, but is a fact that Wicket is better than JSF in my experience. Regards, Frank. On Nov 22, 2007 7:01 PM, jweekend [EMAIL PROTECTED] wrote: Frank, This is precisely the type of information I was looking for, thank you. It may also give a few Wicket users more reason to have a play. My initial thoughts are in line with yours; this will probably be a bigger help to Seam users - who can now choose between Wicket's excellent and easy to use/extend features and the more cumbersome (but JEE standard) JSF, than to the Wicket users. However, this new integration possibility is clearly not a bad thing for anyone concerned/affected anyway. Eventually, I expect the Wicket developers/users will discover/invent ways to benefit from some of Seam's features as well, even if it's only for its tight integration with jBPM (and Drools?) and of course, MDBs and SBs. The webbeans JSR's success will no doubt have some influence on this. Personally, I appreciate having such options (form a Wicket user perspective) and thank you for making such an integration/possibility available. Regards - Cemal http://jWeekend.co.uk http://jWeekend.co.uk Frank Martínez-3 wrote: Hi Eelco, On Nov 22, 2007 2:44 PM, Eelco Hillenius [EMAIL PROTECTED] wrote: Thanks for explaining. A few questions... Why i do not use proxies: 1. Seam injected Ejbs and JNDI resources are already proxies, so i don't want a proxy of the proxy of the proxy .. 2. Because proxies are not outjection frendly in this case. Pardon me for maybe not getting it, but I don't really understand how outjection would help Wicket developers. After all, everything works with regular Java objects, so when I did the first pass of Seam integration, I didn't really see the use case for 'exporting back' values to the seam context. Isn't it enough to change the values (which are passed by reference) if you want to have changes applied? I somewhat understand the merit of outjection if you pass around request parameters from request to request and if you don't work with a construct like Wicket's models, but I'm missing the benefit of outjection for Wicket applications. Would it be possible to give us a short primer on what outjection is and what it is good for when building Wicket webapps? Remember that there are many stateful contexts in Seam, not only the session or request, but also Business process context and conversation context which has no equivalent in other frameworks. Oujection is the possibility to export references from a component to one of the stateful contexts. For example you can export any value from a wicket page to a running business process which is accessed by other web application too. 3. Because it is important that you can inject/outject null references. Why is that important? If it is memory consumption, those proxies null their references at the end of a request. Thanks, Eelco The injection/outjection of null references importance is not related with memory consumption: Some times you need to take decisions based on the value of an injected resource and sometimes the null value is a meaningful case in your logic. Specially if you are using injected values coming form other complex components/services. The same applies if you want to tell to other external component that it must set to null some shared variable. Maybe wicket-seam integration is more important to Seam users than to wicket users :( Maybe wicket is very well without seam at all, but i think seam users appreciate good alternatives to JSF. And Wicket is a very good alternative. Regards, Frank. -- Frank D. Martínez M. Asimov Technologies Ltda. Blog: http
Re: Wicket-Seam Integration
Hi guys, I posted more documentation about the wicket-seam example project: http://www.ibstaff.net/fmartinez/?p=43 -- Frank D. Martínez M. Asimov Technologies Ltda. Blog: http://www.ibstaff.net/fmartinez/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Wicket-Seam Integration
Hi Eelco, On Nov 22, 2007 3:37 AM, Eelco Hillenius [EMAIL PROTECTED] wrote: On Nov 22, 2007 12:33 AM, Frank Martínez [EMAIL PROTECTED] wrote: Hi guys, I posted more documentation about the wicket-seam example project: http://www.ibstaff.net/fmartinez/?p=43 Cheers Frank. Say, just out of curiosity, what are your reasons for not sticking with proxies like the wicket-seam-test project does? And could you give a few highlights as to what kind of things you support and what you don't in the context of Seam? Thanks, Eelco Why i do not use proxies: 1. Seam injected Ejbs and JNDI resources are already proxies, so i don't want a proxy of the proxy of the proxy .. 2. Because proxies are not outjection frendly in this case. 3. Because it is important that you can inject/outject null references. What is supported by now: 1. Injection of seam components and context vars. - You can inject resources based in its field/method name, explicit name, type name, or even an EL expression. 2. Outjection - You can outject things to the seam context using fields and methods 3. Evaluation of EL Expressions against all seam contexts: - Using SeamContext.eval( expression ) - As a value of an @In annotation. for example you can use: @In(#{personService.count()}) private Integer count; 4. Easy access to seam contexts (Read/Write): - Using SeamContexts.set( ... ), SeamContexts.get( ... ), SeamContexts.eval( ... ) What is not supported: 1. @Name annotation on Wicket pages/components is not supported (obvious). 2. Seam injection/outjection via annotations is only supported at page level, but you can access seam context directly using SeamContext class from anywhere. Cheers, Frank -- Frank D. Martínez M. Asimov Technologies Ltda. Blog: http://www.ibstaff.net/fmartinez/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Wicket-Seam Integration
Hi Eelco, On Nov 22, 2007 2:44 PM, Eelco Hillenius [EMAIL PROTECTED] wrote: Thanks for explaining. A few questions... Why i do not use proxies: 1. Seam injected Ejbs and JNDI resources are already proxies, so i don't want a proxy of the proxy of the proxy .. 2. Because proxies are not outjection frendly in this case. Pardon me for maybe not getting it, but I don't really understand how outjection would help Wicket developers. After all, everything works with regular Java objects, so when I did the first pass of Seam integration, I didn't really see the use case for 'exporting back' values to the seam context. Isn't it enough to change the values (which are passed by reference) if you want to have changes applied? I somewhat understand the merit of outjection if you pass around request parameters from request to request and if you don't work with a construct like Wicket's models, but I'm missing the benefit of outjection for Wicket applications. Would it be possible to give us a short primer on what outjection is and what it is good for when building Wicket webapps? Remember that there are many stateful contexts in Seam, not only the session or request, but also Business process context and conversation context which has no equivalent in other frameworks. Oujection is the possibility to export references from a component to one of the stateful contexts. For example you can export any value from a wicket page to a running business process which is accessed by other web application too. 3. Because it is important that you can inject/outject null references. Why is that important? If it is memory consumption, those proxies null their references at the end of a request. Thanks, Eelco The injection/outjection of null references importance is not related with memory consumption: Some times you need to take decisions based on the value of an injected resource and sometimes the null value is a meaningful case in your logic. Specially if you are using injected values coming form other complex components/services. The same applies if you want to tell to other external component that it must set to null some shared variable. Maybe wicket-seam integration is more important to Seam users than to wicket users :( Maybe wicket is very well without seam at all, but i think seam users appreciate good alternatives to JSF. And Wicket is a very good alternative. Regards, Frank. -- Frank D. Martínez M. Asimov Technologies Ltda. Blog: http://www.ibstaff.net/fmartinez/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Wicket-Seam Integration
Hi All, Here is the Wicket-Seam implementation (First attempt). it supports Injection, Outjection, EL Expressions (Not in the html but just in the code). And full access to all seam contexts. In order to build it you need to put it in trunk/src/jdk-1.5 and run maven on trunk/src/jdk-1.5/wicket-seam. There is also an example project (netbeans 6.0) you can build it with ant: (ant ear) and deploy the ear into glassfish v2 (IMPORTANT edit the project.properties and private.properties before. There is the glassfish path.) The wicket-seam is: http://www.ibstaff.net/fmartinez/wp-content/uploads/2007/11/wicket-seam.zip The example is: http://www.ibstaff.net/fmartinez/wp-content/uploads/2007/11/wicket-seam-project.zip My sourceforge id is mnesarco. Any comments are appreciated. Thanks, Frank. -- Frank D. Martínez M. Asimov Technologies Ltda. Blog: http://www.ibstaff.net/fmartinez/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Wicket-Seam Integration
Hi Eelco, The wicket-seam project is already maven2 and is integrated as wicket-guice (Is based on its structure and pom.xml). The example is ant based not maven2, but i can fix it. Cheers, Frank. On Nov 19, 2007 1:03 PM, Eelco Hillenius [EMAIL PROTECTED] wrote: Hi Frank, The wicket-seam is: http://www.ibstaff.net/fmartinez/wp-content/uploads/2007/11/wicket-seam.zip The example is: http://www.ibstaff.net/fmartinez/wp-content/uploads/2007/11/wicket-seam-project.zip I'm afraid I don't have the time to check this out myself right now, but I hope others on this list might. My sourceforge id is mnesarco. I added you to the wicket-stuff project (http://sourceforge.net/projects/wicket-stuff) so you should be able to work directly on the project if you wish. If you do, I would appreciate it if you would try to support the maven 2 project file in there, so that the project can easily be build. It would be great if you could add the example project in wicket-stuff's repo as well. WDYT? Cheers, Eelco - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Frank D. Martínez M. Asimov Technologies Ltda. Blog: http://www.ibstaff.net/fmartinez/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Wicket-Seam Integration
Hi All, I committed the seam-integration module to the wicket-stuff repository. And published the example application in my blog until i change it to maven 2. I Will add more documentation soon. Any comments are appreciated. Thanks, Frank. -- Frank D. Martínez M. Asimov Technologies Ltda. Blog: http://www.ibstaff.net/fmartinez/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Seam Integration and Injection
Hi Igor and Eelco, I studied wicket-seam code and i understand its injection pattern pretty well. But i want to implement the seam integration by other approach because there are some special things: 1. With SeamProxyTargetLocator is not possible to inject null values. 2. in IComponentInstantiationListener.onAfterRender all component attributes are null (I dont know why). I want to do all injections every request and outject and cleanup any previous injected resource after every request. Is it possible? Thanks, Frank. On Nov 16, 2007 12:53 PM, Eelco Hillenius [EMAIL PROTECTED] wrote: On Nov 16, 2007 5:22 AM, Frank Martínez [EMAIL PROTECTED] wrote: Hi, I am working with jboss seam by about one year, now i am developing a wicket-seam integration based on wicket-seam-test. Good to hear someone is working on it! I will send it to the wicket developers when i finish it. You can work directly on it if you like. If you give us a source forge id, we can give you write access and the project is yours :-) Eelco - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Frank D. Martínez M. Asimov Technologies Ltda. Blog: http://www.ibstaff.net/fmartinez/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Wicket-Seam Desired Architecture
The image is: http://www.ibstaff.net/fmartinez/wp-content/uploads/2007/11/arch.jpg On Nov 18, 2007 10:46 AM, Martijn Dashorst [EMAIL PROTECTED] wrote: Attachments are filtered. Please upload to a server (for example http://papernapkin.org/pastebin/) and provide a link. Martijn On Nov 18, 2007 4:39 PM, Frank Martínez [EMAIL PROTECTED] wrote: Hi All, This (Attached image) is my vision of the Wicket-Seam Integration. I am working on it and i appreciate any comments. Regards, -- Frank D. Martínez M. Asimov Technologies Ltda. Blog: http://www.ibstaff.net/fmartinez/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Buy Wicket in Action: http://manning.com/dashorst Apache Wicket 1.3.0-rc1 is released Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.0-rc1/ -- Frank D. Martínez M. Asimov Technologies Ltda. Blog: http://www.ibstaff.net/fmartinez/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Seam Integration and Injection
Hi, I am working with jboss seam by about one year, now i am developing a wicket-seam integration based on wicket-seam-test. I will send it to the wicket developers when i finish it. I am not expert on Wicket and i have some questions: 1. Are Wicket Components instantiated on every request? 2. In the wicket-guice you inject external resources using IComponentInstantiationListener, but may i use IComponentOnBeforeRenderListener as well? 3. I plan to implement outjection using IComponentOnAfterRenderListener, is it right? My idea is: IComponentOnBeforeRenderListener.onBeforeRender - Inject resources from Seam contexts IComponentOnAfterRenderListener.onAfterRender - Outject resources to Seam context - Cleanup injected references to null Please tell me if i am in the wrong way. Thanks, Frank D. Martínez M. Asimov Technologies Ltda. Blog: http://www.ibstaff.net/fmartinez/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]