[jboss-user] [JBoss Seam] - Pageflow executed before the model values are applied

hazlorealidad do-not-reply at jboss.com
Wed Sep 13 15:17:07 EDT 2006


I am seeing a problem in that the pageflow seems to be executed before the model values are
applied, is this a bug or is it a problem with my configuration.

//the page is first requested
14:03:23,365 INFO  [DocumentRegisterEntryBean] Start called
14:03:23,380 INFO  [DocumentRegisterEntryBean] getType null
14:03:23,402 INFO  [DocumentRegisterEntryBean] getType null

//the form is submitted, getType is called by the pageflow before the set method. 
14:03:27,340 INFO  [DocumentRegisterEntryBean] getType null
14:03:27,341 INFO  [DocumentRegisterEntryBean] setType register
14:03:27,342 ERROR [SeamExceptionFilter] uncaught exception handled by Seam
javax.servlet.ServletException
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:156)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain
........
Caused by: org.jbpm.JbpmException: decision expression '#{documentRegister.type}' returned null
        at org.jbpm.graph.node.Decision.execute(Decision.java:110)
        ... 46 more


The form

<h:form>
<h:outputText value="#{messages.itIsA}"/>
<h:selectOneRadio value="#{documentRegisterEntry.type}">
<f:selectItem
    itemValue="document" itemLabel="#{messages.document}"/>
  <f:selectItem 
    itemValue="register" itemLabel="#{messages.register}"/>
</h:selectOneRadio>
          
  <h:commandButton action="next" value="#{messages.next}" />
</h:form>

The code

@Scope(SESSION)
@Name("documentRegisterEntry")
public class DocumentRegisterEntryBean implements Serializable, DocumentRegisterEntry
{

	private String type;

	@Logger 
	private Log logger;
	
	@In(create=true)
	private Document document;
	
   @PersistenceContext()//type=EXTENDED)                                                  
   private EntityManager em;
   
   @Create
   //@Begin()
   @Begin(pageflow="documentRegisterEntry")
   public void start()
   {
	   logger.info("Start called");
   }
   
   @End
// @Transactional()   
   public void save()
   {
	   logger.info("Save called");
   }
   
   @Remove @Destroy                                                                     
   public void destroy() 
   {
	   logger.info("Destroy called");
   }

	public Document getDocument() 
	{
		logger.info("getDocument "+document);		
		return document;
	}
		
	public void setDocument(Document document) 
	{
		logger.info("setDocument "+document);
		this.document = document;
	}
	
	public String getType() 
	{
		logger.info("getType "+type);		
		return type;
	}
		
	public void setType(String type) 
	{
		logger.info("setType "+type);		
		this.type = type;
	}


The pageflow

<?xml version="1.0"?>

<pageflow-definition name="documentRegisterEntry">
    <start-page name="type" view-id="/documentOrRegister.xhtml">
        
        
    </start-page>

    
        
        
            <!--  action is never triggered -->
        
    

   <page name="register" view-id="/register.xhtml">
        
        
        
    

    <page name="document" view-id="/document.xhtml">
        
        
        
                 
        
    


Thanks in advance
Andy Bailey
www.hazlorealidad.com

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

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



More information about the jboss-user mailing list