[jboss-user] [JBoss Seam] - Re: @DataModel makes me go nuts or it's a bug ?

dexjam do-not-reply at jboss.com
Mon Jan 7 08:53:41 EST 2008


Yep, the @Factory seems to be called. The following code produces the according output:

Bean:

  | @Stateful
  | @Scope(SESSION)
  | @Name("admin")
  | public class AdminUserBean implements Serializable, AdminUser {
  | 
  |     
  |     @PersistenceContext()
  |     private EntityManager entityManager;
  |     
  |     @DataModel()
  |     private List<User> userList;
  |     
  |     @Logger private static Log log;
  | 
  |     @Factory(value="userList")
  |     public void fetchUserList() {
  |         log.info("Fetching User list");
  |        this.userList = entityManager.createNamedQuery("User.findAll").getResultList();
  |        if (userList == null)
  |            log.info("Userlist is null ...");
  |        else {
  |            log.info("User list size: " + userList.size());
  |            User tmp = userList.get(0);
  |            log.info("Username "+tmp.getUsername());
  |        }
  |     }
  | 
  |     @Observer("org.jboss.seam.beforePhase")
  |     public void checkBeforePhase() {
  |         log.info("before Phase happened ...");
  |         if (userList == null)
  |             log.info("Userlist is null ...");
  |     }
  |     
  |     @Observer("org.jboss.seam.afterPhase")
  |     public void checkAfterPhase() {
  |         log.info("after Phase happened ...");
  |         if (userList == null)
  |             log.info("Userlist is null ...");
  |         
  |     }
  |     
  |     @Observer("org.jboss.seam.preSetVariable.userList")
  |     public void checkPreSetUserList() {
  |      log.info("Before setting userList");
  |     }
  |     
  |     @Observer("org.jboss.seam.postSetVariable.userList")
  |     public void checkPostSetUserList() {
  |         log.info("After setting userList");
  |     }
  |     
  |     @Observer("org.jboss.seam.preRemoveVariable.userList")
  |     public void checkPreRemoveVariable() {
  |        log.info("Before removing userList"); 
  |     }   
  |     
  |     @Observer("org.jboss.seam.postRemoveVariable.userList")
  |     public void checkPostRemoveVariable() {
  |        log.info("After removing userList");  
  |     }
  |     
  |     @Remove @Destroy
  |     public void destroy() {
  |         //No special treatment
  |     }
  |     
  | }
  | 

Local interface (maybe s.th. wrong here, but i don't think so)

  | @Local
  | public interface AdminUser {
  |     public void destroy();
  |     public void fetchUserList();
  |     public void checkBeforePhase();
  |     public void checkAfterPhase();
  |     public void checkPreSetUserList();
  |     public void checkPostSetUserList();
  |     public void checkPreRemoveVariable();
  |     public void checkPostRemoveVariable();
  | }
  | 

XHTML fragment:


  | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  | <html xmlns="http://www.w3.org/1999/xhtml"
  |       xmlns:ui="http://java.sun.com/jsf/facelets"
  |       xmlns:rich="http://richfaces.org/rich"
  |       xmlns:a4j="http://richfaces.org/a4j"
  |       xmlns:s="http://jboss.com/products/seam/taglib"
  |       xmlns:h="http://java.sun.com/jsf/html">
  |     
  |     <ui:composition template="#{theme.template}">
  |         <ui:define name="content">
  |             <h:dataTable value="#{userList}" var ="myUser">
  |                 <h:column>
  |                     <s:link>
  |                         <h:outputText value="#{myUser.username}"/>
  |                     </s:link>
  |                 </h:column>
  |             </h:dataTable>
  |         </ui:define>
  |     </ui:composition>
  |     
  | </html>
  | 

Log 

  | 13:39:23,955 INFO  [STDOUT] 13:39:23,955 INFO  [Contexts] starting up: org.jboss.seam.security.identity
  | 13:39:23,955 INFO  [STDOUT] 13:39:23,955 INFO  [Contexts] starting up: org.jboss.seam.web.session
  | 13:39:23,975 INFO  [STDOUT] 13:39:23,975 INFO  [AdminUserBean] before Phase happened ...
  | 13:39:23,975 INFO  [STDOUT] 13:39:23,975 INFO  [AdminUserBean] Userlist is null ...
  | 13:39:24,043 INFO  [STDOUT] 13:39:24,043 INFO  [AdminUserBean] after Phase happened ...
  | 13:39:24,043 INFO  [STDOUT] 13:39:24,043 INFO  [AdminUserBean] Userlist is null ...
  | 13:39:24,094 INFO  [STDOUT] 13:39:24,094 INFO  [AdminUserBean] before Phase happened ...
  | 13:39:24,095 INFO  [STDOUT] 13:39:24,094 INFO  [AdminUserBean] Userlist is null ...
  | 13:39:24,362 ERROR [STDERR] 07.01.2008 13:39:24 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
  | INFO: Added Library from: jar:file:/data/programs/jboss-4.2.2.GA/server/default/tmp/deploy/tmp6568cbc.ear-contents/cbc-war-exp.war/WEB-INF/lib/jboss-seam-ui-2.0.1.CR1.jar!/META-INF/s.taglib.xml
  | 13:39:24,381 ERROR [STDERR] 07.01.2008 13:39:24 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
  | INFO: Added Library from: jar:file:/data/programs/jboss-4.2.2.GA/server/default/tmp/deploy/tmp6568cbc.ear-contents/cbc-war-exp.war/WEB-INF/lib/jsf-facelets-1.1.14.jar!/META-INF/jsf-core.taglib.xml
  | 13:39:24,385 ERROR [STDERR] 07.01.2008 13:39:24 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
  | INFO: Added Library from: jar:file:/data/programs/jboss-4.2.2.GA/server/default/tmp/deploy/tmp6568cbc.ear-contents/cbc-war-exp.war/WEB-INF/lib/jsf-facelets-1.1.14.jar!/META-INF/jsf-html.taglib.xml
  | 13:39:24,438 ERROR [STDERR] 07.01.2008 13:39:24 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
  | INFO: Added Library from: jar:file:/data/programs/jboss-4.2.2.GA/server/default/tmp/deploy/tmp6568cbc.ear-contents/cbc-war-exp.war/WEB-INF/lib/jsf-facelets-1.1.14.jar!/META-INF/jsf-ui.taglib.xml
  | 13:39:24,477 ERROR [STDERR] 07.01.2008 13:39:24 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
  | INFO: Added Library from: jar:file:/data/programs/jboss-4.2.2.GA/server/default/tmp/deploy/tmp6568cbc.ear-contents/cbc-war-exp.war/WEB-INF/lib/jsf-facelets-1.1.14.jar!/META-INF/jstl-core.taglib.xml
  | 13:39:24,481 ERROR [STDERR] 07.01.2008 13:39:24 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
  | INFO: Added Library from: jar:file:/data/programs/jboss-4.2.2.GA/server/default/tmp/deploy/tmp6568cbc.ear-contents/cbc-war-exp.war/WEB-INF/lib/jsf-facelets-1.1.14.jar!/META-INF/jstl-fn.taglib.xml
  | 13:39:24,503 ERROR [STDERR] 07.01.2008 13:39:24 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
  | INFO: Added Library from: jar:file:/data/programs/jboss-4.2.2.GA/server/default/tmp/deploy/tmp6568cbc.ear-contents/cbc-war-exp.war/WEB-INF/lib/richfaces-ui-3.1.3.GA.jar!/META-INF/a4j.taglib.xml
  | 13:39:24,563 ERROR [STDERR] 07.01.2008 13:39:24 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
  | INFO: Added Library from: jar:file:/data/programs/jboss-4.2.2.GA/server/default/tmp/deploy/tmp6568cbc.ear-contents/cbc-war-exp.war/WEB-INF/lib/richfaces-ui-3.1.3.GA.jar!/META-INF/ajax4jsf.taglib.xml
  | 13:39:24,612 ERROR [STDERR] 07.01.2008 13:39:24 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
  | INFO: Added Library from: jar:file:/data/programs/jboss-4.2.2.GA/server/default/tmp/deploy/tmp6568cbc.ear-contents/cbc-war-exp.war/WEB-INF/lib/richfaces-ui-3.1.3.GA.jar!/META-INF/rich.taglib.xml
  | 13:39:24,615 ERROR [STDERR] 07.01.2008 13:39:24 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
  | INFO: Added Library from: jar:file:/data/programs/jboss-4.2.2.GA/server/default/tmp/deploy/tmp6568cbc.ear-contents/cbc-war-exp.war/WEB-INF/lib/richfaces-ui-3.1.3.GA.jar!/META-INF/richfaces.taglib.xml
  | 13:39:24,799 INFO  [STDOUT] 13:39:24,799 INFO  [AdminUserBean] Fetching User list
  | 13:39:24,800 INFO  [STDOUT] Hibernate: select user0_.id as id36_, user0_.location as location36_, user0_.password as password36_, user0_.username as username36_, user0_.firstName as firstName36_, user0_.lastName as lastName36_, user0_.streetName as streetName36_, user0_.confirmedUser as confirme8_36_, user0_.image as image36_, user0_.streetNumber as streetN10_36_, user0_.zipCode as zipCode36_ from User user0_
  | 13:39:24,801 INFO  [STDOUT] 13:39:24,801 INFO  [AdminUserBean] User list size: 4
  | 13:39:24,801 INFO  [STDOUT] 13:39:24,801 INFO  [AdminUserBean] Username j
  | 13:39:24,802 INFO  [STDOUT] 13:39:24,802 INFO  [AdminUserBean] Before setting userList
  | 13:39:24,802 INFO  [STDOUT] 13:39:24,802 INFO  [AdminUserBean] After setting userList
  | 13:39:24,808 INFO  [STDOUT] 13:39:24,808 INFO  [AdminUserBean] after Phase happened ...
  | 

I hope that this gives you any idea? Maybe it's a packaging problem?

Packaging is like follows:

EAR:

  | Archive:  cbc.ear
  |    creating: META-INF/
  |   inflating: META-INF/MANIFEST.MF    
  |    creating: lib/
  |   inflating: META-INF/jboss-app.xml  
  |   inflating: META-INF/application.xml  
  |   inflating: cbc-war.war             
  |   inflating: lib/hibernate-commons-annotations-3.0.0.ga.jar  
  |   inflating: lib/commons-beanutils-1.7.0.jar  
  |   inflating: lib/dom4j-1.6.1.jar     
  |   inflating: lib/log4j-1.2.14.jar    
  |   inflating: lib/commons-digester-1.8.jar  
  |   inflating: lib/commons-collections-3.2.jar  
  |   inflating: lib/hibernate-validator-3.0.0.GA.jar  
  |   inflating: lib/jboss-archive-browsing-5.0.0alpha-200607201-119.jar  
  |   inflating: lib/jboss-el-2.0.1-SNAPSHOT.jar  
  |   inflating: lib/richfaces-api-3.1.3.GA.jar  
  |   inflating: lib/commons-logging-1.0.4.jar  
  |   inflating: jboss-seam-2.0.1.CR1.jar  
  |   inflating: cbc-ejb.jar   
  | 

EJB:

  | Archive:  cbc-ejb.jar
  | replace META-INF/MANIFEST.MF? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
  |   inflating: META-INF/MANIFEST.MF    
  |    creating: cbc/
  |    creating: cbc/entity/
  |    creating: cbc/auth/
  |    creating: cbc/ui/
  |   inflating: seam.properties         
  |   inflating: cbc/entity/User.class  
  |   inflating: cbc/auth/AuthenticatorBean.class  
  |   inflating: cbc/auth/Authenticator.class  
  |   inflating: cbc/ui/AdminUser.class  
  |   inflating: cbc/ui/AdminUserBean.class  
  |   inflating: import.sql              
  |   inflating: META-INF/persistence.xml  
  |   inflating: ejb-jar.xml             
  |    creating: META-INF/maven/cbc-ejb/
  |   inflating: META-INF/maven/cbc-ejb/pom.xml  
  |   inflating: META-INF/maven/cbc-ejb/pom.properties  
  | 

WAR:

  | replace META-INF/MANIFEST.MF? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
  |   inflating: META-INF/MANIFEST.MF    
  |    creating: WEB-INF/
  |    creating: WEB-INF/lib/
  |    creating: WEB-INF/classes/
  |    creating: css/
  |    creating: css/images/
  |    creating: templates/
  |    creating: admin/
  |    creating: images/
  |   inflating: WEB-INF/components.xml  
  |   inflating: WEB-INF/lib/jsf-facelets-1.1.14.jar  
  |   inflating: WEB-INF/lib/richfaces-impl-3.1.3.GA.jar  
  |   inflating: WEB-INF/lib/richfaces-ui-3.1.3.GA.jar  
  |   inflating: WEB-INF/lib/jboss-seam-debug-2.0.1.CR1.jar  
  |   inflating: WEB-INF/lib/jboss-seam-ui-2.0.1.CR1.jar  
  |   inflating: WEB-INF/pages.xml       
  |   inflating: WEB-INF/classes/cbcBase.properties  
  |   inflating: WEB-INF/classes/cbc.properties  
  |   inflating: WEB-INF/faces-config.xml  
  |   inflating: WEB-INF/web.xml         
  |   inflating: css/
  |   .
  |   .
  | 

Any help/ideas are appreciated of course ;)

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

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



More information about the jboss-user mailing list