List of usage examples for org.hibernate.envers AuditReaderFactory get
public static AuditReader get(EntityManager entityManager) throws AuditException
From source file:org.jboss.pressgang.ccms.model.utils.EnversUtilities.java
License:Open Source License
/** * @return Returns a collection of revisions *//*from w w w . j a v a2 s .c om*/ public static <T extends AuditedEntity> Map<Number, T> getRevisionEntities(final EntityManager entityManager, final Class<T> entityClass, final Integer id) { final AuditReader reader = AuditReaderFactory.get(entityManager); final List<Number> revisions = reader.getRevisions(entityClass, id); Collections.sort(revisions, Collections.reverseOrder()); /* Use a LinkedHashMap to preserver the order */ final Map<Number, T> retValue = new LinkedHashMap<Number, T>(); for (final Number revision : revisions) retValue.put(revision, getRevision(reader, entityClass, id, revision, false)); return retValue; }
From source file:org.jboss.pressgang.ccms.model.utils.EnversUtilities.java
License:Open Source License
/** * @return Returns the list of revision numbers for this entity, as maintained by Envers *///from ww w. j a va 2 s . c o m public static <T extends AuditedEntity> List<Number> getRevisions(final EntityManager entityManager, final Class<T> entityClass, final Number id) { final AuditReader reader = AuditReaderFactory.get(entityManager); final List<Number> retValue = reader.getRevisions(entityClass, id); Collections.sort(retValue, Collections.reverseOrder()); return retValue; }
From source file:org.jboss.pressgang.ccms.model.utils.EnversUtilities.java
License:Open Source License
/** * @param entityManager//from ww w . ja v a 2 s .co m * @param revision * @return */ public static <T extends AuditedEntity> T getRevision(final EntityManager entityManager, final T entity, final Number revision) { final AuditReader reader = AuditReaderFactory.get(entityManager); return getRevision(reader, (Class<T>) entity.getClass(), entity.getId(), revision, true); }
From source file:org.jboss.pressgang.ccms.model.utils.EnversUtilities.java
License:Open Source License
/** * @param entityManager//from w w w .jav a2 s . c o m * @param revision * @return */ public static <T extends AuditedEntity> T getRevision(final EntityManager entityManager, final Class<T> entityClass, final Integer id, final Number revision) { final AuditReader reader = AuditReaderFactory.get(entityManager); return getRevision(reader, entityClass, id, revision, true); }
From source file:org.jboss.pressgang.ccms.model.utils.EnversUtilities.java
License:Open Source License
public static <T extends AuditedEntity> Number getLatestRevision(final EntityManager entityManager, final Class<T> entityClass, final Integer id) { final AuditReader reader = AuditReaderFactory.get(entityManager); final List<Number> retValue = reader.getRevisions(entityClass, id); Collections.sort(retValue, Collections.reverseOrder()); return retValue.size() != 0 ? retValue.get(0) : -1; }
From source file:org.jboss.pressgang.ccms.model.utils.EnversUtilities.java
License:Open Source License
public static <T extends AuditedEntity> Number getClosestRevision(final EntityManager entityManager, final Class<T> entityClass, final Integer id, final Number revision) { final AuditReader reader = AuditReaderFactory.get(entityManager); return getClosestRevision(reader, entityClass, id, revision); }
From source file:org.opens.tanaguru.entity.dao.audit.ProcessResultDAOImpl.java
License:Open Source License
@Override public List<DefiniteResult> getHistoryChanges(ProcessResult processResultImpl) { List<DefiniteResult> history = new ArrayList<DefiniteResult>(); AuditReader auditReader = AuditReaderFactory.get(this.entityManager); Long id = processResultImpl.getId(); if (id == null) { return new ArrayList<DefiniteResult>(); }/*from w w w. j a v a 2s . c o m*/ List<Number> revisions = auditReader.getRevisions(processResultImpl.getClass(), id); DefiniteResult find = null; for (int i = 0; i < revisions.size(); i++) { Number revision = revisions.get(i); find = auditReader.find(DefiniteResultImpl.class, id, revision); history.add(find); } return history; }
From source file:org.springframework.data.envers.repository.support.EnversRevisionRepositoryImpl.java
License:Apache License
@SuppressWarnings("unchecked") public Revisions<N, T> findRevisions(ID id) { Class<T> type = entityInformation.getJavaType(); AuditReader reader = AuditReaderFactory.get(entityManager); List<? extends Number> revisionNumbers = reader.getRevisions(type, id); return revisionNumbers.isEmpty() ? new Revisions<N, T>(Collections.EMPTY_LIST) : getEntitiesForRevisions((List<N>) revisionNumbers, id, reader); }
From source file:org.tomitribe.tribestream.registryng.repository.Repository.java
License:Apache License
public OpenApiDocument findByApplicationIdAndRevision(final String applicationid, final int revision) { AuditReader auditReader = AuditReaderFactory.get(em); OpenApiDocument openApiDocument = auditReader.find(OpenApiDocument.class, applicationid, revision); // Resolve the references here, because the Resource implementation will not be able to do that because // it is running another transaction for (Endpoint endpoint : openApiDocument.getEndpoints()) { endpoint.getDocument();//from w w w . j a v a2s. c o m } return openApiDocument; }
From source file:org.tomitribe.tribestream.registryng.repository.Repository.java
License:Apache License
public <T> List<HistoryEntry<T>> getRevisions(final Class<T> entityClass, final String id, final int first, final int pageSize) throws NoResultException { AuditReader auditReader = AuditReaderFactory.get(em); AuditQuery query = auditReader.createQuery().forRevisionsOfEntity(entityClass, false, true); query.add(AuditEntity.id().eq(id));/*from w ww . ja va 2 s. com*/ query.addOrder(AuditEntity.revisionNumber().desc()); query.setFirstResult(first).setMaxResults(pageSize); List<Object[]> objects = query.getResultList(); return objects.stream().map(HistoryEntry<T>::new).collect(toList()); }