List of usage examples for org.hibernate.envers AuditReader isEntityClassAudited
boolean isEntityClassAudited(Class<?> entityClass);
From source file:ch.puzzle.itc.mobiliar.business.auditview.control.AuditService.java
License:Open Source License
@SuppressWarnings("unchecked") public <T> Object getDeletedEntity(T entity, Integer id) { Objects.requireNonNull(entity, "Entity can not be null"); Objects.requireNonNull(id, "Id can not be null"); AuditReader reader = AuditReaderFactory.get(entityManager); if (reader.isEntityClassAudited(entity.getClass())) { AuditQuery query = reader.createQuery().forRevisionsOfEntity(entity.getClass(), false, true) .add(AuditEntity.id().eq(id)).add(AuditEntity.revisionType().eq(DEL)); List<Object[]> resultList = query.getResultList(); if (!resultList.isEmpty()) { return resultList.get(0)[0]; }//ww w.j a v a2 s . c om } return null; }
From source file:ch.puzzle.itc.mobiliar.business.auditview.control.AuditService.java
License:Open Source License
@SuppressWarnings("unchecked") public List<Object> getAllDeletedEntities(Class clazz) { Objects.requireNonNull(clazz, "Clazz can not be null"); AuditReader reader = AuditReaderFactory.get(entityManager); if (reader.isEntityClassAudited(clazz)) { AuditQuery query = reader.createQuery().forRevisionsOfEntity(clazz, false, true) .add(AuditEntity.revisionType().eq(DEL)); List<Object[]> resultList = query.getResultList(); if (!resultList.isEmpty()) { List<Object> deleted = new ArrayList<>(); for (Object[] objects : resultList) { deleted.add(objects[0]); }//ww w .j av a 2s . c o m return deleted; } } return Collections.EMPTY_LIST; }
From source file:ch.puzzle.itc.mobiliar.business.auditview.control.AuditService.java
License:Open Source License
/** * @return a list of three-element arrays, containing: * <ol>/* w ww . j a va 2 s .co m*/ * <li>the entity instance</li> * <li>revision entity, corresponding to the revision at which the entity was modified. If no custom * revision entity is used, this will be an instance of {@link org.hibernate.envers.DefaultRevisionEntity}</li> * <li>type of the revision (an enum instance of class {@link org.hibernate.envers.RevisionType})</li> * </ol> */ private <T> List getAllRevisionsForEntity(T entity, Integer id) { Objects.requireNonNull(entity, "Entity can not be null"); Objects.requireNonNull(id, "Id can not be null"); AuditReader reader = AuditReaderFactory.get(entityManager); Number revisionNumberOneYearAgo = getRevisionNumberOneYearAgo(reader); if (reader.isEntityClassAudited(entity.getClass())) { AuditQuery query = reader.createQuery().forRevisionsOfEntity(entity.getClass(), false, true) .add(AuditEntity.id().eq(id)).add(AuditEntity.revisionNumber().gt(revisionNumberOneYearAgo)) .addOrder(AuditEntity.revisionNumber().desc()); return (List<T>) query.getResultList(); } return null; }