[jboss-user] [JBoss Seam] - NullPointerException when get a row from a list

dago do-not-reply at jboss.com
Mon Feb 5 02:56:23 EST 2007


here is a class
package book;

import static javax.ejb.TransactionAttributeType.REQUIRES_NEW;
import static org.jboss.seam.ScopeType.SESSION;

import java.io.Serializable;
import java.util.List;

import javax.ejb.Remove;
import javax.ejb.Stateful;
import javax.ejb.TransactionAttribute;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Logger;
import org.jboss.seam.annotations.Destroy;
import org.jboss.seam.annotations.Factory;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Observer;
import org.jboss.seam.annotations.Out;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.datamodel.DataModel;
import org.jboss.seam.annotations.datamodel.DataModelSelection;
import org.jboss.seam.core.FacesMessages;
import org.jboss.seam.log.Log;

@Stateful
@Scope(ScopeType.SESSION)
@LoggedIn
@Name("cnMessageActionTest")
public class CnMessageActionTest implements CnMessageTestInterface
{
    @PersistenceContext
    private EntityManager em;
	   
    @DataModel
    private List cnMessages;
    
    //@Out(required=false)
    //@PersistenceContext
    private CnMessage cnMessage;    

    @Factory
    //@Observer("CnMessage hello")    
    public void getCnMessages()
    {
    	cnMessages = em.createQuery("from CnMessage").getResultList();
    	//cnMessage = cnMessages.get(0);
    }
    public void getCnMessage(String enMsg){
    	cnMessage = cnMessages.get(1);
    	
    	//return "#{cnMessages.cnMsg}";
    }
    
    
    @Destroy @Remove
    public void destroy() 
    {}
}  

when i call the method "getCnMessage" from another class


public class UITicker extends UIOutput {
	private CnMessageActionTest cmat;

	
	public void encodeBegin(FacesContext ctx) throws IOException {
		
		ResponseWriter writer = ctx.getResponseWriter();
	    writer.startElement("div", this);
	   
	    String enMsg = (String)getAttributes().get("enMsg");
	    
	    cmat = new CnMessageActionTest();
	    cmat.getCnMessage(enMsg);
	    

	    if (enMsg!=null)
	    	writer.writeAttribute("enMsg", enMsg, null);
	    
	    
	    String style = (String)getAttributes().get("style");
	    if (style!=null)
	    	writer.writeAttribute("style", style, null);

	    String styleClass = (String)getAttributes().get("styleClass");
	    if (styleClass!=null)
	    	writer.writeAttribute("class", styleClass, null);
	}

	public void encodeEnd(FacesContext context) throws IOException {
		ResponseWriter writer = context.getResponseWriter();
	    writer.endElement("div");
	}
}

it thow exception:

java.lang.NullPointerException
	at book.CnMessageActionTest.getCnMessage(CnMessageActionTest.java:60)
	at ticker.UITicker.encodeBegin(UITicker.java:55)
	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:232)
	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:239)
	at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:554)
	at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:352)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at book.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:42)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:30)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
	at java.lang.Thread.run(Thread.java:619)
 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4011187#4011187

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4011187



More information about the jboss-user mailing list