2016-09-29 9:15 GMT+02:00 Xavier Dury <[email protected]>:

> Indeed, @Named != named... got it! :-)
>
> But I still fail to understand _where_ the workaround for 'javax...' is
> actually implemented:
>
>
nowhere cause it introduces other issues in EL so the workaround is only a
workaround not a nasty way to get a feature.


> 1) if it is implemented in OWB then why is 
> 'elContext.addELResolver(beanManager.getELResolver());'
> not working? I would expect the returned el resolver to contain the
> workaround.
> 2) if it is implemented elsewhere (TomEE for example), I don't understand
> why as this requirement comes from the CDI spec and should be implemented
> in OWB... so back to (1)
>
> I am stuck in an infinite loop ;-)
>
>
>
>
> From: Romain Manni-Bucau <[email protected]>
> Sent: Thursday, September 29, 2016 8:54 AM
> To: [email protected]
> Subject: Re: OpenEJB and EL
>
> 2016-09-29 8:32 GMT+02:00 Xavier Dury <[email protected]>:
>
> > @Mark
> >
> > thanks, it works when adding any other qualifier!
> >
> > btw, do you think it would hurt to qualify the built-in conversation bean
> > with @Named("javax.enterprise.context.conversation") in OWB? That way I
> > could inject the built-in with @Inject @Named("javax.enteprise.
> context.conversation")
> > and expose it via @Produces @Named("conversation") without resorting to
> > some extra qualifier.
> >
> > @Romain
> >
> > I was wondering where exactly is your hacky el resolver implemented? If
> > the "javax.enterprise.context.conversation" name is a requirement coming
> > from the CDI spec, then I would suppose it is implemented in OWB (in the
> > resolver you get from the BeanManager) but as my tests with OEJB+OWB
> fail,
> > I suppose it is not there (or not enabled in some way). On the contrary,
> if
> > the requirement comes from the java EE spec, then I suppose it is
> > implemented in TomEE and that would explain why my tests fail.
> >
> >
> The name is built it in openwebbeans:
> https://github.com/apache/openwebbeans/blob/trunk/
> webbeans-impl/src/main/java/org/apache/webbeans/component/
> ConversationBean.java#L54
>
> The spec states:
>
> "The container provides a built-in bean with bean type Conversation, scope
> @RequestScoped, and qualifier@Default, named
> javax.enterprise.context.conversation."
>
> So no qualifier @Named but a Bean<?> name (no comment ;))
>
>
> > Xavier
> >
> >
> >
> >
> > From: Mark Struberg <[email protected]>
> > Sent: Thursday, September 29, 2016 12:12 AM
> > To: [email protected]
> > Subject: Re: OpenEJB and EL
> >
> > @Default is always assumed when you don't add a specific Qualifier other
> > than @Named and @Any.
> >
> > Xavier, can you please add any random qualifier? E.g. @Destroyed.
> >
> > This will stop CDI from complaining but EL should work.
> >
> > LieGrue,
> > strub
> >
> >
> >
> >
> >
> > > On Thursday, 29 September 2016, 0:04, Xavier Dury <[email protected]>
> > wrote:
> > > > https://gist.github.com/kalgon/fbf529dc9c9764c115433cfb2f0f82bf
>
>
>
> OpenEjbElTest.java
> gist.github.com
> property=
> >
> >
> >
> > OpenEjbElTest.java
> > gist.github.com
> > property=
> > >
> > >
> > >
> > > From: Xavier Dury <[email protected]>
> > > Sent: Wednesday, September 28, 2016 11:54 PM
> > > To: [email protected]
> > > Subject: Re: OpenEJB and EL
> > >
> > > No, I didn't add the @Default to the @Produces method.
> > >
> > > I verified:
> > >
> > > @RequestScoped
> > > public class ConversationWrapper {
> > >
> > >         private @Inject Conversation conv;
> > >
> > >         @Produces
> > >         @Dependent
> > >         @Named("conv")
> > >         public Conversation getConv() {
> > >                 return conv;
> > >         }
> > > }
> > >
> > > result:
> > >
> > > Caused by: javax.enterprise.inject.AmbiguousResolutionException: There
> > is more
> > > than one Bean with type javax.enterprise.context.
> ConversationQualifiers:
> > > [@javax.enterprise.inject.Default()]
> > > for injection into Field Injection Point, field name :  conv, Bean
> Owner
> > :
> > > [ConversationWrapper, WebBeansType:MANAGED, Name:null, API
> > > Types:[java.lang.Object,eg.ConversationWrapper],
> > > Qualifiers:[javax.enterprise.inject.Default,javax.
> > enterprise.inject.Any]]
> > > found beans:
> > > ConversationImpl, WebBeansType:CONVERSATION,
> > > Name:javax.enterprise.context.conversation, API
> > > Types:[java.lang.Object,org.apache.webbeans.conversation.
> > ConversationImpl,javax.enterprise.context.Conversation],
> > > Qualifiers:[javax.enterprise.inject.Default,javax.
> enterprise.inject.Any]
> > from
> > > jar:file:/C:/Users/xavier/.m2/repository/org/apache/
> > openwebbeans/openwebbeans-impl/1.6.3/openwebbeans-impl-
> > 1.6.3.jar!/org/apache/webbeans/conversation/ConversationImpl.class
> > > Conversation, WebBeansType:PRODUCERMETHOD, Name:conv, API
> > > Types:[java.lang.Object,javax.enterprise.context.Conversation],
> > > Qualifiers:[javax.enterprise.inject.Default,javax.
> > enterprise.inject.Any,javax.inject.Named]
> > > from
> > > file:/D:/development/workspaces/openejb-el/target/test-classes/eg/
> > ConversationWrapper.class
> > >
> > >
> > >
> > >
> > > From: Romain Manni-Bucau <[email protected]>
> > > Sent: Wednesday, September 28, 2016 11:47 PM
> > > To: [email protected]
> > > Subject: Re: OpenEJB and EL
> > >
> > > Conversation, WebBeansType:PRODUCERMETHOD, Name:conv, API
> > > Types:[java.lang.Object,javax.enterprise.context.Conversation],
> > > Qualifiers:[javax.enterprise.inject.Default,javax.
> > > enterprise.inject.Any,javax.inject.Named] from file:/D:/development/
> > > workspaces/openejb-el/target/test-classes/eg/ConversationWrapper.class
> > >
> > > Why is there @Default there? producer should only have the @Named you
> set
> > >
> > >
> > > Romain Manni-Bucau
> > > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>
>
>
> Romain Manni-Bucau (@rmannibucau) | Twitter
> twitter.com
> The latest Tweets from Romain Manni-Bucau (@rmannibucau). ASF / Java(EE) /
> Angular. LinkedIn: https://t.co/dX7XMGjbBi. JavaEE Factory:
> https://t.co/0VnvWwbedt . Blog ...
> >
> >
> >
> > Romain Manni-Bucau (@rmannibucau) | Twitter
> > twitter.com
> > The latest Tweets from Romain Manni-Bucau (@rmannibucau). ASF / Java(EE)
> /
> > Angular. LinkedIn: https://t.co/dX7XMGjbBi. JavaEE Factory:
> > https://t.co/0VnvWwbedt . Blog ...
> > >
> > >
> > >
> > > Romain Manni-Bucau (@rmannibucau) | Twitter
> > > twitter.com
> > > The latest Tweets from Romain Manni-Bucau (@rmannibucau). ASF /
> Java(EE)
> > /
> > > Angular. LinkedIn: https://t.co/dX7XMGjbBi. JavaEE Factory:
> > > https://t.co/0VnvWwbedt . Blog ...
> > >
> > >
> > >
> > > Romain Manni-Bucau (@rmannibucau) | Twitter
> > > twitter.com
> > > The latest Tweets from Romain Manni-Bucau (@rmannibucau). ASF /
> Java(EE)
> > /
> > > Angular. LinkedIn: https://t.co/dX7XMGjbBi. JavaEE Factory:
> > > https://t.co/0VnvWwbedt . Blog ...
> > > <https://blog-rmannibucau.rhcloud.com> | Old Wordpress Blog
> > >
> > >
> > > RBlog: the RManniBucau v2 Blog
> > > blog-rmannibucau.rhcloud.com
> > > RBlog: Romain Manni-Bucau Blog about Java, JavaEE, TomEE, Angular, Open
> > Source,
> > > Code and geeky topics...
> > > <http://rmannibucau.wordpress.com> | Github
> > > <https://github.com/rmannibucau> |
> > >
> > >
> > > [old blog] new RManniBucau().blog()
> > > rmannibucau.wordpress.com
> > > New blog on: https://blog-rmannibucau.rhcloud.com/
> > > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
> > > <http://www.tomitribe.com> | JavaEE Factory
> > > <https://javaeefactory-rmannibucau.rhcloud.com>
> > >
> > > 2016-09-28 23:45 GMT+02:00 Xavier Dury <[email protected]>:
> > >
> > >>  It seems that to inject the conversation in
> > > ConversationWrapper.conversation,
> > >>  OWB does consider both the build-in conversation bean and the
> produced
> > one
> > >>  from... ConversationWrapper.getConv().
> > >>
> > >>  I tried something like that:
> > >>
> > >>  @RequestScoped
> > >>  public class ConversationWrapper {
> > >>
> > >>          private @Inject
> > > @Named("javax.enterprise.context.conversation")
> > >>  Conversation conv;
> > >>
> > >>          @Produces
> > >>          @Dependent
> > >>          @Named("conv")
> > >>          public Conversation getConv() {
> > >>                  return conv;
> > >>          }
> > >>  }
> > >>
> > >>  But it gives the following error:
> > >>
> > >>  Caused by: javax.enterprise.inject.UnsatisfiedResolutionException:
> Api
> > >>  type [javax.enterprise.context.Conversation] is not found with the
> > >>  qualifiers
> > >>  Qualifiers: [@javax.inject.Named(value=javax.enterprise.context.
> > >>  conversation)]
> > >>  for injection into Field Injection Point, field name :  conv, Bean
> > Owner :
> > >>  [ConversationWrapper, WebBeansType:MANAGED, Name:null, API
> > >>  Types:[eg.ConversationWrapper,java.lang.Object],
> > >>  Qualifiers:[javax.enterprise.inject.Default,javax.
> > enterprise.inject.Any]]
> > >>
> > >>
> > >>
> > >>
> > >>  From: Xavier Dury <[email protected]>
> > >>  Sent: Wednesday, September 28, 2016 11:34 PM
> > >>  To: [email protected]
> > >>  Subject: Re: OpenEJB and EL
> > >>
> > >>  Got the same result with 'conv':
> > >>
> > >>  Caused by: javax.enterprise.inject.AmbiguousResolutionException:
> > There is
> > >>  more than one Bean with type
> > > javax.enterprise.context.ConversationQualifiers:
> > >>  [@javax.enterprise.inject.Default()]
> > >>  for injection into Field Injection Point, field name :  conversation,
> > Bean
> > >>  Owner : [ConversationAliaser, WebBeansType:MANAGED, Name:null, API
> > >>  Types:[java.lang.Object,eg.ConversationAliaser],
> > >>  Qualifiers:[javax.enterprise.inject.Default,javax.
> > enterprise.inject.Any]]
> > >>  found beans:
> > >>  Conversation, WebBeansType:PRODUCERMETHOD, Name:conv, API
> > >>  Types:[java.lang.Object,javax.enterprise.context.Conversation],
> > >>  Qualifiers:[javax.enterprise.inject.Default,javax.
> > >>  enterprise.inject.Any,javax.inject.Named] from file:/D:/development/
> > >>  workspaces/openejb-el/target/test-classes/eg/
> ConversationWrapper.class
> > >>  ConversationImpl, WebBeansType:CONVERSATION,
> > > Name:javax.enterprise.context.conversation,
> > >>  API Types:[org.apache.webbeans.conversation.ConversationImpl,
> > >>  javax.enterprise.context.Conversation,java.lang.Object],
> > >>  Qualifiers:[javax.enterprise.inject.Default,javax.
> > enterprise.inject.Any]
> > >>  from jar:file:/C:/Users/xavier/.m2/repository/org/apache/
> > >>  openwebbeans/openwebbeans-impl/1.6.3/openwebbeans-impl-
> > >>  1.6.3.jar!/org/apache/webbeans/conversation/ConversationImpl.class
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>  From: Romain Manni-Bucau <[email protected]>
> > >>  Sent: Wednesday, September 28, 2016 11:29 PM
> > >>  To: [email protected]
> > >>  Cc: Mark Struberg
> > >>  Subject: Re: OpenEJB and EL
> > >>
> > >>  missing @Named("conv")?
> > >>
> > >>
> > >>  Romain Manni-Bucau
> > >>  @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> > >>
> > >>
> > >>
> > >>  Romain Manni-Bucau (@rmannibucau) | Twitter
> > >>  twitter.com
> > >>  The latest Tweets from Romain Manni-Bucau (@rmannibucau). ASF /
> > Java(EE) /
> > >>  Angular. LinkedIn: https://t.co/dX7XMGjbBi. JavaEE Factory:
> > >>  https://t.co/0VnvWwbedt . Blog ...
> > >>
> > >>
> > >>
> > >>  Romain Manni-Bucau (@rmannibucau) | Twitter
> > >>  twitter.com
> > >>  The latest Tweets from Romain Manni-Bucau (@rmannibucau). ASF /
> > Java(EE) /
> > >>  Angular. LinkedIn: https://t.co/dX7XMGjbBi. JavaEE Factory:
> > >>  https://t.co/0VnvWwbedt . Blog ...
> > >>  <https://blog-rmannibucau.rhcloud.com> | Old Wordpress Blog
> > >>
> > >>
> > >>  RBlog: the RManniBucau v2 Blog
> > >>  blog-rmannibucau.rhcloud.com
> > >>  RBlog: Romain Manni-Bucau Blog about Java, JavaEE, TomEE, Angular,
> Open
> > >>  Source, Code and geeky topics...
> > >>  <http://rmannibucau.wordpress.com> | Github <https://github.com/
> > >>  rmannibucau> |
> > >>
> > >>
> > >>  [old blog] new RManniBucau().blog()
> > >>  rmannibucau.wordpress.com
> > >>  New blog on: https://blog-rmannibucau.rhcloud.com/
> > >>  LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
> > >>  <http://www.tomitribe.com> | JavaEE Factory
> > >>  <https://javaeefactory-rmannibucau.rhcloud.com>
> > >>
> > >>  2016-09-28 23:27 GMT+02:00 Xavier Dury <[email protected]>:
> > >>
> > >>  >
> > >>  > Caused by: javax.enterprise.inject.AmbiguousResolutionException:
> > There
> > >>  is
> > >>  > more than one Bean with type javax.enterprise.context.
> > >>  ConversationQualifiers:
> > >>  > [@javax.enterprise.inject.Default()]
> > >>  > for injection into Field Injection Point, field name :
> conversation,
> > >>  Bean
> > >>  > Owner : [ConversationAliaser, WebBeansType:MANAGED, Name:null, API
> > >>  > Types:[eg.ConversationAliaser,java.lang.Object],
> > >>  > Qualifiers:[javax.enterprise.inject.Default,javax.
> > >>  enterprise.inject.Any]]
> > >>  > found beans:
> > >>  > Conversation, WebBeansType:PRODUCERMETHOD, Name:conversation, API
> > >>  > Types:[javax.enterprise.context.Conversation,java.lang.Object],
> > >>  > Qualifiers:[javax.enterprise.inject.Default,javax.
> > >>  > enterprise.inject.Any,javax.inject.Named] from
> file:/D:/development/
> > >>  > workspaces/openejb-el/target/test-classes/eg/
> > ConversationWrapper.class
> > >>  > ConversationImpl, WebBeansType:CONVERSATION,
> > >>  Name:javax.enterprise.context.conversation,
> > >>  > API Types:[org.apache.webbeans.conversation.ConversationImpl,
> > >>  > javax.enterprise.context.Conversation,java.lang.Object],
> > >>  >
> > > Qualifiers:[javax.enterprise.inject.Default,javax.
> enterprise.inject.Any]
> > >>  > from jar:file:/C:/Users/xavier/.m2/repository/org/apache/
> > >>  > openwebbeans/openwebbeans-impl/1.6.3/openwebbeans-impl-
> > >>  > 1.6.3.jar!/org/apache/webbeans/conversation/ConversationImpl.class
> > >>  >
> > >>  >
> > >>  >
> > >>  >
> > >>  >
> > >>  >
> > >>  >
> > >>  > From: Mark Struberg <[email protected]>
> > >>  > Sent: Wednesday, September 28, 2016 11:20 PM
> > >>  > To: [email protected]
> > >>  > Subject: Re: OpenEJB and EL
> > >>  >
> > >>  > +1
> > >>  >
> > >>  > means
> > >>  >
> > >>  > @RequestScoped
> > >>  >
> > >>  > public class ConversationWrapper {
> > >>  >   private @Inject Conversation conv;
> > >>  >
> > >>  >   @Produces
> > >>  >   @Dependent
> > >>  >   @Named("conv")
> > >>  >
> > >>  >   public Conversation getConv() {
> > >>  >     return conv;
> > >>  >   }
> > >>  > }
> > >>  >
> > >>  >
> > >>  >
> > >>  >
> > >>  > On Wednesday, 28 September 2016, 23:10, Romain Manni-Bucau <
> > >>  > [email protected]> wrote:
> > >>  >
> > >>  >
> > >>  > >
> > >>  > >
> > >>  > >a producer allows to get a shorter/more elegant naming like
> > > #{conv.id}
> > >>  > if you @Produces @Named("conv") ;)
> > >>  > >
> > >>  > >
> > >>  > >
> > >>  > >Romain Manni-Bucau
> > >>  > >@rmannibucau |  Blog | Old Wordpress Blog | Github | LinkedIn |
> > >>  > Tomitriber | JavaEE Factory
> > >>  > >
> > >>  > >2016-09-28 23:01 GMT+02:00 Mark Struberg
> > > <[email protected]>:
> > >>  > >
> > >>  > >Oh boy, sorry for you. You did hit a blank spot in the CDI spec.
> > >>  > >>
> > >>  > >>Problem is that the EE umbrella spec, the EL spec and the CDI
> > > spec
> > >>  > contradict each other.
> > >>  > >>
> > >>  > >>The Weld guys solved this by introducing a Javax class. But
> > > that takes
> > >>  > away the whole javax.* tree for the EL. That's just not good as it
> > >>  > contradicts the EL spec.
> > >>  > >>
> > >>  > >>Could you please try the following
> > >>  > >>
> > >>  > >>@RequestScoped
> > >>  > >>@Named("conversation")
> > >>  > >>public class ConversationWrapper {
> > >>  > >>   private @Inject Conversation conv;
> > >>  > >>
> > >>  > >>  public Conversation get() {
> > >>  > >>       return conv;
> > >>  > >>   }
> > >>  > >>}
> > >>  > >>
> > >>  > >>And in the EL just use #{conversation.get.id}
> > >>  > >>
> > >>  > >>LieGrue,
> > >>  > >>strub
> > >>  > >>
> > >>  > >>
> > >>  > >>
> > >>  > >>
> > >>  > >>
> > >>  > >>> On Wednesday, 28 September 2016, 22:12, Xavier Dury <
> > >>  > [email protected]> wrote:
> > >>  > >>> > I really don't understand how something like
> > > <f:param
> > >>  > >>> name="cid"
> > >>  > >>> value="#{javax.enterprise.
> > > context.conversation.id}"/> actually
> > >>  > >>> works... something must be made to make the EL processor
> > > accept that
> > >>  > invalid
> > >>  > >>> bean name.
> > >>  > >>>
> > >>  > >>> Making a producer which @Produces @Named Conversation
> > > conflicts with
> > >>  > the
> > >>  > >>> built-in bean from OWB (with WebBeanType.CONVERSATION)...
> > >>  > >>>
> > >>  > >>> ... so, I have done the following for my tests but I feel
> > > a bit
> > >>  > ashamed because
> > >>  > >>> I can't imagine there is no better solution than this
> > > ;-)
> > >>  > >>>
> > >>  > >>> public class ConversationAliaser {
> > >>  > >>>     public class Javax {
> > >>  > >>>         public Enterprise getEnterprise() {return
> > > new Enterprise();}
> > >>  > >>>
> > >>  > >>>     }
> > >>  > >>>     public class Enterprise {
> > >>  > >>>         public Context getContext() {return new
> > > Context();}
> > >>  > >>>     }
> > >>  > >>>     public class Context {
> > >>  > >>>         public Conversation getConversation()
> > > {return conversation;}
> > >>  > >>>
> > >>  > >>>     }
> > >>  > >>>     @Inject
> > >>  > >>>     private Conversation conversation;
> > >>  > >>>     @Produces @ApplicationScoped
> > > @Named("javax")
> > >>  > >>>     public Javax javax() {return new Javax();}
> > >>  > >>> }
> > >>  > >>>
> > >>  > >>> But that works!
> > >>  > >>>
> > >>  > >>> Xavier
> > >>  > >>>
> > >>  > >>>
> > >>  > >>>
> > >>  > >>> From: Xavier Dury <[email protected]>
> > >>  > >>> Sent: Wednesday, September 28, 2016 8:42 PM
> > >>  > >>> To: [email protected]
> > >>  > >>> Subject: Re: OpenEJB and EL
> > >>  > >>>
> > >>  > >>> Hmmm... I guess I'll have to @Produces @Named the
> > > conversation if I
> > >>  > want to
> > >>  > >>> use it in ELs. I don't know if something like
> > >>  > >>> #{applicationScope['javax. enterprise.context.
> > >>  > conversation'].transient}
> > >>  > >>> would work?
> > >>  > >>>
> > >>  > >>> I remember back in my JSP days that, sometimes, I had to
> > > use
> > >>  something
> > >>  > like
> > >>  > >>> ${requestScope['javax.servlet.
> > > forward.request_uri']} instead of
> > >>  > >>> plain ${javax.servlet.forward. request_uri}.
> > >>  > >>>
> > >>  > >>> Xavier
> > >>  > >>>
> > >>  > >>>
> > >>  > >>> From: Romain Manni-Bucau <[email protected]>
> > >>  > >>> Sent: Wednesday, September 28, 2016 6:54 PM
> > >>  > >>> To: [email protected]
> > >>  > >>> Subject: Re: OpenEJB and EL
> > >>  > >>>
> > >>  > >>> hmm, wonder if it is linked to the value you try to
> > > evaluate (which
> > >>  > doesn't
> > >>  > >>> respect EL spec even if in CDI spec - don't ask
> > > please ;)).. See
> > >>  > >>> https://issues.jboss.org/ browse/CDITCK-462 /
> > >>  >
> > >>  >
> > >>  > System Dashboard - JBoss Issue Tracker
> > >>  > issues.jboss.org
> > >>  > Atlassian JIRA Project Management Software
> > > (v6.4.11#64026-sha1:78f6ec4)
> > >>  > About JIRA; Report a problem; Powered by a free Atlassian JIRA open
> > >>  source
> > >>  > license for Red Hat ...
> > >>  > >>> http://lists.jboss.org/ pipermail/cdi-dev/2015-
> > > January/006009.html
> > >>  >
> > >>  >
> > >>  > lists.jboss.org Mailing Lists
> > >>  > lists.jboss.org
> > >>  > lists.jboss.org Mailing Lists: Welcome! Below is a listing of all
> > the
> > >>  > public mailing lists on lists.jboss.org. Click on a list name to
> get
> > >>  more
> > >>  > information ...
> > >>  > >>>
> > >>  > >>>
> > >>  > >>>
> > >>  > >>>
> > >>  > >>> Romain Manni-Bucau
> > >>  > >>> @rmannibucau <https://twitter.com/ rmannibucau> |
> > > Blog
> > >>  > >>>
> > >>  > >>>
> > >>  > >>>
> > >>  > >>> Romain Manni-Bucau (@rmannibucau) | Twitter
> > >>  > >>> twitter.com
> > >>  > >>> The latest Tweets from Romain Manni-Bucau (@rmannibucau).
> > > ASF /
> > >>  > Java(EE) /
> > >>  > >>> Angular. LinkedIn: https://t.co/dX7XMGjbBi. JavaEE
> > > Factory:
> > >>  > >>> https://t.co/0VnvWwbedt . Blog ...
> > >>  > >>> <https://blog-rmannibucau. rhcloud.com> | Old
> > > Wordpress Blog
> > >>  > >>> <http://rmannibucau.wordpress. com> | Github
> > >>  > >>> <https://github.com/ rmannibucau> |
> > >>  > >>> LinkedIn <https://www.linkedin.com/in/ rmannibucau>
> > > | Tomitriber
> > >>  > >>> <http://www.tomitribe.com> | JavaEE Factory
> > >>  > >>> <https://javaeefactory- rmannibucau.rhcloud.com>
> > >>  > >>>
> > >>  > >>> 2016-09-28 18:17 GMT+02:00 Xavier Dury
> > > <[email protected]>:
> > >>  > >>>
> > >>  > >>>>  Hi Romain,
> > >>  > >>>>
> > >>  > >>>>  I tried with org.apache.tomcat:tomcat-
> > > jasper-el:8.5.5 but it does
> > >>  > not
> > >>  > >>>>  parse my expression until I change
> > > ".transient" by
> > >>  > >>> ".isTransient()" and
> > >>  > >>>>  then it gives the same error: javax.el.
> > > PropertyNotFoundException:
> > >>  > >>>>  ELResolver cannot handle a null base Object with
> > > identifier
> > >>  > >>> 'javax'.
> > >>  > >>>>
> > >>  > >>>>  Does the EL context need something else than adding
> > > the
> > >>  > >>>>  BeanManager.getELResolver()  to be able to resolve
> > > some implicit
> > >>  > objects? I
> > >>  > >>>>  don't understand why it works with ri-1.0.
> > >>  > >>>>
> > >>  > >>>>  Xavier
> > >>  > >>>>
> > >>  > >>>>
> > >>  > >>>>  From: Romain Manni-Bucau
> > > <[email protected]>
> > >>  > >>>>  Sent: Wednesday, September 28, 2016 4:02 PM
> > >>  > >>>>  To: [email protected]
> > >>  > >>>>  Subject: Re: OpenEJB and EL
> > >>  > >>>>
> > >>  > >>>>  Hi Xavier
> > >>  > >>>>
> > >>  > >>>>  On the phone so hard to give you a link bit try
> > > using tomcat el
> > >>  impl
> > >>  > of
> > >>  > >>>>  tomcat 8.5
> > >>  > >>>>
> > >>  > >>>>  Le 28 sept. 2016 15:29, "Xavier Dury"
> > > <[email protected]>
> > >>  > >>> a écrit :
> > >>  > >>>>
> > >>  > >>>>  > Hi,
> > >>  > >>>>  >
> > >>  > >>>>  > I am using OpenEJB for my tests and need
> > > support for EL
> > >>  > expressions in
> > >>  > >>> my
> > >>  > >>>>  > own code.
> > >>  > >>>>  >
> > >>  > >>>>  > By default, if I do something like this (pay
> > > attention to the
> > >>  > >>>>  expression):
> > >>  > >>>>  >
> > >>  > >>>>  > ExpressionFactory factory = beanManager.
> > > wrapExpressionFactory(
> > >>  > >>>>  > ExpressionFactory.newInstance( ));
> > >>  > >>>>  > StandardELContext elContext = new
> > > StandardELContext(factory);
> > >>  > >>>>  > elContext.addELResolver(
> > > beanManager.getELResolver());
> > >>  > >>>>  > ValueExpression expression =
> > > factory.createValueExpression(
> > >>  > elContext,
> > >>  > >>>>  > "#{javax.enterprise.context.
> > > conversation.transient}",
> > >>  > >>> Boolean.class);
> > >>  > >>>>  > expression.getValue(elContext) ;
> > >>  > >>>>  >
> > >>  > >>>>  > and only add org.apache.tomee:openejb-core:
> > > 7.0.1 to my project
> > >>  > then I
> > >>  > >>>>  get
> > >>  > >>>>  > javax.el.ELException: Unable to find
> > > ExpressionFactory of type:
> > >>  > >>>>  > org.apache.el. ExpressionFactoryImpl
> > >>  > >>>>  >
> > >>  > >>>>  > if I add org.glassfish:javax.el:3.0.0 then I
> > > get javax.el.
> > >>  > >>>>  PropertyNotFoundException:
> > >>  > >>>>  > ELResolver cannot handle a null base Object
> > > with identifier
> > >>  > >>> 'javax'
> > >>  > >>>>  >
> > >>  > >>>>  > if I switch the EL library to
> > > com.sun.el:el-ri:1.0 (+
> > >>  > >>> META-INF/javax.el.
> > >>  > >>>>  ExpressionFactory
> > >>  > >>>>  > < com.sun.el. ExpressionFactoryImpl) then my
> > > expression can be
> > >>  > >>> evaluated
> > >>  > >>>>  > but I can't use any new feature of 3.0
> > > (like lambdas)
> > >>  > >>>>  >
> > >>  > >>>>  > So, either my dependencies are wrong or I am
> > > not correctly
> > >>  > >>> initializing
> > >>  > >>>>  my
> > >>  > >>>>  > factory.
> > >>  > >>>>  >
> > >>  > >>>>  > Does anybody have an idea?
> > >>  > >>>>  >
> > >>  > >>>>  > Thanks,
> > >>  > >>>>  >
> > >>  > >>>>  > Xavier
> > >>  > >>>>
> > >>  > >>>>
> > >>  > >>>
> > >>  > >>
> > >>  > >
> > >>  > >
> > >>  > >
> > >>  >
> > >>  >
> > >>
> > >>
> > >
> >
> >
>
>

Reply via email to