Ok, I've got the OWB examples working now with my local patched version of OWB (patches submitted to JIRA). Also, note I've renamed the library to "wicket-cdi":
http://svn.carmanconsulting.com/public/wicket-cdi/trunk On Sat, Mar 27, 2010 at 1:39 AM, James Carman <jcar...@carmanconsulting.com>wrote: > I've got a working example with Weld. Check > http://svn.carmanconsulting.com/public/wicket-candi/trunk > > There's a weld-example subdirectory in there. Currently, I don't have the > conversation stuff working, but the injections appear to be working. > Unfortunately, the implementation doesn't work with OWB. :( I'll see what's > causing it and see if we can get them both working. Good luck. > > On Fri, Mar 26, 2010 at 6:35 PM, Ericksen, Mark W (IS) < > mark.erick...@ngc.com> wrote: > >> Thanks Josh. >> >> With your idea in mind I dug deeper into what Weld's support for Wicket >> is/was. >> In the Weld download is a jar called weld-wicket.jar that has a >> WeldApplication class for doing what you suggest. However following the >> instruction for using their integration code only got me an error when >> including their jar in my project. >> java.lang.NoSuchMethodError: >> org.jboss.weld.Container.services()Lorg/jboss/weld/bootstrap/api/Service >> Registry; >> >> So I included the weld-wicket code in my simple project to see what was >> going on. Their integration solution provides a new RequestCycle class >> called WeldRequestCycle. In this class they attempt to preserve a long >> running conversation through weld/wicket trickery. There's a line of >> code in a few places that causes a runtime exception that stops the >> request cycle. >> >> ConversationContext conversationContext = >> Container.instance().services().get(ContextLifecycle.class).getConversat >> ionContext(); >> >> These are Weld classes, but stepping through the debugger shows it goes >> go back through the Wicket filter. Therefore I don't know who is at >> fault here. Maybe something in Wicket changed that is causing Weld to >> croak or Weld in Glassfish is the culprit. Either way I really don't >> care about long running conversation support at this point so I removed >> the class and any dependency on it in my modified version of the >> weld-wicket code base. >> >> With that exception out of the way and changing my application to >> subclass from WeldApplication, I have simple injection working with >> Weld. Yippee! I'll cross my fingers there are no other side effects. >> >> Problem is now what? I guess I can post this with the Seam/Weld team >> and hope someone updates the Weld-Wicket integration. Or I can hope >> someone from the Wicket team will take a look and see if it's something >> in the latest version of Wicket that caused this to break and could do a >> patch. >> >> Anyone? :) >> >> -Mark >> >> -----Original Message----- >> From: Josh Chappelle [mailto:jchappe...@4redi.com] >> Sent: Friday, March 26, 2010 2:59 PM >> To: users@wicket.apache.org >> Subject: RE: Wicket and JEE6 >> >> Mark, >> >> Try taking a look at the addComponentInstantiationListener method on the >> Application class. It takes one parameter of type >> IComponentInstantiationListener and that interface has one method which >> is >> onInstantiation(Component component). Every time a component gets >> instantiated it will be handed to this listener so maybe you can write >> your >> own dependency injection code there. I would think that is what the >> WeldApplication is doing under the covers but since it isn't working for >> you >> then you may have more luck just writing it yourself. The other trick is >> to >> making this work is obtaining a reference to your weld context. I use >> Spring >> so I'm not familiar with what it takes with Weld. >> >> I hope this helps. >> >> Thanks, >> >> Josh >> >> -----Original Message----- >> From: Ericksen, Mark W (IS) [mailto:mark.erick...@ngc.com] >> Sent: Friday, March 26, 2010 11:52 AM >> To: users@wicket.apache.org >> Subject: Wicket and JEE6 >> >> Hi, >> >> >> >> I'm building a new java project using all JEE6 technologies. That means >> I'm using JPA, CDI, and JSF2 for example. Each layer came together great >> with fully annotated classes until I got to the JSF2 layer which drove >> me crazy because JSF wants to mess with HTML element ids and names. In >> looking for alternative view layers I came across Wicket. The >> technology seems great in terms of its philosophy to keep presentation >> code separate, except I'm not finding much information about its support >> for JEE6 technologies. >> >> >> >> In particular searches for support for CDI (aka WebBeans, aka Weld) only >> got me to an old example in the Seam project. I cannot find any current >> references to using Weld within a Wicket project where I can use >> annotations such as @Inject, @Named, @ApplicationScoped, etc. >> >> >> >> So my very first question for this list of experts is this: Is there >> currently any support for Weld in Wicket? Downloading the Weld project >> from JBoss, I included the weld-wicket.jar into my project and my >> application is subclassed from WeldApplication. No such luck. Any >> class injected using @Inject is still null. >> >> >> >> I am using GlassFish v3 which has all the JEE6 goodies included. >> Developing with Eclipse. >> >> >> >> Any help is *greatly* appreciated! >> >> >> >> -Mark >> >> >> >> >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >> For additional commands, e-mail: users-h...@wicket.apache.org >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >> For additional commands, e-mail: users-h...@wicket.apache.org >> >> >