List of usage examples for org.hibernate.envers.query AuditEntity revisionProperty
public static AuditProperty<Object> revisionProperty(String propertyName)
From source file:org.agatom.springatom.data.hades.repo.factory.NVersionedRepositoryImpl.java
License:Open Source License
/** {@inheritDoc} */ @Override//from w ww . j a v a 2 s . com @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); }
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 w w w . ja va 2 s. c om } } 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.builders.UserContentAuditQueryBuilder.java
License:Open Source License
@Override public AuditQuery buildSorted(Session session) { AuditQuery query = build(session);/* www .j a v a 2s . c o m*/ query.addOrder(AuditEntity.revisionProperty("timestamp").desc()); return query; }
From source file:org.jboss.pressgang.ccms.filter.utils.EntityUtilities.java
License:Open Source License
@SuppressWarnings("unchecked") public static <E> List<Integer> getEditedEntities(final EntityManager entityManager, final Class<E> type, final String pkColumnName, final DateTime startDate, final DateTime endDate) { if (startDate == null && endDate == null) return null; final AuditReader reader = AuditReaderFactory.get(entityManager); final AuditQuery query = reader.createQuery().forRevisionsOfEntity(type, true, false) .addOrder(AuditEntity.revisionProperty("timestamp").asc()) .addProjection(AuditEntity.property("originalId." + pkColumnName).distinct()); if (startDate != null) query.add(AuditEntity.revisionProperty("timestamp").ge(startDate.toDate().getTime())); if (endDate != null) query.add(AuditEntity.revisionProperty("timestamp").le(endDate.toDate().getTime())); final List<Integer> entityIds = query.getResultList(); return entityIds; }
From source file:org.jboss.pressgang.ccms.filter.utils.EntityUtilities.java
License:Open Source License
public static <E> List<Integer> getEditedEntitiesByRevision(final EntityManager entityManager, final Class<E> type, final String pkColumnName, final Number startRevision, final Number endRevision) { if (startRevision == null && startRevision == null) return null; final AuditReader reader = AuditReaderFactory.get(entityManager); final AuditQuery query = reader.createQuery().forRevisionsOfEntity(type, true, false) .addOrder(AuditEntity.revisionProperty("timestamp").asc()) .addProjection(AuditEntity.property("originalId." + pkColumnName).distinct()); if (startRevision != null) query.add(AuditEntity.revisionNumber().ge(startRevision)); if (endRevision != null) query.add(AuditEntity.revisionNumber().le(endRevision)); final List<Integer> entityIds = query.getResultList(); return entityIds; }
From source file:org.jboss.pressgang.ccms.filter.utils.EntityUtilities.java
License:Open Source License
@SuppressWarnings("unchecked") public static <T extends AuditedEntity> List<Integer> getCreatedBy(final EntityManager entityManager, final Class<T> clazz, final String idName, final String username) { final AuditReader reader = AuditReaderFactory.get(entityManager); final AuditQuery query = reader.createQuery().forRevisionsOfEntity(clazz, true, false) .addProjection(AuditEntity.property("originalId." + idName).distinct()) .add(AuditEntity.revisionProperty("userName").eq(username)) .add(AuditEntity.revisionType().eq(RevisionType.ADD)); return query.getResultList(); }
From source file:org.jboss.pressgang.ccms.filter.utils.EntityUtilities.java
License:Open Source License
@SuppressWarnings("unchecked") public static <T extends AuditedEntity> List<Integer> getEditedBy(final EntityManager entityManager, final Class<T> clazz, final String idName, final String username) { final AuditReader reader = AuditReaderFactory.get(entityManager); final AuditQuery query = reader.createQuery().forRevisionsOfEntity(clazz, true, false) .addProjection(AuditEntity.property("originalId." + idName).distinct()) .add(AuditEntity.revisionProperty("userName").eq(username)) .add(AuditEntity.revisionType().eq(RevisionType.MOD)); return query.getResultList(); }