contentservicebean.java.svn-base
来自「EJB3 Annotation Sample」· SVN-BASE 代码 · 共 154 行
SVN-BASE
154 行
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package com.s7turn.content.session;import com.s7turn.content.entities.Category;import com.s7turn.content.entities.Channel;import com.s7turn.content.entities.Content;import com.s7turn.content.entities.Directory;import com.s7turn.content.entities.SubCategory;import com.s7turn.logging.Logger;import com.s7turn.sdk.content.ContentInfo;import java.util.HashMap; import java.util.List;import java.util.Map; import javax.annotation.Resource;import javax.ejb.EJBContext;import javax.ejb.Stateless;import javax.persistence.EntityManager;import javax.persistence.NoResultException;import javax.persistence.PersistenceContext;import javax.persistence.Query;import javax.xml.ws.WebServiceContext;/** * * @author Long */@Statelesspublic class ContentServiceBean implements ContentServiceLocal { /** * The EJB Context, used to load the user principal */ @Resource private EJBContext ctx; /** * Web SErvice Context, detect if the user is a SOAP user */ @Resource private WebServiceContext wsctx; /** * The persistence Manager */ @PersistenceContext(unitName="s7turn-pu") private EntityManager em; private final static Logger logger = Logger.getLogger( ContentServiceBean.class ); public ContentInfo loadContent(String viewId, String requestLocal) { logger.info( "LoadContent by the view of id %s and locale by %s", viewId, requestLocal ); Query query = em.createNamedQuery("Content.findContentsByResourceId"); query.setParameter("resourceId", viewId); try{ Content ctt = (Content) query.getSingleResult(); return ctt; } catch(NoResultException ex) { return null; } } public Map loadInlineContent(String viewId, String requestLocale) { logger.info( "LoadInlineContent the view of id %s and locale by %s", viewId, requestLocale ); Query query = em.createNamedQuery("Content.findInlineContentsByResourceId"); query.setParameter("resourceId", viewId); query.setParameter("locale", requestLocale); try{ List list = query.getResultList(); Map map = new HashMap(); for( Object c : list ) { ContentInfo ctt = (ContentInfo) c; map.put(ctt.getContentKey(), ctt.getBody()); } return map; } catch(NoResultException ex) { return new HashMap(); } } public void save(Content t) { if( t.getId() == null || new Long(0).equals( t.getId() ) ) { em.persist(t); } else { em.merge(t); } } public void remove(Content t) { em.remove(em.merge(t)); } public Content findById(Long id) { Query q = em.createNamedQuery("Content.findContentById"); q.setParameter("id", id); try{ return (Content) q.getSingleResult(); }catch(NoResultException e){ return null; } } public List<Content> getAllItems() { Query q = em.createNamedQuery("Content.findAllContent"); return q.getResultList(); } public List getContents( Directory dir ) { Query q = em.createNamedQuery("Content.findContentsInDirectory"); q.setParameter("directory", dir ); return q.getResultList(); } public List getContents(Channel chn) { Query q = em.createNamedQuery("Content.findContentByChannel"); q.setParameter("channel", chn ); return q.getResultList(); } public List getContents(Channel chn, Category cate) { Query q = em.createNamedQuery("Content.findContentByCategory"); q.setParameter("channel", chn ); q.setParameter("category", cate ); return q.getResultList(); } public List getContents(Channel chn, Category cate, SubCategory sub) { Query q = em.createNamedQuery("Content.findContentBySubCategory"); q.setParameter("channel", chn ); q.setParameter("category", cate ); q.setParameter("subCategory", sub ); return q.getResultList(); } }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?