Example usage for org.hibernate.envers AuditReaderFactory get

List of usage examples for org.hibernate.envers AuditReaderFactory get

Introduction

In this page you can find the example usage for org.hibernate.envers AuditReaderFactory get.

Prototype

public static AuditReader get(EntityManager entityManager) throws AuditException 

Source Link

Document

Create an audit reader associated with an open entity manager.

Usage

From source file:org.cast.cwm.data.builders.UserContentAuditQueryBuilder.java

License:Open Source License

@Override
public AuditQuery build(Session session) {
    AuditReader auditReader = AuditReaderFactory.get(session);
    AuditQuery query = auditReader.createQuery().forRevisionsOfEntity(UserContent.class, false, true);

    if (mUsers != null) {
        List<User> users = mUsers.getObject();
        if (users != null) {
            if (users.isEmpty()) {
                query.add(AuditEntity.property("user_id").eq(0L)); // no users at all
            } else {
                Long[] ids = new Long[users.size()];
                for (int i = 0; i < users.size(); i++)
                    ids[i] = users.get(i).getId();
                query.add(AuditEntity.property("user_id").in(ids));
            }//from ww  w  .  j ava2s . c  o  m
        }
    }

    if (mFromDate != null && mFromDate.getObject() != null)
        query.add(AuditEntity.revisionProperty("timestamp").ge(midnightStart(mFromDate.getObject()).getTime()));
    if (mToDate != null && mToDate.getObject() != null)
        query.add(AuditEntity.revisionProperty("timestamp").le(midnightEnd(mToDate.getObject()).getTime()));
    return query;
}

From source file:org.cast.cwm.data.models.HibernateAuditObjectModel.java

License:Open Source License

@Override
@SuppressWarnings("unchecked")
protected T load() {
    AuditReader auditReader = AuditReaderFactory.get(Databinder.getHibernateSession());
    AuditQuery query = auditReader.createQuery().forEntitiesAtRevision(objectClass, revision)
            .add(AuditEntity.id().eq(entityId));
    return (T) query.getSingleResult();
}

From source file:org.devgateway.eudevfin.financial.test.storage.RevisionsTest.java

License:Open Source License

@Before
public void setupAuditReader() {
    //Getting the AuditReader object to be able to read revisions
    this.auditReader = AuditReaderFactory.get(this.entityManagerFactory.createEntityManager());
}

From source file:org.devgateway.toolkit.forms.wicket.page.RevisionsPage.java

License:Open Source License

/**
 * @param parameters/*from  w  w  w.ja v  a2s. c  o m*/
 */
public RevisionsPage(final PageParameters parameters) {
    super(parameters);

    final long entityId = parameters.get(WebConstants.PARAM_ID).toLong();
    String entityClass = parameters.get(WebConstants.PARAM_ENTITY_CLASS).toString();

    Class<?> clazz = null;
    try {
        clazz = Class.forName(entityClass);
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }

    AuditReader reader = AuditReaderFactory.get(entityManager);

    AuditQuery query = reader.createQuery().forRevisionsOfEntity(clazz, false, true);
    query.add(AuditEntity.property("id").eq(entityId));

    List<?> resultList = query.getResultList();
    List<DefaultRevisionEntity> items = new ArrayList<>();
    for (Object item : resultList) {
        Object[] obj = (Object[]) item;
        items.add((DefaultRevisionEntity) obj[1]);
    }

    add(new ListView<DefaultRevisionEntity>("revisions", items) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final ListItem<DefaultRevisionEntity> item) {
            final PageParameters pp = new PageParameters();
            pp.set(WebConstants.PARAM_REVISION_ID, item.getModelObject().getId());
            pp.set(WebConstants.PARAM_ID, entityId);

            item.add(new Label("revisionNumber", new PropertyModel<Integer>(item.getModel(), "id")));
            item.add(DateLabel.forDatePattern("revisionDate",
                    new PropertyModel<Date>(item.getModel(), "revisionDate"), "yyyy/MM/dd @HH:mm:ss z"));
        }
    });
}

From source file:org.gaia.dao.audit.AuditAccessor.java

License:Open Source License

public static List<Trade> getOldVersionList(Trade trade) {
    Session session = HibernateUtil.getSession();
    List<Trade> result = new ArrayList<>();
    try {/*from   w  ww. j  ava  2s . c  om*/
        if (trade != null) {
            result.add(trade);
            AuditReader reader = AuditReaderFactory.get(session);
            List<Object[]> prior_revision = (List<Object[]>) reader.createQuery()
                    .forRevisionsOfEntity(trade.getClass(), false, true)
                    .add(AuditEntity.property("tradeVersion").lt(trade.getTradeVersion()))
                    .add(AuditEntity.id().eq(trade.getId())).addOrder(AuditEntity.revisionNumber().desc())
                    .getResultList();
            for (Object[] objects : prior_revision) {
                Trade version = (Trade) objects[0];
                unProxyObject(version);
                result.add(version);
            }
        }
    } catch (ClassNotFoundException | IllegalAccessException | HibernateException | IllegalArgumentException
            | InvocationTargetException e) {
        logger.error(StringUtils.formatErrorMessage(e));
    } finally {
        session.close();
    }
    return result;
}

From source file:org.jboss.as.test.compat.jpa.hibernate.envers.SLSBPU.java

License:Open Source License

public int retrieveOldPersonVersionFromAddress(int id) {
    AuditReader reader = AuditReaderFactory.get(em);
    Address address1_rev = reader.find(Address.class, id, 1);
    return address1_rev.getPersons().size();
}

From source file:org.jboss.as.test.integration.hibernate.envers.SFSBHibernateEnversSessionFactory.java

License:Open Source License

public StudentAudited retrieveOldStudentVersion(int id) {
    AuditReader reader = AuditReaderFactory.get(sessionFactory.openSession());
    StudentAudited student_rev = reader.find(StudentAudited.class, id, 1);
    List<Number> revlist = reader.getRevisions(StudentAudited.class, id);
    // this is for checking revision size hence not removing this S.o.p
    //System.out.println("Size of revisionList:--" + revlist.size());
    return student_rev;
}

From source file:org.jboss.as.test.integration.jpa.transaction.envers.SFSB1.java

License:Open Source License

public String retrieveOldEmployeeVersion(int id) {
    AuditReader reader = AuditReaderFactory.get(em);
    Employee emp1_rev = reader.find(Employee.class, id, 1);
    return emp1_rev.getAddress();
}

From source file:org.jboss.as.test.integration.jpa.transaction.envers.SFSB1.java

License:Open Source License

public String retrieveOldEmployeeVersionforRollBack(int id) {
    AuditReader reader = AuditReaderFactory.get(em);
    Employee emp1_rev = reader.find(Employee.class, id, 5);
    return emp1_rev.getAddress();
}

From source file:org.jboss.pnc.datastore.configuration.JpaConfiguration.java

License:Open Source License

@Produces
public AuditReader auditReader(EntityManager entityManager) {
    return AuditReaderFactory.get(entityManager);
}