From jira-events at lists.jboss.org Tue May 25 12:07:55 2010 Content-Type: multipart/mixed; boundary="===============6216847284877560400==" MIME-Version: 1.0 From: Lincoln Baxter III (JIRA) To: seam-issues at lists.jboss.org Subject: [seam-issues] [JBoss JIRA] Commented: (SEAMFACES-18) NPE when deploying an app with Seam Faces Date: Tue, 25 May 2010 12:07:55 -0400 Message-ID: <484217336.3613.1274803675178.JavaMail.tomcat@jira02.app.mwc.hst.phx2.redhat.com> In-Reply-To: 1461042493.3590.1274802834876.JavaMail.tomcat@jira02.app.mwc.hst.phx2.redhat.com --===============6216847284877560400== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable [ https://jira.jboss.org/browse/SEAMFACES-18?page=3Dcom.atlassian.jira.= plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D12532360#a= ction_12532360 ] = Lincoln Baxter III commented on SEAMFACES-18: --------------------------------------------- /* * JBoss, Home of Professional Open Source * Copyright 2010, Red Hat, Inc., and individual contributors * by the @authors tag. See the copyright.txt in the distribution for a * full listing of individual contributors. * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ package org.jboss.seam.faces.util; import java.util.ArrayList; import java.util.List; import javax.enterprise.context.Dependent; import javax.enterprise.context.spi.CreationalContext; import javax.enterprise.inject.spi.AnnotatedType; import javax.enterprise.inject.spi.Bean; import javax.enterprise.inject.spi.BeanManager; import javax.enterprise.inject.spi.InjectionTarget; import javax.inject.Inject; import org.jboss.seam.faces.component.FormValidationTypeOverrideExtension; /** * A utility providing common functions to simply use of {@link BeanManager} * = * @author Lincoln Baxter, III<= /a> * = */ public class BeanManagerUtils { @Inject private BeanManager manager; @Inject FormValidationTypeOverrideExtension classExtension; /** * Perform @{@link Inject} on an object as if it were a bean managed by = CDI. * = * @param instance */ @SuppressWarnings("unchecked") public void injectNonContextualInstance(final Object instance) { if (instance !=3D null) { CreationalContext creationalContext =3D manager.createCrea= tionalContext(null); InjectionTarget injectionTarget =3D (InjectionTarget) manager.createInjectionTarget(getAnnotatedType(instance)); injectionTarget.inject(instance, creationalContext); } } private AnnotatedType getAnnotatedType(final Object in= stance) { AnnotatedType result =3D null; if (classExtension.hasOverriddenType(instance.getClass())) { result =3D classExtension.getOverriddenType(instance.getClass()); } else { result =3D manager.createAnnotatedType(instance.getClass()); } return result; } @SuppressWarnings("unchecked") public boolean isDependentScoped(final Class type) { Bean bean =3D (Bean) manager.resolve(manager.getBeans(type)); if (bean !=3D null) { return Dependent.class.equals(bean.getScope()); } return false; } /** * Get a single CDI managed instance of a specific class. Return only the * first result if multiple beans are available. * = * @param type The class for which to return an instance. * @return The managed instance, or null if none could be provided. */ @SuppressWarnings("unchecked") public T getContextualInstance(final Class type) { Bean bean =3D (Bean) manager.resolve(manager.getBeans(type)); if (bean !=3D null) { CreationalContext context =3D manager.createCreationalContext(b= ean); T result =3D (T) manager.getReference(bean, type, context); return result; } return null; } /** * Get all CDI managed instances of a specific class. Return results in a * {@link List} in no specific order. * = * @param type The class for which to return instances. */ @SuppressWarnings("unchecked") public List getContextualInstances(final Class type) { List result =3D new ArrayList(); for (Bean bean : manager.getBeans(type)) { CreationalContext context =3D (CreationalContext) manager.cr= eateCreationalContext(bean); result.add((T) manager.getReference(bean, type, context)); } return result; } } > NPE when deploying an app with Seam Faces > ----------------------------------------- > > Key: SEAMFACES-18 > URL: https://jira.jboss.org/browse/SEAMFACES-18 > Project: Seam Faces > Issue Type: Bug > Components: JSF CDI Integration > Affects Versions: 3.0.0.Alpha2 > Environment: Glassfish v3 on Fedora 12 with Sun Java 1.6 u20 > Reporter: Brian Leathem > > I've developed an app using custom @ViewScoped and @FlashScoped annotatio= ns (see: http://github.com/verborghs/jsf-cdi). I swapped out the custom sc= ope implementations with ones from the Seam3 project (changing the import s= tatements accordingly). On deploying the app, I get the NPE below. > I'll work on creating a small test project to reproduce this error. > java.lang.NullPointerException > at org.jboss.weld.BeanManagerImpl.getReference(BeanManagerImpl.ja= va:980) > at org.jboss.seam.faces.util.BeanManagerUtils.getContextualInstan= ce(BeanManagerUtils.java:69) > at org.jboss.seam.faces.environment.SeamApplicationWrapper.create= Converter(SeamApplicationWrapper.java:77) > at com.sun.faces.facelets.tag.jsf.ConverterTagHandlerDelegateImpl= .createConverter(ConverterTagHandlerDelegateImpl.java:148) > at com.sun.faces.facelets.tag.jsf.ConverterTagHandlerDelegateImpl= .applyAttachedObject(ConverterTagHandlerDelegateImpl.java:118) > at javax.faces.view.facelets.FaceletsAttachedObjectHandler.applyA= ttachedObject(FaceletsAttachedObjectHandler.java:91) > at com.sun.faces.facelets.tag.jsf.ConverterTagHandlerDelegateImpl= .apply(ConverterTagHandlerDelegateImpl.java:73) > at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(Deleg= atingMetaTagHandler.java:114) > at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHa= ndler(DelegatingMetaTagHandler.java:120) > at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl= .apply(ComponentTagHandlerDelegateImpl.java:204) > at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(Deleg= atingMetaTagHandler.java:114) > at javax.faces.view.facelets.CompositeFaceletHandler.apply(Compos= iteFaceletHandler.java:91) > at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHa= ndler(DelegatingMetaTagHandler.java:120) > at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl= .apply(ComponentTagHandlerDelegateImpl.java:204) > at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(Deleg= atingMetaTagHandler.java:114) > at javax.faces.view.facelets.CompositeFaceletHandler.apply(Compos= iteFaceletHandler.java:91) > at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHa= ndler(DelegatingMetaTagHandler.java:120) > at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl= .apply(ComponentTagHandlerDelegateImpl.java:204) > at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(Deleg= atingMetaTagHandler.java:114) > at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHa= ndler(DelegatingMetaTagHandler.java:120) > at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl= .apply(ComponentTagHandlerDelegateImpl.java:204) > at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(Deleg= atingMetaTagHandler.java:114) > at javax.faces.view.facelets.CompositeFaceletHandler.apply(Compos= iteFaceletHandler.java:91) > at com.sun.faces.facelets.tag.composite.ImplementationHandler.app= ly(ImplementationHandler.java:74) > at javax.faces.view.facelets.CompositeFaceletHandler.apply(Compos= iteFaceletHandler.java:91) > at com.sun.faces.facelets.compiler.NamespaceHandler.apply(Namespa= ceHandler.java:86) > at com.sun.faces.facelets.compiler.EncodingHandler.apply(Encoding= Handler.java:75) > at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacele= t.java:145) > at com.sun.faces.facelets.tag.jsf.CompositeComponentTagHandler.ap= plyCompositeComponent(CompositeComponentTagHandler.java:342) > at com.sun.faces.facelets.tag.jsf.CompositeComponentTagHandler.ap= plyNextHandler(CompositeComponentTagHandler.java:179) > at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl= .apply(ComponentTagHandlerDelegateImpl.java:204) > at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(Deleg= atingMetaTagHandler.java:114) > at javax.faces.view.facelets.CompositeFaceletHandler.apply(Compos= iteFaceletHandler.java:91) > at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHa= ndler(DelegatingMetaTagHandler.java:120) > at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl= .apply(ComponentTagHandlerDelegateImpl.java:204) > at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(Deleg= atingMetaTagHandler.java:114) > at javax.faces.view.facelets.CompositeFaceletHandler.apply(Compos= iteFaceletHandler.java:91) > at com.sun.faces.facelets.tag.composite.ImplementationHandler.app= ly(ImplementationHandler.java:74) > at javax.faces.view.facelets.CompositeFaceletHandler.apply(Compos= iteFaceletHandler.java:91) > at com.sun.faces.facelets.compiler.NamespaceHandler.apply(Namespa= ceHandler.java:86) > at com.sun.faces.facelets.compiler.EncodingHandler.apply(Encoding= Handler.java:75) > at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacele= t.java:145) > at com.sun.faces.facelets.tag.jsf.CompositeComponentTagHandler.ap= plyCompositeComponent(CompositeComponentTagHandler.java:342) > at com.sun.faces.facelets.tag.jsf.CompositeComponentTagHandler.ap= plyNextHandler(CompositeComponentTagHandler.java:179) > at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl= .apply(ComponentTagHandlerDelegateImpl.java:204) > at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(Deleg= atingMetaTagHandler.java:114) > at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHa= ndler(DelegatingMetaTagHandler.java:120) > at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl= .apply(ComponentTagHandlerDelegateImpl.java:204) > at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(Deleg= atingMetaTagHandler.java:114) > at javax.faces.view.facelets.CompositeFaceletHandler.apply(Compos= iteFaceletHandler.java:91) > at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHa= ndler(DelegatingMetaTagHandler.java:120) > at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl= .apply(ComponentTagHandlerDelegateImpl.java:204) > at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(Deleg= atingMetaTagHandler.java:114) > at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHa= ndler(DelegatingMetaTagHandler.java:120) > at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl= .apply(ComponentTagHandlerDelegateImpl.java:204) > at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(Deleg= atingMetaTagHandler.java:114) > at javax.faces.view.facelets.CompositeFaceletHandler.apply(Compos= iteFaceletHandler.java:91) > at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHa= ndler(DelegatingMetaTagHandler.java:120) > at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl= .apply(ComponentTagHandlerDelegateImpl.java:204) > at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(Deleg= atingMetaTagHandler.java:114) > at com.sun.faces.facelets.tag.ui.DefineHandler.applyDefinition(De= fineHandler.java:97) > at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(Composi= tionHandler.java:172) > at com.sun.faces.facelets.impl.DefaultFaceletContext$TemplateMana= ger.apply(DefaultFaceletContext.java:386) > at com.sun.faces.facelets.impl.DefaultFaceletContext.includeDefin= ition(DefaultFaceletContext.java:357) > at com.sun.faces.facelets.tag.ui.InsertHandler.apply(InsertHandle= r.java:102) > at javax.faces.view.facelets.CompositeFaceletHandler.apply(Compos= iteFaceletHandler.java:91) > at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHa= ndler(DelegatingMetaTagHandler.java:120) > at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl= .apply(ComponentTagHandlerDelegateImpl.java:204) > at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(Deleg= atingMetaTagHandler.java:114) > at javax.faces.view.facelets.CompositeFaceletHandler.apply(Compos= iteFaceletHandler.java:91) > at com.sun.faces.facelets.tag.jsf.core.ViewHandler.apply(ViewHand= ler.java:149) > at javax.faces.view.facelets.CompositeFaceletHandler.apply(Compos= iteFaceletHandler.java:91) > at com.sun.faces.facelets.compiler.NamespaceHandler.apply(Namespa= ceHandler.java:86) > at javax.faces.view.facelets.CompositeFaceletHandler.apply(Compos= iteFaceletHandler.java:91) > at com.sun.faces.facelets.compiler.EncodingHandler.apply(Encoding= Handler.java:75) > at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFace= let.java:301) > at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFace= let.java:360) > at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFace= let.java:339) > at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacel= et(DefaultFaceletContext.java:191) > at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(Composi= tionHandler.java:149) > at com.sun.faces.facelets.compiler.NamespaceHandler.apply(Namespa= ceHandler.java:86) > at com.sun.faces.facelets.compiler.EncodingHandler.apply(Encoding= Handler.java:75) > at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFace= let.java:301) > at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFace= let.java:360) > at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFace= let.java:339) > at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacel= et(DefaultFaceletContext.java:191) > at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(Composi= tionHandler.java:149) > at com.sun.faces.facelets.compiler.NamespaceHandler.apply(Namespa= ceHandler.java:86) > at com.sun.faces.facelets.compiler.EncodingHandler.apply(Encoding= Handler.java:75) > at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacele= t.java:145) > at com.sun.faces.application.view.FaceletViewHandlingStrategy.bui= ldView(FaceletViewHandlingStrategy.java:716) > at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResp= onsePhase.java:106) > at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) > at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.jav= a:139) > at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313) > at org.apache.catalina.core.StandardWrapper.service(StandardWrapp= er.java:1523) > at org.apache.catalina.core.StandardWrapperValve.invoke(StandardW= rapperValve.java:279) > at org.apache.catalina.core.StandardContextValve.invoke(StandardC= ontextValve.java:188) > at org.apache.catalina.core.StandardPipeline.invoke(StandardPipel= ine.java:641) > at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97) > at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke= (PESessionLockingStandardPipeline.java:85) > at org.apache.catalina.core.StandardHostValve.invoke(StandardHost= Valve.java:185) > at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAd= apter.java:332) > at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap= ter.java:233) > at com.sun.enterprise.v3.services.impl.ContainerMapper.service(Co= ntainerMapper.java:165) > at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask= .java:791) > at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.jav= a:693) > at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:= 954) > at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProt= ocolFilter.java:170) > at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(Def= aultProtocolChain.java:135) > at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolCh= ain.java:102) > at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolCh= ain.java:88) > at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolCha= in.java:76) > at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainC= ontextTask.java:53) > at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyConte= xtTask.java:57) > at com.sun.grizzly.ContextTask.run(ContextTask.java:69) > at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(Abstract= ThreadPool.java:330) > at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThr= eadPool.java:309) > at java.lang.Thread.run(Thread.java:619) -- = This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: htt= ps://jira.jboss.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira =20 --===============6216847284877560400==--