List of usage examples for org.hibernate.envers AuditReader findRevisions
<T> Map<Number, T> findRevisions(Class<T> revisionEntityClass, Set<Number> revisions)
throws IllegalArgumentException, IllegalStateException;
From source file:com.wiiyaya.framework.provider.repository.revision.BaseRevisionDaoImpl.java
License:Apache License
@SuppressWarnings("unchecked") private Revisions<N, T> getEntitiesForRevisions(List<N> revisionNumbers, ID id, AuditReader reader) { Class<T> type = entityInformation.getJavaType(); Map<N, T> revisions = new HashMap<N, T>(revisionNumbers.size()); Class<?> revisionEntityClass = revisionEntityInformation.getRevisionEntityClass(); Map<Number, Object> revisionEntities = (Map<Number, Object>) reader.findRevisions(revisionEntityClass, new HashSet<Number>(revisionNumbers)); for (Number number : revisionNumbers) { revisions.put((N) number, reader.find(type, id, number)); }//from ww w. j ava 2 s. c o m return new Revisions<N, T>(toRevisions(revisions, revisionEntities)); }
From source file:org.agatom.springatom.data.hades.repo.factory.NVersionedRepositoryImpl.java
License:Open Source License
/** {@inheritDoc} */ @Override/* ww w.j a v a2 s.c o m*/ @SafeVarargs @SuppressWarnings("unchecked") public final Revisions<Long, T> findInRevisions(final Long id, final Long... revisionNumbers) { Preconditions.checkArgument(id != null, ERROR_MESSAGE_ID); Preconditions.checkArgument(revisionNumbers.length >= 1, ERROR_MESSAGE_INSUFFICIENT_REV_NUMBERS); if (LOGGER.isTraceEnabled()) { LOGGER.trace(String.format("%s(%s,%s)", "findInRevision", id, Arrays.toString(revisionNumbers))); } final Class<T> type = this.entityInformation.getJavaType(); final AuditReader reader = AuditReaderFactory.get(this.entityManager); final Map<Long, T> revisions = new HashMap<>(revisionNumbers.length); final Class<?> revisionEntityClass = this.revisionEntityInformation.getRevisionEntityClass(); final Map<Number, Object> revisionEntities = (Map<Number, Object>) reader.findRevisions(revisionEntityClass, new HashSet<Number>(Lists.newArrayList(revisionNumbers))); for (Number number : revisionNumbers) { revisions.put((Long) number, reader.find(type, id, number)); } return new Revisions<>(this.toRevisions(revisions, revisionEntities)); }
From source file:org.springframework.data.envers.repository.support.EnversRevisionRepositoryImpl.java
License:Apache License
/** * Returns the entities in the given revisions for the entitiy with the given id. * /*from w w w.j a va 2s . co m*/ * @param revisionNumbers * @param id * @param reader * @return */ @SuppressWarnings("unchecked") private Revisions<N, T> getEntitiesForRevisions(List<N> revisionNumbers, ID id, AuditReader reader) { Class<T> type = entityInformation.getJavaType(); Map<N, T> revisions = new HashMap<N, T>(revisionNumbers.size()); Class<?> revisionEntityClass = revisionEntityInformation.getRevisionEntityClass(); Map<Number, Object> revisionEntities = (Map<Number, Object>) reader.findRevisions(revisionEntityClass, new HashSet<Number>(revisionNumbers)); for (Number number : revisionNumbers) { revisions.put((N) number, reader.find(type, id, number)); } return new Revisions<N, T>(toRevisions(revisions, revisionEntities)); }