package org.jboss.as.test.integration.jpa.hibernate.envers; import java.util.List; import java.util.Map; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; import org.hibernate.envers.AuditReader; import org.hibernate.envers.AuditReaderFactory; /** * @author Madhumita Sadhukhan */ @Stateless public class SLSBValidityStrategyOrg { @PersistenceContext(unitName = "myValidOrg") EntityManager em; public Organization createOrg(String name, String type, String startDate, String endDate, String location) { Organization org = new Organization(); org.setName(name); org.setType(type); org.setStartDate(startDate); org.setEndDate(endDate); org.setLocation(location); em.persist(org); return org; } public Organization updateOrg(Organization o) { return em.merge(o); } public void deleteOrg(Organization o) { em.remove(em.merge(o)); } public List<Map<String, Object>> verifyEndRevision(Integer id) { AuditReader reader = AuditReaderFactory.get(em); boolean b; String queryString = "select a from " + Organization.class.getName() + "_AUD a where a.originalId.id=:id"; Query query = em.createQuery(queryString); query.setParameter("id", id); List<Map<String, Object>> orgHistory = query.getResultList(); return orgHistory; } public Organization retrieveOldOrgbyId(int id) { AuditReader reader = AuditReaderFactory.get(em); Organization org1_rev = reader.find(Organization.class, id, 2); return org1_rev; } }