List of usage examples for org.springframework.data.history Revisions Revisions
private Revisions(List<? extends Revision<N, T>> revisions)
From source file:com.wiiyaya.framework.provider.repository.revision.BaseRevisionDaoImpl.java
@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:com.wiiyaya.framework.provider.repository.revision.BaseRevisionDaoImpl.java
@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 w w w .j a v a 2 s . c o m return new Revisions<N, T>(toRevisions(revisions, revisionEntities)); }
From source file:pl.konczak.mystartupapp.sharedkernel.enversRepository.EnversRevisionRepositoryImpl.java
/** * Returns the entities in the given revisions for the entitiy with the given id. * * @param revisionNumbers/*from w w w .j a v a 2 s . co m*/ * @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)); }
From source file:org.agatom.springatom.data.hades.repo.factory.NVersionedRepositoryImpl.java
/** {@inheritDoc} */ @Override/* www . j a v a 2 s.c om*/ @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.agatom.springatom.data.hades.repo.factory.NVersionedRepositoryImpl.java
/** {@inheritDoc} */ @Override/*from www . jav a 2s . c o m*/ @SuppressWarnings({ "unchecked", "SuspiciousToArrayCall" }) public Revisions<Long, T> findRevisions(final Long id, final DateTime dateTime, final Operators operator) { final Class<T> type = this.entityInformation.getJavaType(); final AuditReader reader = AuditReaderFactory.get(this.entityManager); final AuditProperty<Object> actualDate = AuditEntity.revisionProperty("timestamp"); if (LOGGER.isTraceEnabled()) { LOGGER.trace(String.format("%s(%s,%s,%s)", "findRevisions", id, dateTime, operator)); } AuditQuery auditQuery = reader.createQuery().forRevisionsOfEntity(type, false, true); switch (operator) { case BEFORE: auditQuery = auditQuery.add(actualDate.le(dateTime.getMillis())); break; case AFTER: auditQuery = auditQuery.add(actualDate.ge(dateTime.getMillis())); break; case EQ: auditQuery = auditQuery.add(actualDate.eq(dateTime.getMillis())); break; } final List<Object[]> resultList = auditQuery.getResultList(); if (resultList.isEmpty()) { return new Revisions<>(Lists.<Revision<Long, T>>newArrayList()); } final List<Revision<Long, T>> revisionList = new ArrayList<>(); for (Object[] number : resultList) { final Object entity = number[0]; final Object revEntity = number[1]; revisionList.add((Revision<Long, T>) new Revision<>(this.getRevisionMetadata(revEntity), entity)); } return new Revisions<>(revisionList); }