1 25 package org.objectweb.easybeans.tests.common.ejbs.stateless.containermanaged.callbacklogger; 26 27 import java.util.List ; 28 29 import javax.ejb.Remote ; 30 import javax.ejb.Stateless ; 31 import javax.persistence.EntityManager; 32 import javax.persistence.EntityManagerFactory; 33 import javax.persistence.PersistenceUnit; 34 import javax.persistence.Query; 35 36 import org.objectweb.easybeans.tests.common.ejbs.entity.callbacklogger.CallbackType; 37 import org.objectweb.easybeans.tests.common.ejbs.entity.callbacklogger.ListenerLogger; 38 39 45 @Stateless 46 @Remote (ItfListenerLoggerAccess.class) 47 public class SLSBListenerLoggerAccess extends CallbackLoggerAccessBase implements ItfListenerLoggerAccess{ 48 49 52 @PersistenceUnit 53 private EntityManagerFactory entityManagerFactory; 54 55 56 66 public void insertCallbackLogger(final String className, final CallbackType callbackEvent, 67 final String callbackClassName, final int entityId) { 68 EntityManager entityManager = entityManagerFactory.createEntityManager(); 69 70 ListenerLogger logger = new ListenerLogger(); 71 logger.setCallbackClassName(callbackClassName); 72 logger.setCallbackEvent(callbackEvent); 73 logger.setClassName(className); 74 logger.setInsertionDate(getTime()); 75 logger.setEntityId(entityId); 76 entityManager.persist(logger); 77 entityManager.flush(); 78 } 79 80 88 public List findLifecycleEventByEntity(final String className, final CallbackType callbackEvent, 89 final int entityId) { 90 EntityManager entityManager = entityManagerFactory.createEntityManager(); 91 Query query = entityManager.createQuery("SELECT e FROM ListenerManager " 92 + "e WHERE e.className = :className AND e.callbackEvent= :event AND e.entityId = :entityId"); 93 query.setParameter("className", className); 94 query.setParameter("event", callbackEvent); 95 query.setParameter("entityId", new Integer (entityId)); 96 return query.getResultList(); 97 } 98 } 99 | Popular Tags |