List of usage examples for org.hibernate.envers AuditReader createQuery
AuditQueryCreator createQuery();
From source file:love.sola.netsupport.sql.TableTicket.java
License:Open Source License
@SuppressWarnings("unchecked") public static List<Object[]> track(int tid) { try (Session s = SQLCore.sf.openSession()) { AuditReader reader = getAuditReader(s); List<Object[]> resultList = reader.createQuery().forRevisionsOfEntity(Ticket.class, false, true) .addOrder(AuditEntity.revisionNumber().desc()).add(AuditEntity.id().eq(tid)).getResultList(); return initializeTickets(resultList); }/*from ww w . java 2s . c om*/ }
From source file:org.agatom.springatom.data.hades.repo.factory.NVersionedRepositoryImpl.java
License:Open Source License
/** {@inheritDoc} */ @Override//from w w w .j a va 2 s . c om @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.agatom.springatom.data.hades.repo.factory.NVersionedRepositoryImpl.java
License:Open Source License
/** {@inheritDoc} */ @Override//from ww w .j a v a 2 s . co m public long countRevisions(final Long id) { final Class<T> type = this.entityInformation.getJavaType(); final AuditReader reader = AuditReaderFactory.get(this.entityManager); if (LOGGER.isTraceEnabled()) { LOGGER.trace(String.format("%s(%s)", "countRevisions", id)); } return (long) reader.createQuery().forRevisionsOfEntity(type, false, true) .addProjection(AuditEntity.revisionNumber().count()).getSingleResult(); }
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 ww. j a va 2 s. com } } 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.models.HibernateAuditObjectModel.java
License:Open Source License
@Override @SuppressWarnings("unchecked") protected T load() { AuditReader auditReader = AuditReaderFactory.get(Databinder.getHibernateSession()); AuditQuery query = auditReader.createQuery().forEntitiesAtRevision(objectClass, revision) .add(AuditEntity.id().eq(entityId)); return (T) query.getSingleResult(); }
From source file:org.devgateway.toolkit.forms.wicket.page.RevisionsPage.java
License:Open Source License
/** * @param parameters/*ww w. j av a 2 s . c o m*/ */ public RevisionsPage(final PageParameters parameters) { super(parameters); final long entityId = parameters.get(WebConstants.PARAM_ID).toLong(); String entityClass = parameters.get(WebConstants.PARAM_ENTITY_CLASS).toString(); Class<?> clazz = null; try { clazz = Class.forName(entityClass); } catch (ClassNotFoundException e) { e.printStackTrace(); } AuditReader reader = AuditReaderFactory.get(entityManager); AuditQuery query = reader.createQuery().forRevisionsOfEntity(clazz, false, true); query.add(AuditEntity.property("id").eq(entityId)); List<?> resultList = query.getResultList(); List<DefaultRevisionEntity> items = new ArrayList<>(); for (Object item : resultList) { Object[] obj = (Object[]) item; items.add((DefaultRevisionEntity) obj[1]); } add(new ListView<DefaultRevisionEntity>("revisions", items) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<DefaultRevisionEntity> item) { final PageParameters pp = new PageParameters(); pp.set(WebConstants.PARAM_REVISION_ID, item.getModelObject().getId()); pp.set(WebConstants.PARAM_ID, entityId); item.add(new Label("revisionNumber", new PropertyModel<Integer>(item.getModel(), "id"))); item.add(DateLabel.forDatePattern("revisionDate", new PropertyModel<Date>(item.getModel(), "revisionDate"), "yyyy/MM/dd @HH:mm:ss z")); } }); }
From source file:org.gaia.dao.audit.AuditAccessor.java
License:Open Source License
public static List<Trade> getOldVersionList(Trade trade) { Session session = HibernateUtil.getSession(); List<Trade> result = new ArrayList<>(); try {//from w ww . j ava2s . co m if (trade != null) { result.add(trade); AuditReader reader = AuditReaderFactory.get(session); List<Object[]> prior_revision = (List<Object[]>) reader.createQuery() .forRevisionsOfEntity(trade.getClass(), false, true) .add(AuditEntity.property("tradeVersion").lt(trade.getTradeVersion())) .add(AuditEntity.id().eq(trade.getId())).addOrder(AuditEntity.revisionNumber().desc()) .getResultList(); for (Object[] objects : prior_revision) { Trade version = (Trade) objects[0]; unProxyObject(version); result.add(version); } } } catch (ClassNotFoundException | IllegalAccessException | HibernateException | IllegalArgumentException | InvocationTargetException e) { logger.error(StringUtils.formatErrorMessage(e)); } finally { session.close(); } return result; }
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(); }