List of usage examples for org.hibernate.envers.query AuditEntity property
public static AuditProperty<Object> property(String propertyName)
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)); }/* ww w .j a va2 s. c o m*/ } } 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.devgateway.eudevfin.financial.test.storage.RevisionsTest.java
License:Open Source License
/** * Showing 2 ways of getting a revision number. The test compares these 2 revision numbers. *//* www. ja v a2 s . co m*/ @Test public void testRevisionNumbers() { final Long modifiedTxId = this.storageHelper.modifyOrgAndAmountOfTransaction(); AuditQuery auditQuery = this.auditReader.createQuery() .forRevisionsOfEntity(FinancialTransaction.class, false, false) .add(AuditEntity.id().eq(modifiedTxId)) .add(AuditEntity.property("donorProjectNumber").hasNotChanged()) .addProjection(AuditEntity.revisionNumber().max()); final Number num1 = (Number) auditQuery.getSingleResult(); logger.info("Last revision for a financial tx with unchanged description is: " + num1); auditQuery = this.auditReader.createQuery().forRevisionsOfEntity(Organization.class, false, false) .add(AuditEntity.property("code").hasChanged()).add(AuditEntity.revisionNumber().maximize()); final Object[] oArray = (Object[]) auditQuery.getSingleResult(); final DefaultTrackingModifiedEntitiesRevisionEntity trackingObject = (DefaultTrackingModifiedEntitiesRevisionEntity) oArray[1]; logger.info("Last revision for an org with changed name is: " + trackingObject.getId()); assertEquals(num1, trackingObject.getId()); }
From source file:org.devgateway.toolkit.forms.wicket.page.RevisionsPage.java
License:Open Source License
/** * @param parameters//from ww w. ja v a 2s . 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 ww w. j a va 2 s . c om 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.pnc.datastore.repositories.BuildConfigurationAuditedRepositoryImpl.java
License:Open Source License
@Override public List<BuildConfigurationAudited> searchForBuildConfigurationName(String buildConfigurationName) { List<Object[]> result = AuditReaderFactory.get(entityManager).createQuery() .forRevisionsOfEntity(BuildConfiguration.class, false, false) .add(AuditEntity.property("name").like(buildConfigurationName)) .addOrder(AuditEntity.revisionNumber().desc()).getResultList(); List<BuildRecord> emptyList = Collections.EMPTY_LIST; return result.stream().map(o -> createAudited(o[0], o[1], emptyList)).collect(Collectors.toList()); }
From source file:org.jboss.pnc.rest.provider.BuildRecordProvider.java
License:Open Source License
public CollectionInfo<BuildRecordRest> getAllForConfigurationOrProjectName(int pageIndex, int pageSize, String sortingRsql, String query, String name) { List<Project> projectsMatchingName = projectRepository .queryWithPredicates(ProjectPredicates.searchByProjectName(name)); AuditDisjunction disjunction = AuditEntity.disjunction(); projectsMatchingName.forEach(project -> { disjunction.add(AuditEntity.relatedId("project").eq(project.getId())); });/* w w w. jav a 2 s.c om*/ disjunction.add(AuditEntity.property("name").like(name)); List<Object[]> buildConfigurationRevisions = AuditReaderFactory.get(entityManager).createQuery() .forRevisionsOfEntity(BuildConfiguration.class, false, false).add(disjunction) .addOrder(AuditEntity.revisionNumber().desc()).getResultList(); return queryForBuildRecords(pageIndex, pageSize, sortingRsql, query, buildConfigurationRevisions); }
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(); }