Example usage for org.hibernate.envers AuditReader isEntityClassAudited

List of usage examples for org.hibernate.envers AuditReader isEntityClassAudited

Introduction

In this page you can find the example usage for org.hibernate.envers AuditReader isEntityClassAudited.

Prototype

boolean isEntityClassAudited(Class<?> entityClass);

Source Link

Document

Checks if the entityClass was configured to be audited.

Usage

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;
}