[jboss-user] [JBoss Seam] - Re: JBoss AS 4.2.2 & Seam shutdown exception

msystems do-not-reply at jboss.com
Wed Oct 31 18:18:47 EDT 2007


  | package com.mediatorsystems.workoutjournal.service;
  | 
  | import org.jboss.seam.ScopeType;
  | import org.jboss.seam.international.LocaleSelector;
  | import org.jboss.seam.annotations.*;
  | import org.jboss.seam.log.Log;
  | 
  | import javax.ejb.EJB;
  | import javax.ejb.Remove;
  | import javax.ejb.Stateful;
  | import javax.persistence.EntityManager;
  | import javax.persistence.PersistenceContext;
  | import javax.persistence.PersistenceContextType;
  | import javax.persistence.Query;
  | import java.util.List;
  | 
  | /**
  |  * @author Kenneth Christensen
  |  *         Copyright (c) 2006, 2007 Mediator Systems ApS. All rights reserved.
  |  */
  | @Stateful
  | @Name("commonBean")
  | @Scope(ScopeType.SESSION)
  | public class CommonBean implements CommonLocal {
  |     @Logger
  |     private Log log;
  | 
  |     @PersistenceContext(type = PersistenceContextType.EXTENDED)
  |     private EntityManager em;
  | 
  |     @In
  |     private LocaleSelector localeSelector;
  | 
  |     @EJB
  |     private UserLocal userBean;
  | 
  |     public boolean existByName(String queryName, String name) {
  |         Query query = em.createNamedQuery(queryName);
  |         query.setParameter("userId", userBean.getUserFromSession().getId())
  |                 .setParameter("language", localeSelector.getLanguage())
  |                 .setParameter("nameLowercase", name.toLowerCase());
  | 
  |         return (Long) query.getSingleResult() > 0;
  |     }
  | 
  |     public Object loadByName(String queryName, String name) {
  |         return em.createNamedQuery(queryName)
  |                 .setParameter("name", name)
  |                 .setParameter("nameLowercase", name.toLowerCase())
  |                 .setParameter("userId", userBean.getUserFromSession().getId())
  |                 .getSingleResult();
  |     }
  | 
  |     public Object[] findName(String queryPrefixName, boolean ownByUser, String prefix, Object category,
  |                              int fetchDataSize, int pagingIndex) {
  |         log.debug("Prefix: #0 Category: #1 Fetch Data Size: #2 Paging Index: #3",
  |                 prefix, category, fetchDataSize, pagingIndex);
  | 
  |         Query query;
  |         Object result[] = new Object[2];
  | 
  |         if (pagingIndex > -1) {
  |             StringBuffer queryName = new StringBuffer();
  |             queryName.append(queryPrefixName);
  | 
  |             if (category != null) {
  |                 queryName.append(".countByLanguageAndCategoryAndName");
  |                 if (ownByUser) {
  |                     queryName.append("AndOwnByUser");
  |                 }
  | 
  |                 query = em.createNamedQuery(queryName.toString()).setParameter("category", category);
  |             } else {
  |                 queryName.append(".countByLanguageAndName");
  |                 if (ownByUser) {
  |                     queryName.append("AndOwnByUser");
  |                 }
  | 
  |                 query = em.createNamedQuery(queryName.toString());
  |             }
  | 
  |             query.setParameter("userId", userBean.getUserFromSession().getId())
  |                     .setParameter("language", localeSelector.getLanguage())
  |                     .setParameter("nameLowercase",
  |                             prefix.trim().length() > 0 ? prefix.toLowerCase() + "%" : prefix);
  | 
  |             result[0] = query.getSingleResult();
  |         } else {
  |             pagingIndex = 0;
  |         }
  | 
  |         StringBuffer queryName = new StringBuffer();
  |         queryName.append(queryPrefixName);
  | 
  |         if (category != null) {
  |             queryName.append(".findByLanguageAndCategoryAndName");
  |             if (ownByUser) {
  |                 queryName.append("AndOwnByUser");
  |             }
  | 
  |             query = em.createNamedQuery(queryName.toString()).setParameter("category", category);
  |         } else {
  |             queryName.append(".findByLanguageAndName");
  |             if (ownByUser) {
  |                 queryName.append("AndOwnByUser");
  |             }
  | 
  |             query = em.createNamedQuery(queryName.toString());
  |         }
  | 
  |         query.setParameter("userId", userBean.getUserFromSession().getId())
  |                 .setParameter("language", localeSelector.getLanguage())
  |                 .setParameter("nameLowercase",
  |                         prefix.trim().length() > 0 ? prefix.toLowerCase() + "%" : prefix)
  |                 .setFirstResult(fetchDataSize * pagingIndex)
  |                 .setMaxResults(fetchDataSize);
  | 
  |         result[1] = query.getResultList();
  | 
  |         log.debug("Found #0 name(s) with prefix: #1 Category: #2",
  |                 result[0] != null ? result[0] : ((List) result[1]).size(), prefix, category);
  | 
  |         return result;
  |     }
  | 
  |     public void detach() {
  |         em.clear();
  |     }
  | 
  |     @Remove @Destroy
  |     public void destroy() {
  |     }
  | }
  | 

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

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



More information about the jboss-user mailing list