I use an ear.

Taken from omnifaces page:

"CDI issues in EAR
Note that CDI has known issues when OmniFaces is bundled in multiple WARs
in a single EAR. It's important to understand that those issues are not
related to OmniFaces, but to the broken CDI spec. For an overview of those
issues, please refer Known issues of OmniFaces CDI features in combination
with specific application servers."


2013/12/23 Howard W. Smith, Jr. <smithh032...@gmail.com>

> see below...
>
>
> On Mon, Dec 23, 2013 at 4:53 PM, Howard W. Smith, Jr. <
> smithh032...@gmail.com> wrote:
>
> >
> > On Mon, Dec 23, 2013 at 4:46 PM, Howard W. Smith, Jr. <
> > smithh032...@gmail.com> wrote:
> >
> >> i do remember a conversation... Romain recommending to use jdni global
> >> name specified in tomee log @ startup. i don't know if it is will work
> >> inside @FacesConverter.
> >
> >
> > the following are in my tomee log @ startup for my UsersFacade.
> evidently,
> > tomee creates UsersFacadeLocalBean for my app (see 1st line below). some
> > time ago, when i tested referencing @EJB in @FacesConverter, I think it
> > worked when i used jndi (global) name as specified in tomee log @ startup
> > (see below).
> >
> > Dec 20, 2013 8:50:56 AM org.apache.openejb.assembler.classic.JndiBuilder
> > bind
> > INFO: Jndi(name=UsersFacadeLocalBean) --> Ejb(deployment-id=UsersFacade)
> >
> > Dec 20, 2013 8:50:56 AM org.apache.openejb.assembler.classic.JndiBuilder
> > bind
> > INFO: Jndi(name=global/webapp/UsersFacade!jpa.session.UsersFacade) -->
> > Ejb(deployment-id=UsersFacade)
> >
> > Dec 20, 2013 8:50:56 AM org.apache.openejb.assembler.classic.JndiBuilder
> > bind
> > INFO: Jndi(name=global/webapp/UsersFacade) -->
> > Ejb(deployment-id=UsersFacade)
> >
> >
> definition of UsersFacade (which was generated by NetBeans from database,
> years ago...smile).
>
> @Stateless
> public class UsersFacade extends AbstractFacade<Users> {
>
> and the abstract class (i'm sure you've seen this, too, if/since you're
> NetBeans user)
>
> public abstract class AbstractFacade<T> {
>
>
> and definition of converter (I am using OmniFaces 1.6+)
>
>
> import javax.ejb.EJB;
> import javax.faces.component.UIComponent;
> import javax.faces.context.FacesContext;
> import javax.faces.convert.Converter;
> import javax.faces.convert.FacesConverter;
> import jpa.entities.Users;
>
> @FacesConverter(forClass = Users.class)
> public class UsersConverter implements Converter {
>
>     @EJB
>     private jpa.session.UsersFacade ejbFacade;
>
>     @Override
>     public Object getAsObject(FacesContext facesContext, UIComponent
> component, String value) {
>         if (value == null || value.length() == 0) {
>             return null;
>         }
>         return ejbFacade.find(value);
>     }
>
>     @Override
>     public String getAsString(FacesContext facesContext, UIComponent
> component, Object object) {
>         if (object == null) {
>             return null;
>         }
>         if (object instanceof Users) {
>             Users o = (Users) object;
>             return o.getUserName();
>         } else {
>             throw new IllegalArgumentException("object " + object + " is of
> type " + object.getClass().getName() + "; expected type: " +
> Users.class.getName());
>         }
>     }
> }
>



-- 
-------------------------------------------------------------------
*SCJA. José Luis Cetina*
-------------------------------------------------------------------

Reply via email to