Example usage for org.hibernate.envers AuditReader findRevisions

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

Introduction

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

Prototype

<T> Map<Number, T> findRevisions(Class<T> revisionEntityClass, Set<Number> revisions)
        throws IllegalArgumentException, IllegalStateException;

Source Link

Document

Find a map of revisions using the revision numbers specified.

Usage

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