5 Replies Latest reply on Nov 11, 2008 8:00 AM by eerriicc

    PersistenceContext injection into a JSF-technology managed-b

    tswall

      I have tried to inject a PersistenceContext into a JSF managed bean POJO as is outlined here. The backing bean is as follows:

      package net.epweb.jsf.backing;
      
      import javax.persistence.EntityManager;
      import javax.persistence.PersistenceContext;
      
      import net.epweb.ejb.entity.*;
      
      public class Eraseme {
      
       private @PersistenceContext(unitName = "lynxManager") EntityManager em;
      
       private String lastName;
       private String firstName;
      
       public String getLastName() {
       return lastName;
       }
       public void setLastName(String lastName) {
       this.lastName = lastName;
       }
      
       public String getFirstName() {
       return firstName;
       }
       public void setFirstName(String firstName) {
       this.firstName = firstName;
       }
      
       public String createPatient() {
       Patient p = new Patient();
       System.out.println("Create patient");
       System.out.println(p);
       p.setLastName(lastName);
       p.setFirstName(firstName);
       System.out.print("Entity manager: ");
       System.out.println(em.toString());
       em.persist(p);
       return "success";
       }
      }
      


      The managed bean is confidured as follows:
       <managed-bean>
       <managed-bean-name>eraseme</managed-bean-name>
       <managed-bean-class>net.epweb.jsf.backing.Eraseme</managed-bean-class>
       <managed-bean-scope>application</managed-bean-scope>
       </managed-bean>
      


      When the JSF page that references the managed bean is referenced JBoss5.0 fails with the following stack trace:
      12:51:09,301 ERROR [JBossInjectionProvider] Injection failed on managed bean.
      javax.naming.NameNotFoundException: net.epweb.jsf.backing.Eraseme not bound
       at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
       at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
       at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
       at org.jnp.server.NamingServer.lookup(NamingServer.java:267)
       at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:628)
       at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:590)
       at javax.naming.InitialContext.lookup(InitialContext.java:351)
       at org.apache.catalina.util.DefaultAnnotationProcessor.lookupFieldResource(DefaultAnnotationProcessor.java:203)
       at org.apache.catalina.util.DefaultAnnotationProcessor.processAnnotations(DefaultAnnotationProcessor.java:149)
       at org.jboss.web.jsf.integration.injection.JBossInjectionProvider.inject(JBossInjectionProvider.java:93)
       at com.sun.faces.config.ManagedBeanFactoryImpl.newInstance(ManagedBeanFactoryImpl.java:312)
       at com.sun.faces.application.ApplicationAssociate.createAndMaybeStoreManagedBeans(ApplicationAssociate.java:470)
       at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:82)
       at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
       at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:62)
       at com.sun.faces.el.ChainAwareVariableResolver.resolveVariable(ChainAwareVariableResolver.java:96)
       at org.apache.myfaces.trinidadinternal.el.TrinidadVariableResolver.resolveVariable(TrinidadVariableResolver.java:52)
       at com.sun.faces.el.VariableResolverChainWrapper.getValue(VariableResolverChainWrapper.java:93)
       at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
       at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:62)
       at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:45)
       at org.apache.el.parser.AstValue.getValue(AstValue.java:86)
       at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
       at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
       at javax.faces.component.UIOutput.getValue(UIOutput.java:173)
       at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:100)
       at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:279)
       at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:207)
       at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:848)
       at javax.faces.component.UIComponent.encodeAll(UIComponent.java:893)
       at javax.faces.component.UIComponent.encodeAll(UIComponent.java:889)
       at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:271)
       at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:182)
       at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:178)
       at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:171)
       at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:133)
       at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:244)
       at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:327)
       at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:291)
       at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:214)
       at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:90)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
       at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:174)
       at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:86)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:818)
       at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:624)
       at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
       at java.lang.Thread.run(Thread.java:613)
      


      I have spent several hours trying to sort out why this is not working, but cannot get anywhere. It would appear from the Sun JEE5 spec and JBoss5.0/JSF WIKI that this should be possible. Any thoughts would be VERY much appreciated.

      Thanks,
      Scott Wall

        • 1. Re: PersistenceContext injection into a JSF-technology manag
          tswall

          I have gotten the managed-bean to obtain an EntityManager reference now by calling:

          EntityManagerFactory emf = Persistence.createEntityManagerFactory("lynxManager");
          EntityManager em = emf.createEntityManager();
          


          I still cannot inject it via:
          @PersistenceContext(unitName="lynxManager")
          private EntityManager em;
          


          or via:
          @PersistenceUnit(unitName="lynxManager")
          private EntityManagerFactory emf;
          


          I believe I've tried every concievable iteration and cannot seem to get any injection scheme to work within a JSF managed-bean. I suppose I have a workable solution, but according to the aforementioned Sun reference (here) I should be able to inject this...

          Any ideas would be greatly appreciated,
          Scott Wall

          • 2. Re: PersistenceContext injection into a JSF-technology manag
            jgenchik

            I have the same problem while using jboss-5.0.0.Beta1.

            • 3. Re: PersistenceContext injection into a JSF-technology manag
              snarff

              I see that this thread is antique, so I hope a solution is available. Nevertheless, I'm having the same problem, so I'd really appreciate a pointer...

              • 4. Re: PersistenceContext injection into a JSF-technology manag
                pedalshoe

                Is there an update for this?

                I received this error trying to use the my EntityManagerFactory:

                @PersistenceUnit(unitName = "CRUDPU")
                 private EntityManagerFactory emf = null;
                
                 public EntityManager getEntityManager() {
                 return emf.createEntityManager();
                 }
                


                The exception:

                18:03:27,156 ERROR [JBossInjectionProvider] Injection failed on managed bean.
                javax.naming.NameNotFoundException: com.cml.entities.ConsumerController not bound
                 at org.jnp.server.NamingServer.getBinding(NamingServer.java:542)
                 at org.jnp.server.NamingServer.getBinding(NamingServer.java:550)
                 at org.jnp.server.NamingServer.getObject(NamingServer.java:556)
                 at org.jnp.server.NamingServer.lookup(NamingServer.java:267)
                 at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:669)
                 at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:629)
                 at javax.naming.InitialContext.lookup(InitialContext.java:351)
                 at org.jboss.web.jsf.integration.injection.JBossInjectionProvider.lookupFieldResource(JBossInjectionProvider.java:241)
                 at org.jboss.web.jsf.integration.injection.JBossInjectionProvider.inject(JBossInjectionProvider.java:169)
                 at com.sun.faces.config.ManagedBeanFactoryImpl.newInstance(ManagedBeanFactoryImpl.java:298)
                 at com.sun.faces.application.ApplicationAssociate.createAndMaybeStoreManagedBeans(ApplicationAssociate.java:527)
                 at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:82)
                 at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
                 at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
                 at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:45)
                 at org.apache.el.parser.AstValue.getTarget(AstValue.java:43)
                 at org.apache.el.parser.AstValue.invoke(AstValue.java:132)
                 at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
                 at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
                 at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
                 at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
                 at javax.faces.component.UICommand.broadcast(UICommand.java:383)
                 at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:447)
                 at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)
                 at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
                 at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
                 at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
                 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
                 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                 at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
                 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
                 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
                 at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:189)
                 at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:90)
                 at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:96)
                 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
                 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                 at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
                 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:309)
                 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
                 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
                 at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
                 at java.lang.Thread.run(Thread.java:595)
                18:03:29,125 WARN [lifecycle] executePhase(RENDER_RESPONSE 6,com.sun.faces.context.FacesContextImpl@88249c) threw exception
                javax.faces.FacesException: org.apache.jasper.el.JspELException: /User/consumer/List.jsp(15,0) '#{consumer.itemCount == 0}' Error reading 'itemCount' on type com.entities.ConsumerController
                 at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:373)
                 at javax.faces.component.UIComponent.encodeAll(UIComponent.java:880)
                 at javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
                 at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
                 at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
                 at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
                 at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:245)
                 at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:176)
                 at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
                 at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
                 at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
                 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
                 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                 at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
                 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
                 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
                 at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:189)
                 at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:90)
                 at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:96)
                 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
                 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                 at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
                 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:309)
                 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
                 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
                 at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
                 at java.lang.Thread.run(Thread.java:595)
                Caused by: org.apache.jasper.el.JspELException: /User/consumer/List.jsp(15,0) '#{consumer.itemCount == 0}' Error reading 'itemCount' on type com.cml.entities.ConsumerController
                 at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:107)
                 at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:370)
                 ... 30 more
                Caused by: java.lang.NullPointerException
                 at com.cml.entities.ConsumerController.getEntityManager(ConsumerController.java:39)
                 at com.cml.entities.ConsumerController.getItemCount(ConsumerController.java:481)
                 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                 at java.lang.reflect.Method.invoke(Method.java:585)
                 at javax.el.BeanELResolver.getValue(BeanELResolver.java:62)
                 at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
                 at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
                 at org.apache.el.parser.AstValue.getValue(AstValue.java:98)
                 at org.apache.el.parser.AstEqual.getValue(AstEqual.java:21)
                 at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
                 at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
                 ... 31 more
                18:03:29,390 ERROR [[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception
                java.lang.NullPointerException
                
                 at com.cml.entities.ConsumerController.getEntityManager(ConsumerController.java:39)
                 at com.cml.entities.ConsumerController.getItemCount(ConsumerController.java:481)
                 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                 at java.lang.reflect.Method.invoke(Method.java:585)
                 at javax.el.BeanELResolver.getValue(BeanELResolver.java:62)
                 at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
                 at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
                 at org.apache.el.parser.AstValue.getValue(AstValue.java:98)
                 at org.apache.el.parser.AstEqual.getValue(AstEqual.java:21)
                 at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
                 at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
                 at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:370)
                 at javax.faces.component.UIComponent.encodeAll(UIComponent.java:880)
                 at javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
                 at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
                 at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
                 at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
                 at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:245)
                 at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:176)
                 at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
                 at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
                 at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
                 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
                 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                 at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
                 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
                 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
                 at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:189)
                 at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:90)
                 at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:96)
                 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
                 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                 at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
                 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:309)
                 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
                 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
                 at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
                 at java.lang.Thread.run(Thread.java:595)
                


                • 5. Re: PersistenceContext injection into a JSF-technology manag
                  eerriicc

                  Guys
                  I have the same problem and I would like to fix it !!!

                  did you fix it ?? tell me how, please!!

                  regards

                  Eric