Gerhard/Mark, I just tested 1.0.6 SNAPSHOT of MyFaces CODI and injected bean in @FacesConverter via CODI @Advanced and @Inject as demonstrated in [2] below. It is evident that CODI @Advanced and @Inject is successfully injecting bean in the @FacesConverter, but this breaks PrimeFaces p:pickList p:ajax event="transfer" as I noted earlier, Issue 4908<http://code.google.com/p/primefaces/issues/detail?id=4908>in PrimeFaces Issue Tracker.
Next, I will attempt to test the fix for [1] EXTCDI-302 and use Mark's earlier suggestion, CODI BeanManagerProvider.getInstance(). getContextualReference(YourClass.class). Next reply will contain test results. [1] https://issues.apache.org/jira/browse/EXTCDI-302 [2] http://people.apache.org/~gpetracek/myfaces/codi/demos/ Below is stacktrace from the CODI @Advanced test that I mentioned above. This is related to PrimeFaces Issue 4908 above. java.lang.NullPointerException at jsf.role.pf_RoleController.access$000(pf_RoleController.java:45) at jsf.role.pf_RoleController$RoleControllerConverter.getAsObject(pf_RoleController.java:678) at org.primefaces.component.picklist.PickList.populateModel(PickList.java:425) at org.primefaces.component.picklist.PickList.queueEvent(PickList.java:401) at org.primefaces.component.behavior.ajax.AjaxBehaviorRenderer.decode(AjaxBehaviorRenderer.java:42) at javax.faces.component.behavior.ClientBehaviorBase.decode(ClientBehaviorBase.java:64) at org.primefaces.renderkit.CoreRenderer.decodeBehaviors(CoreRenderer.java:377) at org.primefaces.component.picklist.PickListRenderer.decode(PickListRenderer.java:50) at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:467) at javax.faces.component.UIInput.decode(UIInput.java:352) at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1377) at javax.faces.component.UIInput.processDecodes(UIInput.java:188) at org.apache.myfaces.context.servlet.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:731) at org.apache.myfaces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:214) at javax.faces.component.UIComponent.visitTree(UIComponent.java:932) at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1165) at javax.faces.component.UIComponent.visitTree(UIComponent.java:960) at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1165) at javax.faces.component.UIComponent.visitTree(UIComponent.java:960) at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1165) at org.primefaces.component.tabview.TabView.visitTree(TabView.java:409) at javax.faces.component.UIComponent.visitTree(UIComponent.java:960) at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1165) at javax.faces.component.UIForm.visitTree(UIForm.java:354) at javax.faces.component.UIComponent.visitTree(UIComponent.java:960) at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1165) at javax.faces.component.UIComponent.visitTree(UIComponent.java:960) at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1165) at javax.faces.component.UIComponent.visitTree(UIComponent.java:960) at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1165) at javax.faces.component.UIComponent.visitTree(UIComponent.java:960) at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1165) at javax.faces.component.UIComponent.visitTree(UIComponent.java:960) at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1165) at org.apache.myfaces.context.servlet.PartialViewContextImpl.processPartialExecute(PartialViewContextImpl.java:420) at org.apache.myfaces.context.servlet.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:401) at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:88) at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:88) at javax.faces.component.UIViewRoot$ApplyRequestValuesPhaseProcessor.process(UIViewRoot.java:1488) at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1372) at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:759) at org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:38) at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170) at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.omnifaces.filter.GzipResponseFilter.doFilter(GzipResponseFilter.java:148) at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:75) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at pf.LoginFilter.doFilter(LoginFilter.java:175) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) On Wed, Nov 21, 2012 at 5:11 AM, Gerhard Petracek < gerhard.petra...@gmail.com> wrote: > the jsf2 module of codi is tested with jsf 2.0.x and 2.1.x > > regards, > gerhard > > http://www.irian.at > > Your JSF/JavaEE powerhouse - > JavaEE Consulting, Development and > Courses in English and German > > Professional Support for Apache MyFaces > > > > 2012/11/21 Howard W. Smith, Jr. <smithh032...@gmail.com> > > > Gerhard, > > > > I definitely prefer [1] (JAR download), thanks. > > > > Interesting...I must have been multitasking big time while migrating to > > TomEE/CDI, because I downloaded jsf1.2 1.0.5 version of CODI; that's the > > filename of the JAR I downloaded. > > > > This 1.0.6 SNAPSHOT that is now available, is this jsf1.2 or jsf2.0? I > > hope jsf2.0, since my app has been jsf2.1 ever since the start (a little > > over 1 year ago). > > > > Thanks, > > Howard > > > > > > On Wed, Nov 21, 2012 at 4:40 AM, Gerhard Petracek < > > gerhard.petra...@gmail.com> wrote: > > > >> hi howard, > >> > >> #1: > >> i've updated the ticket - thx! > >> > >> #2: > >> via maven (to update a local snapshot build your application with > >> the maven-parameter -U) > >> or > >> download it from [1] > >> or > >> checkout codi and build it locally (see the description in the wiki) > >> > >> regards, > >> gerhard > >> > >> [1] > >> > https://repository.apache.org/content/groups/snapshots/org/apache/myfaces/extensions/cdi/ > >> > >> http://www.irian.at > >> > >> Your JSF/JavaEE powerhouse - > >> JavaEE Consulting, Development and > >> Courses in English and German > >> > >> Professional Support for Apache MyFaces > >> > >> > >> > >> 2012/11/21 Howard W. Smith, Jr. <smithh032...@gmail.com> > >> > >>> Gerhard, > >>> > >>> I just registered with username that matches username of my email > >>> address (above). > >>> > >>> Hmmm, now I need to find out how I can get the latest snapshot. Can I > >>> locate on Maven Central repository? > >>> > >>> Thanks, > >>> Howard > >>> > >>> > >>> On Wed, Nov 21, 2012 at 4:13 AM, Gerhard Petracek < > >>> gerhard.petra...@gmail.com> wrote: > >>> > >>>> hi howard, > >>>> > >>>> yes - i've fixed EXTCDI-302 already -> if you like, you can test it > >>>> with the current snapshot (just ensure that you have the latest > snapshot). > >>>> if you have an apache-jira account, i'll update the ticket so that you > >>>> are listed as the reporter of it. > >>>> > >>>> regards, > >>>> gerhard > >>>> > >>>> http://www.irian.at > >>>> > >>>> Your JSF/JavaEE powerhouse - > >>>> JavaEE Consulting, Development and > >>>> Courses in English and German > >>>> > >>>> Professional Support for Apache MyFaces > >>>> > >>>> > >>>> 2012/11/21 Howard W. Smith, Jr. <smithh032...@gmail.com> > >>>> > >>>> Gerhard, > >>>>> > >>>>> Interesting. > >>>>> > >>>>> > >>>>> - MyFaces CODI <https://issues.apache.org/jira/browse/EXTCDI> > >>>>> - EXTCDI-302 <https://issues.apache.org/jira/browse/EXTCDI-302> > >>>>> > >>>>> > >>>>> is a new issue that you just created and resolved per this email I > >>>>> just sent? :) > >>>>> > >>>>> Thanks, > >>>>> Howard > >>>>> > >>>>> > >>>>> > >>>>> On Wed, Nov 21, 2012 at 2:55 AM, Gerhard Petracek < > >>>>> gerhard.petra...@gmail.com> wrote: > >>>>> > >>>>>> please have a look at [1] and [2]. > >>>>>> > >>>>>> regards, > >>>>>> gerhard > >>>>>> > >>>>>> [1] https://issues.apache.org/jira/browse/EXTCDI-302 > >>>>>> [2] http://people.apache.org/~gpetracek/myfaces/codi/demos/ > >>>>>> > >>>>>> http://www.irian.at > >>>>>> > >>>>>> Your JSF/JavaEE powerhouse - > >>>>>> JavaEE Consulting, Development and > >>>>>> Courses in English and German > >>>>>> > >>>>>> Professional Support for Apache MyFaces > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> 2012/11/20 Mark Struberg <strub...@yahoo.de> > >>>>>> > >>>>>>> CDI injection using @Advanced should work perfectly fine. We tested > >>>>>>> this excessively and use it on several containers in production. > >>>>>>> > >>>>>>> I'm curious why it doesn't work for you. > >>>>>>> > >>>>>>> LieGrue, > >>>>>>> strub > >>>>>>> > >>>>>>> > >>>>>>> ----- Original Message ----- > >>>>>>> > From: "Howard W. Smith, Jr." <smithh032...@gmail.com> > >>>>>>> > To: MyFaces Discussion <users@myfaces.apache.org>; Rafael > Pestano > >>>>>>> <rmpest...@yahoo.com.br> > >>>>>>> > Cc: > >>>>>>> > Sent: Tuesday, November 20, 2012 3:13 PM > >>>>>>> > Subject: Re: Migrating to CDI: injecting stateless/facade in > >>>>>>> Converter via facescontext > >>>>>>> > > >>>>>>> > Rafael, > >>>>>>> > > >>>>>>> > I saw that page about CODI @Advanced. :) > >>>>>>> > > >>>>>>> > I tried CODI @Advanced, but CDI managed bean was not injected voa > >>>>>>> @Inject, > >>>>>>> > and then I tried to inject Stateless EJB via @Inject, and that > >>>>>>> stateless > >>>>>>> > EJB was not injected either. > >>>>>>> > > >>>>>>> > Thanks, > >>>>>>> > Howard > >>>>>>> > > >>>>>>> > On Tue, Nov 20, 2012 at 9:02 AM, Rafael Pestano > >>>>>>> > <rmpest...@yahoo.com.br>wrote: > >>>>>>> > > >>>>>>> >> you can also use CODI @Advanced and then inject "anything" in > the > >>>>>>> >> converter, see [1]. > >>>>>>> >> > >>>>>>> >> i hope it helps. > >>>>>>> >> > >>>>>>> >> [1]: > >>>>>>> >> > >>>>>>> > https://cwiki.apache.org/EXTCDI/jsf-usage.html#JSFUsage-DependencyInjection > >>>>>>> >> > >>>>>>> >> > >>>>>>> >> Att, > >>>>>>> >> > >>>>>>> >> Rafael M. Pestano > >>>>>>> >> > >>>>>>> >> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande > >>>>>>> do Sul > >>>>>>> >> Graduando em Ciência da Computação UFRGS > >>>>>>> >> http://conventionsframework.org > >>>>>>> >> > >>>>>>> >> http://rpestano.wordpress.com/ > >>>>>>> >> @realpestano > >>>>>>> >> > >>>>>>> >> > >>>>>>> >> ________________________________ > >>>>>>> >> De: "Howard W. Smith, Jr." <smithh032...@gmail.com> > >>>>>>> >> Para: Mark Struberg <strub...@yahoo.de>; MyFaces Discussion < > >>>>>>> >> users@myfaces.apache.org> > >>>>>>> >> Cc: "us...@openejb.apache.org" <us...@openejb.apache.org> > >>>>>>> >> Enviadas: Terça-feira, 20 de Novembro de 2012 11:37 > >>>>>>> >> Assunto: Re: Migrating to CDI: injecting stateless/facade in > >>>>>>> Converter via > >>>>>>> >> facescontext > >>>>>>> >> > >>>>>>> >> Interesting and noted, thanks. Yes, I did hear JSF 2.2 will > >>>>>>> allow CDI in > >>>>>>> >> facesconverter. Thanks. > >>>>>>> >> On Nov 20, 2012 8:34 AM, "Mark Struberg" > >>>>>>> > <strub...@yahoo.de> wrote: > >>>>>>> >> > >>>>>>> >> > you could also have used CODI > BeanManagerProvider#getReference > >>>>>>> to get > >>>>>>> >> > access to the bean. > >>>>>>> >> > > >>>>>>> >> > The support you need out of the box will come in JSF-2.2. > >>>>>>> >> > > >>>>>>> >> > > >>>>>>> >> > LieGrue, > >>>>>>> >> > strub > >>>>>>> >> > > >>>>>>> >> > > >>>>>>> >> > > >>>>>>> >> > ----- Original Message ----- > >>>>>>> >> > > From: "Howard W. Smith, Jr." > >>>>>>> > <smithh032...@gmail.com> > >>>>>>> >> > > To: us...@openejb.apache.org; MyFaces Discussion < > >>>>>>> >> > users@myfaces.apache.org> > >>>>>>> >> > > Cc: > >>>>>>> >> > > Sent: Tuesday, November 20, 2012 1:56 PM > >>>>>>> >> > > Subject: Re: Migrating to CDI: injecting stateless/facade > in > >>>>>>> > Converter > >>>>>>> >> > via facescontext > >>>>>>> >> > > > >>>>>>> >> > >T he goal was to inject bean in facesconverter via CDI, but > I > >>>>>>> > don't have > >>>>>>> >> > > this need anymore, since faces converter is not an eligible > >>>>>>> > injection > >>>>>>> >> > > point, so I opted to use request scoped JSF managed beans > >>>>>>> that > >>>>>>> > have > >>>>>>> >> > > facesconverter defined within the bean. That's working > fine. > >>>>>>> > Thanks. > >>>>>>> >> > > > >>>>>>> >> > > Okay, I can cc myfaces user group as well, going forward. > :-) > >>>>>>> >> > > On Nov 20, 2012 7:37 AM, "Romain Manni-Bucau" > >>>>>>> >> > > <rmannibu...@gmail.com> > >>>>>>> >> > > wrote: > >>>>>>> >> > > > >>>>>>> >> > >> i'm still not clear about your goal and where you need > >>>>>>> > injection > >>>>>>> >> > >> > >>>>>>> >> > >> maybe share a (runnable) sample to show us what you are > >>>>>>> > talking about > >>>>>>> >> > >> > >>>>>>> >> > >> side note: myfaces list can help you a lot about it too > >>>>>>> >> > >> > >>>>>>> >> > >> *Romain Manni-Bucau* > >>>>>>> >> > >> *Twitter: @rmannibucau > >>>>>>> > <https://twitter.com/rmannibucau>* > >>>>>>> >> > >> *Blog: **http://rmannibucau.wordpress.com/*< > >>>>>>> >> > >> http://rmannibucau.wordpress.com/> > >>>>>>> >> > >> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* > >>>>>>> >> > >> *Github: https://github.com/rmannibucau* > >>>>>>> >> > >> > >>>>>>> >> > >> > >>>>>>> >> > >> > >>>>>>> >> > >> > >>>>>>> >> > >> 2012/11/20 Howard W. Smith, Jr. > >>>>>>> > <smithh032...@gmail.com> > >>>>>>> >> > >> > >>>>>>> >> > >> > Interesting, that will allow you to get instance of > >>>>>>> > beans, if > >>>>>>> >> already > >>>>>>> >> > >> > instantiated, and that could have helped in converter, > >>>>>>> > only if > >>>>>>> >> beans > >>>>>>> >> > >> > already injected earlier? > >>>>>>> >> > >> > On Nov 20, 2012 7:11 AM, "Romain Manni-Bucau" > >>>>>>> >> > > <rmannibu...@gmail.com> > >>>>>>> >> > >> > wrote: > >>>>>>> >> > >> > > >>>>>>> >> > >> > > was thinking to > >>>>>>> >> > >> > > > >>>>>>> >> > >> > > >>>>>>> >> > >> > >>>>>>> >> > > >>>>>>> >> > >>>>>>> > http://docs.oracle.com/javaee/6/api/javax/faces/context/FacesContext.html > >>>>>>> >> > >> > > getAttributes() > >>>>>>> >> > >> > > method (depend a bit on your real need) > >>>>>>> >> > >> > > > >>>>>>> >> > >> > > *Romain Manni-Bucau* > >>>>>>> >> > >> > > *Twitter: @rmannibucau > >>>>>>> > <https://twitter.com/rmannibucau>* > >>>>>>> >> > >> > > *Blog: **http://rmannibucau.wordpress.com/*< > >>>>>>> >> > >> > > http://rmannibucau.wordpress.com/> > >>>>>>> >> > >> > > *LinkedIn: > >>>>>>> > **http://fr.linkedin.com/in/rmannibucau* > >>>>>>> >> > >> > > *Github: https://github.com/rmannibucau* > >>>>>>> >> > >> > > > >>>>>>> >> > >> > > > >>>>>>> >> > >> > > > >>>>>>> >> > >> > > > >>>>>>> >> > >> > > 2012/11/20 Howard W. Smith, Jr. > >>>>>>> > <smithh032...@gmail.com> > >>>>>>> >> > >> > > > >>>>>>> >> > >> > > > Faces context? Please explain. > >>>>>>> >> > >> > > > On Nov 20, 2012 1:56 AM, "Romain > >>>>>>> > Manni-Bucau" > >>>>>>> >> > > < > >>>>>>> >> > >> rmannibu...@gmail.com> > >>>>>>> >> > >> > > > wrote: > >>>>>>> >> > >> > > > > >>>>>>> >> > >> > > > > You cant use faces context? > >>>>>>> >> > >> > > > > Le 20 nov. 2012 03:01, "Howard W. > >>>>>>> > Smith, Jr." > >>>>>>> >> > > < > >>>>>>> >> > >> > smithh032...@gmail.com> > >>>>>>> >> > >> > > a > >>>>>>> >> > >> > > > > écrit : > >>>>>>> >> > >> > > > > > >>>>>>> >> > >> > > > > > For minimal changes, I'm adding > >>>>>>> > FacesConverter > >>>>>>> >> > > to JSF > >>>>>>> >> > >> requestscoped > >>>>>>> >> > >> > > > > > managedBean's as per the > >>>>>>> > Stackoverflow answer > >>>>>>> >> > > below: > >>>>>>> >> > >> > > > > > > >>>>>>> >> > >> > > > > > How can I inject in > >>>>>>> > @FacesConverter?< > >>>>>>> >> > >> > > > > > > >>>>>>> > http://stackoverflow.com/a/13156834/933054> > >>>>>>> >> > >> > > > > > > >>>>>>> >> > >> > > > > > Yes, this means more classes in the > >>>>>>> > project, but > >>>>>>> >> > > honestly, I have > >>>>>>> >> > >> > not > >>>>>>> >> > >> > > > had > >>>>>>> >> > >> > > > > > to spend much time > >>>>>>> > 'maintaining' my > >>>>>>> >> > > Converter classes at all. I > >>>>>>> >> > >> > just > >>>>>>> >> > >> > > > > tested > >>>>>>> >> > >> > > > > > this concept, and I'm not > >>>>>>> > experiencing this > >>>>>>> >> > > exceptioin any more. > >>>>>>> >> > >> > > > > > > >>>>>>> >> > >> > > > > > While testing the above, I see more > >>>>>>> > exceptions to > >>>>>>> >> > > resolve related > >>>>>>> >> > >> > to > >>>>>>> >> > >> > > > > > migrating to CDI. Will let you all > >>>>>>> > know, if I have > >>>>>>> >> > > any more > >>>>>>> >> > >> > > questions. > >>>>>>> >> > >> > > > > > > >>>>>>> >> > >> > > > > > Thanks for all the responses/help, > >>>>>>> > so far. :) > >>>>>>> >> > >> > > > > > > >>>>>>> >> > >> > > > > > > >>>>>>> >> > >> > > > > > > >>>>>>> >> > >> > > > > > On Mon, Nov 19, 2012 at 7:20 PM, > >>>>>>> > Romain > >>>>>>> >> > > Manni-Bucau > >>>>>>> >> > >> > > > > > <rmannibu...@gmail.com>wrote: > >>>>>>> >> > >> > > > > > > >>>>>>> >> > >> > > > > > > If it is a nested class you > >>>>>>> > need it otherwise > >>>>>>> >> > > (class foo in > >>>>>>> >> > >> > > foo.java > >>>>>>> >> > >> > > > > > file) > >>>>>>> >> > >> > > > > > > you dont need it > >>>>>>> >> > >> > > > > > > Le 20 nov. 2012 01:16, > >>>>>>> > "Howard W. Smith, > >>>>>>> >> > > Jr." < > >>>>>>> >> > >> > > > smithh032...@gmail.com> > >>>>>>> >> > >> > > > > a > >>>>>>> >> > >> > > > > > > écrit : > >>>>>>> >> > >> > > > > > > > >>>>>>> >> > >> > > > > > > > Good question. I removed > >>>>>>> >> > > 'static', because I didn't see it in > >>>>>>> >> > >> > the > >>>>>>> >> > >> > > > > code > >>>>>>> >> > >> > > > > > at > >>>>>>> >> > >> > > > > > > > following URLs: > >>>>>>> >> > >> > > > > > > > > >>>>>>> >> > >> > > > > > > > > >>>>>>> >> > >> > > > > > > > > >>>>>>> >> > >> > > > > > > > >>>>>>> >> > >> > > > > > > >>>>>>> >> > >> > > > > > >>>>>>> >> > >> > > > > >>>>>>> >> > >> > > > >>>>>>> >> > >> > > >>>>>>> >> > >> > >>>>>>> >> > > > >>>>>>> >> > > >>>>>>> >> > >>>>>>> > > >>>>>>> > https://cwiki.apache.org/confluence/display/EXTCDI/JSF+Usage#JSFUsage-DependencyInjection > >>>>>>> >> > >> > > > > > > > > >>>>>>> >> > >> > > > > > > > > >>>>>>> >> > >> > > > > > > > > >>>>>>> >> > >> > > > > > > > >>>>>>> >> > >> > > > > > > >>>>>>> >> > >> > > > > > >>>>>>> >> > >> > > > > >>>>>>> >> > >> > > > >>>>>>> >> > >> > > >>>>>>> >> > >> > >>>>>>> >> > > > >>>>>>> >> > > >>>>>>> >> > >>>>>>> > > >>>>>>> > http://stackoverflow.com/questions/7531449/cdi-injection-into-a-facesconverter > >>>>>>> >> > >> > > > > > > > > >>>>>>> >> > >> > > > > > > > > >>>>>>> >> > > https://issues.apache.org/jira/browse/EXTCDI-127 > >>>>>>> >> > >> > > > > > > > > >>>>>>> >> > >> > > > > > > > > >>>>>>> >> > >> > > > > > > > On Mon, Nov 19, 2012 at > >>>>>>> > 4:30 PM, Romain > >>>>>>> >> > > Manni-Bucau > >>>>>>> >> > >> > > > > > > > > >>>>>>> > <rmannibu...@gmail.com>wrote: > >>>>>>> >> > >> > > > > > > > > >>>>>>> >> > >> > > > > > > > > Why removing static? > >>>>>>> > It means it is > >>>>>>> >> > > no more manageable by > >>>>>>> >> > >> cdi > >>>>>>> >> > >> > > > (cdi > >>>>>>> >> > >> > > > > > cant > >>>>>>> >> > >> > > > > > > > do > >>>>>>> >> > >> > > > > > > > > a new on it) > >>>>>>> >> > >> > > > > > > > > Le 19 nov. 2012 > >>>>>>> > 22:13, "Howard > >>>>>>> >> > > W. Smith, Jr." < > >>>>>>> >> > >> > > > > > smithh032...@gmail.com> > >>>>>>> >> > >> > > > > > > a > >>>>>>> >> > >> > > > > > > > > écrit : > >>>>>>> >> > >> > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > @Advanced was > >>>>>>> > found in the > >>>>>>> >> > > following: > >>>>>>> >> > >> > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > import > >>>>>>> >> > >> org.apache.myfaces.extensions.cdi.core.api.Advanced; > >>>>>>> >> > >> > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > After some > >>>>>>> > tinkering, I > >>>>>>> >> > > removed 'static' from the > >>>>>>> >> > >> following > >>>>>>> >> > >> > > > > > > definition, > >>>>>>> >> > >> > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > public static > >>>>>>> > class > >>>>>>> >> > > AddressTypeControllerConverter > >>>>>>> >> > >> > implements > >>>>>>> >> > >> > > > > > > > Converter { > >>>>>>> >> > >> > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > I also added > >>>>>>> > @Advanced to the > >>>>>>> >> > > FacesConverter/Converter, > >>>>>>> >> > >> and > >>>>>>> >> > >> > > > > latest > >>>>>>> >> > >> > > > > > > > error > >>>>>>> >> > >> > > > > > > > > is > >>>>>>> >> > >> > > > > > > > > > the following: > >>>>>>> >> > >> > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > Nov 19, 2012 > >>>>>>> > 4:08:21 PM > >>>>>>> >> > >> > > > > > > >>>>>>> > javax.faces.component._ExternalSpecifications > >>>>>>> >> > >> > > > > > > > > > > >>>>>>> > isBeanValidationAvailable > >>>>>>> >> > >> > > > > > > > > > INFO: MyFaces > >>>>>>> > Bean Validation > >>>>>>> >> > > support enabled > >>>>>>> >> > >> > > > > > > > > > Nov 19, 2012 > >>>>>>> > 4:08:21 PM > >>>>>>> >> > >> > > > > > > > >>>>>>> >> > > org.apache.myfaces.application.ApplicationImpl > >>>>>>> >> > >> > > > > > > > > > > >>>>>>> > internalCreateConverter > >>>>>>> >> > >> > > > > > > > > > SEVERE: Could > >>>>>>> > not instantiate > >>>>>>> >> > > converter class > >>>>>>> >> > >> > > > > > > > > > > >>>>>>> >> > >> > > > > > >>>>>>> >> > > > >>>>>>> > > jsf.address.pf_AddressTypeController$AddressTypeControllerConverter > >>>>>>> >> > >> > > > > > > > > > > >>>>>>> >> > > java.lang.InstantiationException: > >>>>>>> >> > >> > > > > > > > > > > >>>>>>> >> > >> > > > > > >>>>>>> >> > > > >>>>>>> > > jsf.address.pf_AddressTypeController$AddressTypeControllerConverter > >>>>>>> >> > >> > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > On Mon, Nov 19, > >>>>>>> > 2012 at 3:07 > >>>>>>> >> > > PM, Howard W. Smith, Jr. < > >>>>>>> >> > >> > > > > > > > > > > >>>>>>> > smithh032...@gmail.com> > >>>>>>> >> > > wrote: > >>>>>>> >> > >> > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > > I searched > >>>>>>> > google, found > >>>>>>> >> > > the following: > >>>>>>> >> > >> > > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > > CDI > >>>>>>> > Injection into a > >>>>>>> >> > > FacesConverter< > >>>>>>> >> > >> > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > >>>>>>> >> > >> > > > > > > > > >>>>>>> >> > >> > > > > > > > >>>>>>> >> > >> > > > > > > >>>>>>> >> > >> > > > > > >>>>>>> >> > >> > > > > >>>>>>> >> > >> > > > >>>>>>> >> > >> > > >>>>>>> >> > >> > >>>>>>> >> > > > >>>>>>> >> > > >>>>>>> >> > >>>>>>> > > >>>>>>> > http://stackoverflow.com/questions/7531449/cdi-injection-into-a-facesconverter > >>>>>>> >> > >> > > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > > which lead > >>>>>>> > me to: > >>>>>>> >> > >> > > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > > MyFaces > >>>>>>> > Extensions CDI > >>>>>>> >> > >> JSF Usage > Dependency > >>>>>>> >> > >> > Injection< > >>>>>>> >> > >> > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > >>>>>>> >> > >> > > > > > > > > >>>>>>> >> > >> > > > > > > > >>>>>>> >> > >> > > > > > > >>>>>>> >> > >> > > > > > >>>>>>> >> > >> > > > > >>>>>>> >> > >> > > > >>>>>>> >> > >> > > >>>>>>> >> > >> > >>>>>>> >> > > > >>>>>>> >> > > >>>>>>> >> > >>>>>>> > > >>>>>>> > https://cwiki.apache.org/confluence/display/EXTCDI/JSF+Usage#JSFUsage-DependencyInjection > >>>>>>> >> > >> > > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > > but I > >>>>>>> > don't which > >>>>>>> >> > > library to import for @Advanced. > >>>>>>> >> > >> > > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > > If > >>>>>>> > @Advanced can be used > >>>>>>> >> > > (since I am using CODI), then > >>>>>>> >> > >> > this > >>>>>>> >> > >> > > > > would > >>>>>>> >> > >> > > > > > > be > >>>>>>> >> > >> > > > > > > > > > great. > >>>>>>> >> > >> > > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > > On Mon, > >>>>>>> > Nov 19, 2012 at > >>>>>>> >> > > 2:56 PM, Romain Manni-Bucau < > >>>>>>> >> > >> > > > > > > > > > > >>>>>>> > rmannibu...@gmail.com > >>>>>>> >> > >> > > > > > > > > > > > > >>>>>>> > wrote: > >>>>>>> >> > >> > > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > >> Maybe > >>>>>>> > use > >>>>>>> >> > > BeanProvider of deltaspike > >>>>>>> >> > >> > > > > > > > > > >> Le 19 > >>>>>>> > nov. 2012 > >>>>>>> >> > > 20:50, "Howard W. Smith, Jr." < > >>>>>>> >> > >> > > > > > > > smithh032...@gmail.com > >>>>>>> >> > >> > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > a > >>>>>>> >> > >> > > > > > > > > > >> écrit > >>>>>>> > : > >>>>>>> >> > >> > > > > > > > > > >> > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> > Hmmm... after > >>>>>>> >> > > thinking about it, I remembered to use > >>>>>>> >> > >> > > > @Inject > >>>>>>> >> > >> > > > > > on > >>>>>>> >> > >> > > > > > > > the > >>>>>>> >> > >> > > > > > > > > > bean > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> > which I want to > >>>>>>> >> > > inject. So, I did the following: > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > @FacesConverter(forClass = AddressType.class) > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> > public > >>>>>>> >> > > static class > >>>>>>> >> > >> AddressTypeControllerConverter > >>>>>>> >> > >> > > > > > > implements > >>>>>>> >> > >> > > > > > > > > > >> > >>>>>>> > Converter > >>>>>>> >> > >> > > > > > > > > > >> > { > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> > @Inject > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> > private > >>>>>>> >> > > pf_AddressTypeController controller; > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> > public > >>>>>>> >> > > Object getAsObject(FacesContext > >>>>>>> >> > >> > > > facesContext, > >>>>>>> >> > >> > > > > > > > > > UIComponent > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> > component, > >>>>>>> >> > > String value) { > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> > if > >>>>>>> >> > > (value == null || value.length() == > >>>>>>> >> > >> 0) > >>>>>>> >> > >> > { > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > return null; > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> > } > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > return > >>>>>>> >> > >> > > > controller.ejbFacade.find(getKey(value)); > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> > } > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> > but > >>>>>>> >> > > 'controller' is still not being injected. I even > >>>>>>> >> > >> > > tried > >>>>>>> >> > >> > > > > the > >>>>>>> >> > >> > > > > > > > same > >>>>>>> >> > >> > > > > > > > > > for > >>>>>>> >> > >> > > > > > > > > > >> the > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> > actual > >>>>>>> >> > > 'ejbFacade' (which is a stateless bean), but > >>>>>>> >> > >> > > that, > >>>>>>> >> > >> > > > > too, > >>>>>>> >> > >> > > > > > > > > > resulted > >>>>>>> >> > >> > > > > > > > > > >> in > >>>>>>> >> > >> > > > > > > > > > >> > a > >>>>>>> >> > > NullPointerException, which tells me that @Inject > >>>>>>> >> > >> is > >>>>>>> >> > >> > > not > >>>>>>> >> > >> > > > > > > > injecting > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > pf_AddressTypeController (@sessionscoped bean) OR > >>>>>>> >> > >> > > > ejbFacade > >>>>>>> >> > >> > > > > > > > > > (@Stateless > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> > bean instance of > >>>>>>> >> > > AddressTypeFacade). > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> > Is there a > >>>>>>> >> > > general practice used for injecting beans > >>>>>>> >> > >> > in > >>>>>>> >> > >> > > > > > > > Converters.. > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> > On Mon, Nov 19, > >>>>>>> >> > > 2012 at 2:38 PM, Romain Manni-Bucau > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > <rmannibu...@gmail.com>wrote: > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> Can you > >>>>>>> >> > > reproduce it in a sample? What is on the > >>>>>>> >> > >> npe > >>>>>>> >> > >> > > > line? > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> Le 19 nov. > >>>>>>> >> > > 2012 20:25, "Howard W. Smith, Jr." < > >>>>>>> >> > >> > > > > > > > > > > >>>>>>> > smithh032...@gmail.com> > >>>>>>> >> > >> > > > > > > > > > >> a > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> écrit : > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > I am > >>>>>>> >> > > still migrating my app from JSF Managed > >>>>>>> >> > >> beans > >>>>>>> >> > >> > > to > >>>>>>> >> > >> > > > > CDI > >>>>>>> >> > >> > > > > > > > > managed > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> > beans, > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> so > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > I am > >>>>>>> >> > > (regression) testing, and I came across the > >>>>>>> >> > >> > > > > exception > >>>>>>> >> > >> > > > > > > > below > >>>>>>> >> > >> > > > > > > > > > >> when > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > attempting to add a record into the database on > >>>>>>> >> > >> > one > >>>>>>> >> > >> > > of > >>>>>>> >> > >> > > > > the > >>>>>>> >> > >> > > > > > > > xhtml > >>>>>>> >> > >> > > > > > > > > > >> pages. > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > Caused > >>>>>>> >> > > by: java.lang.NullPointerException > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > at > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > >> > > > > > > > > > >> > >>>>>>> >> > >> > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > >>>>>>> >> > >> > > > > > > > > >>>>>>> >> > >> > > > > > > > >>>>>>> >> > >> > > > > > > >>>>>>> >> > >> > > > > > >>>>>>> >> > >> > > > > >>>>>>> >> > >> > > > >>>>>>> >> > >> > > >>>>>>> >> > >> > >>>>>>> >> > > > >>>>>>> >> > > >>>>>>> >> > >>>>>>> > > >>>>>>> > jsf.address.pf_AddressTypeController$AddressTypeControllerConverter.getAsObject(pf_AddressTypeController.java:283) > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > The > >>>>>>> >> > > exception is caused by this line below. > >>>>>>> >> > >> > > > *ejbFacade* > >>>>>>> >> > >> > > > > > is a > >>>>>>> >> > >> > > > > > > > > > >> > >>>>>>> > stateless > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> bean > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > injected by @Inject. > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > return > >>>>>>> >> > >> > > > > > > > >>>>>>> > controller.*ejbFacade*.find(getKey(value)); > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > The > >>>>>>> >> > > code below is as-is using JSF Managed Beans. > >>>>>>> >> > >> > > > Please > >>>>>>> >> > >> > > > > > > advise > >>>>>>> >> > >> > > > > > > > > on > >>>>>>> >> > >> > > > > > > > > > >> how I > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > should > >>>>>>> >> > > update the following code, so it will > >>>>>>> >> > >> work > >>>>>>> >> > >> > > well > >>>>>>> >> > >> > > > > > with > >>>>>>> >> > >> > > > > > > > CDI. > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > @FacesConverter(forClass = > >>>>>>> >> > >> AddressType.class) > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > public static class > >>>>>>> >> > >> > > AddressTypeControllerConverter > >>>>>>> >> > >> > > > > > > > > implements > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> Converter > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > { > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > public Object getAsObject(FacesContext > >>>>>>> >> > >> > > > > > facesContext, > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> > UIComponent > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > component, String value) { > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > if (value == null || value.length() > >>>>>>> >> > >> == > >>>>>>> >> > >> > > 0) > >>>>>>> >> > >> > > > { > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > return null; > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > } > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > pf_AddressTypeController controller > >>>>>>> >> > >> = > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > (pf_AddressTypeController) > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > facesContext.getApplication().getELResolver(). > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > >> > > > > getValue(facesContext.getELContext(), > >>>>>>> >> > >> > > > > > > > null, > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > "pf_addressTypeController"); > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > return > >>>>>>> >> > >> > > > > > > >>>>>>> > controller.ejbFacade.find(getKey(value)); > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > } > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > java.lang.Integer getKey(String value) { > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > java.lang.Integer key; > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > key = Integer.valueOf(value); > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > return key; > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > } > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > String getStringKey(java.lang.Integer > >>>>>>> >> > >> > > value) { > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > StringBuffer sb = new > >>>>>>> >> > >> StringBuffer(); > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > sb.append(value); > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > return sb.toString(); > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > } > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > public String getAsString(FacesContext > >>>>>>> >> > >> > > > > > facesContext, > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> > UIComponent > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > component, Object object) { > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > if (object == null) { > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > return null; > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > } > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > if (object instanceof AddressType) { > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > AddressType o = (AddressType) > >>>>>>> >> > >> > > object; > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > return > >>>>>>> >> > >> > > > > getStringKey(o.getAddressTypeId()); > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > } else { > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > throw new > >>>>>>> >> > >> > > > > IllegalArgumentException("object > >>>>>>> >> > >> > > > > > > " + > >>>>>>> >> > >> > > > > > > > > > >> object > >>>>>>> >> > >> > > > > > > > > > >> > + > >>>>>>> > " > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > is of > >>>>>>> >> > > type " + object.getClass().getName() + "; > >>>>>>> >> > >> > > > expected > >>>>>>> >> > >> > > > > > > type: > >>>>>>> >> > >> > > > > > > > > " + > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > pf_AddressTypeController.class.getName()); > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > } > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > > } > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > } > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > } > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > >>>>>>> >> > >> > > > > > > > > > >> > > >>>>>>> >> > >> > > > > > > > > > >> > >>>>>>> >> > >> > > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > > >>>>>>> >> > >> > > > > > > > > > >>>>>>> >> > >> > > > > > > > > >>>>>>> >> > >> > > > > > > > >>>>>>> >> > >> > > > > > > >>>>>>> >> > >> > > > > > >>>>>>> >> > >> > > > > >>>>>>> >> > >> > > > >>>>>>> >> > >> > > >>>>>>> >> > >> > >>>>>>> >> > > > >>>>>>> >> > > >>>>>>> >> > >>>>>>> > > >>>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>> > >>>> > >>> > >> > > >