List of usage examples for org.hibernate.envers.query AuditEntity revisionProperty
public static AuditProperty<Object> revisionProperty(String propertyName)
From source file:br.ufac.sion.service.AuditoriaService.java
public Set<AuditoriaDTO> findAllRevisions(FiltroAuditoria filtro) throws NegocioException { if (filtro.getDataInicio() != null && filtro.getDataFim() != null) { if (!filtro.getDataFim().isAfter(filtro.getDataInicio())) { throw new NegocioException("A data de termino deve ser maior que a data de incio!"); }/*from w ww . j av a 2s. c o m*/ } Set<AuditoriaDTO> dtos = new HashSet<>(); AuditReader reader = AuditReaderFactory.get(em); AuditQuery query = reader.createQuery().forRevisionsOfEntity(filtro.getClasse(), false, true); if (filtro.getDataInicio() != null) { query.add(AuditEntity.revisionProperty("timestamp") .gt(Timestamp.from(filtro.getDataInicio().toInstant(ZoneOffset.UTC)).getTime())); } if (filtro.getDataFim() != null) { query.add(AuditEntity.revisionProperty("timestamp") .lt(Timestamp.from(filtro.getDataFim().toInstant(ZoneOffset.UTC)).getTime())); } if (StringUtils.isNotEmpty(filtro.getLogin())) { query.add(AuditEntity.revisionProperty("username").ilike(filtro.getLogin(), MatchMode.EXACT)); } if (filtro.getTiposRevisao().length > 0) { System.out.println("entra id tipo revisao"); query.add(AuditEntity.property("REVTYPE").in(filtro.getTiposRevisao())); } List<Object[]> result = query.getResultList(); for (Object[] o : result) { try { // Object instancia = filtro.getClass().cast(o[0]); Object instancia = Class.forName(filtro.getClasse().getName()).cast(o[0]); // Method metodo; // metodo = instancia.getClass().getMethod("getId"); // Long id = (Long) metodo.invoke(instancia); CustomRevisionEntity revision = (CustomRevisionEntity) o[1]; RevisionType revisionType = (RevisionType) o[2]; Instant instant = Instant.ofEpochMilli(revision.getTimestamp()); AuditoriaDTO dto = new AuditoriaDTO(instancia, revisionType, filtro.getEntidade(), revision); dtos.add(dto); } catch (Exception ex) { throw new NegocioException(ex.getMessage()); } } return dtos; }
From source file:com.impetus.ankush.common.service.ConfigurationManager.java
License:Open Source License
/** * Gets the configuration.//from w ww .j av a 2 s. co m * * @param clusterId * the cluster id * @return the configuration */ public List getConfiguration(Long clusterId) { try { AuditReader reader = AuditReaderFactory.get(HibernateUtils.getEntityManager()); AuditQuery query = reader.createQuery().forRevisionsOfEntity(Configuration.class, false, true); // filter results besed on cluster id. query.add(AuditEntity.property(com.impetus.ankush2.constant.Constant.Keys.CLUSTERID).eq(clusterId)); query.addOrder( AuditEntity.revisionProperty(com.impetus.ankush2.constant.Constant.Keys.TIMESTAMP).desc()); // Getting Result list. List list = query.getResultList(); // Creating List Object. List result = new ArrayList(); for (Object object : list) { Object[] obj = (Object[]) object; Map map = new HashMap(); // Mapping Revision Entity. DefaultRevisionEntity ri = (DefaultRevisionEntity) obj[1]; map.putAll(JsonMapperUtil.mapFromObject(obj[0])); map.put(com.impetus.ankush2.constant.Constant.Keys.DATE, ri.getRevisionDate()); map.put(com.impetus.ankush2.constant.Constant.Keys.REVISIONID, ri.getId()); map.put(com.impetus.ankush2.constant.Constant.Keys.TYPE, obj[2]); result.add(map); } return result; } catch (Exception e) { LOG.error(e.getMessage(), e); } return null; }
From source file:de.iteratec.iteraplan.persistence.dao.HistoryDAOImpl.java
License:Open Source License
public <T extends BuildingBlock> int getHistoryLengthFor(Class<T> entityClass, Integer id, DateTime fromDate, DateTime toDate) {/*from w ww.jav a2 s.c o m*/ Preconditions.checkArgument(id != null && id.intValue() >= 0, "Param id is invalid, should be >=0"); AuditReader auditReader = getAuditReader(); AuditQuery totalCountQuery = auditReader.createQuery().forRevisionsOfEntity(entityClass, false, false) .add(AuditEntity.id().eq(id)); if (fromDate != null) { Long fromDateLong = Long.valueOf(fromDate.getMillis()); totalCountQuery.add(AuditEntity.revisionProperty(TIMESTAMP_PROPERTY).ge(fromDateLong)); } if (toDate != null) { Long toDateLong = Long.valueOf(toDate.getMillis()); totalCountQuery.add(AuditEntity.revisionProperty(TIMESTAMP_PROPERTY).le(toDateLong)); } // Can't get the total count from the other query because it might be limited to results of the current page return totalCountQuery.getResultList().size(); }
From source file:de.iteratec.iteraplan.persistence.dao.HistoryDAOImpl.java
License:Open Source License
/** {@inheritDoc} */ @SuppressWarnings({ "unchecked", "boxing" }) public <T extends BuildingBlock> List<BuildingBlockRevision<T>> getRevisionBounded(final Class<T> entityClass, Integer id, Integer curPage, Integer pageSize, DateTime fromDate, DateTime toDate) { Preconditions.checkArgument(id != null && id.intValue() >= 0, "Param id is invalid, should be >=0"); Preconditions.checkArgument(pageSize >= -1, "Param pageSize is invalid, should be -1 or >0"); Preconditions.checkArgument(pageSize.intValue() != 0, "Param pageSize is invalid, should be -1 or >0"); //would lead to /0 err AuditReader auditReader = getAuditReader(); // Query retrieves RevisionType in addition to Entity; Revs of type DEL are not retrieved // Get date on revisions of this BB AuditQuery curPageQuery = auditReader.createQuery().forRevisionsOfEntity(entityClass, false, false) .add(AuditEntity.id().eq(id)); // Limit results by date if (fromDate != null) { Long fromDateLong = Long.valueOf(fromDate.getMillis()); curPageQuery.add(AuditEntity.revisionProperty(TIMESTAMP_PROPERTY).ge(fromDateLong)); }/*w ww.j a v a2 s.c om*/ if (toDate != null) { Long toDateLong = Long.valueOf(toDate.getMillis()); curPageQuery.add(AuditEntity.revisionProperty(TIMESTAMP_PROPERTY).le(toDateLong)); } int firstResult = curPage * pageSize; // Paging (first results, max results), disabled when requesting all results (pageSize=-1) if (pageSize > 0) { curPageQuery.setFirstResult(firstResult).setMaxResults(pageSize); } // Object Array[3] contains: T, HistoryRevisionEntity, RevisionType List<Object[]> revsList = curPageQuery.addOrder(AuditEntity.revisionNumber().desc()).getResultList(); return Lists.newArrayList(Lists.transform(revsList, new Function<Object[], BuildingBlockRevision<T>>() { @Override public BuildingBlockRevision<T> apply(Object[] revObjects) { return new BuildingBlockRevision<T>(revObjects, entityClass); } })); }
From source file:fi.vm.sade.eperusteet.amosaa.repository.version.JpaWithVersioningRepositoryImpl.java
License:EUPL
@Override public Revision getLatestRevision(ID id) { AuditReader auditReader = AuditReaderFactory.get(entityManager); Object[] rev = (Object[]) auditReader.createQuery() .forRevisionsOfEntity(entityInformation.getJavaType(), false, true).add(AuditEntity.id().eq(id)) .addOrder(AuditEntity.revisionNumber().desc()).addProjection(AuditEntity.revisionNumber()) .addProjection(AuditEntity.revisionProperty(RevisionInfo_.timestamp.getName())) .addProjection(AuditEntity.revisionProperty(RevisionInfo_.muokkaajaOid.getName())) .addProjection(AuditEntity.revisionProperty(RevisionInfo_.kommentti.getName())) .addOrder(AuditEntity.revisionProperty(RevisionInfo_.timestamp.getName()).desc()).getResultList() .iterator().next();/*from w w w .j a v a 2 s. c o m*/ return rev != null ? new Revision((Integer) rev[0], (Long) rev[1], (String) rev[2], (String) rev[3]) : null; }
From source file:fi.vm.sade.eperusteet.amosaa.repository.version.JpaWithVersioningRepositoryImpl.java
License:EUPL
@Override public List<Revision> getRevisions(ID id) { AuditReader auditReader = AuditReaderFactory.get(entityManager); @SuppressWarnings("unchecked") List<Object[]> results = (List<Object[]>) auditReader.createQuery() .forRevisionsOfEntity(entityInformation.getJavaType(), false, true) .addProjection(AuditEntity.revisionNumber()) .addProjection(AuditEntity.revisionProperty(RevisionInfo_.timestamp.getName())) .addProjection(AuditEntity.revisionProperty(RevisionInfo_.muokkaajaOid.getName())) .addProjection(AuditEntity.revisionProperty(RevisionInfo_.kommentti.getName())) .addOrder(AuditEntity.revisionProperty(RevisionInfo_.timestamp.getName()).desc()) .add(AuditEntity.id().eq(id)).getResultList(); List<Revision> revisions = new ArrayList<>(); for (Object[] result : results) { revisions.add(//from w ww .j ava 2 s.co m new Revision((Integer) result[0], (Long) result[1], (String) result[2], (String) result[3])); } return revisions; }
From source file:fi.vm.sade.eperusteet.ylops.repository.version.JpaWithVersioningRepositoryImpl.java
License:EUPL
@Override public List<Revision> getRevisions(ID id) { AuditReader auditReader = AuditReaderFactory.get(entityManager); @SuppressWarnings("unchecked") List<Object[]> results = (List<Object[]>) auditReader.createQuery() .forRevisionsOfEntity(entityInformation.getJavaType(), false, true).addProjection(AuditEntity.id()) .addProjection(AuditEntity.revisionNumber()) .addProjection(AuditEntity.revisionProperty(RevisionInfo_.timestamp.getName())) .addProjection(AuditEntity.revisionProperty(RevisionInfo_.muokkaajaOid.getName())) .addProjection(AuditEntity.revisionProperty(RevisionInfo_.kommentti.getName())) .addOrder(AuditEntity.revisionProperty(RevisionInfo_.timestamp.getName()).desc()) .add(AuditEntity.id().eq(id)).getResultList(); List<Revision> revisions = new ArrayList<>(); for (Object[] result : results) { revisions.add(new Revision((Long) result[0], (Integer) result[1], (Long) result[2], (String) result[3], (String) result[4])); }// w ww. j a v a 2 s . c o m return revisions; }
From source file:fr.mcc.ginco.audit.utils.AuditQueryBuilder.java
License:CeCILL license
private void filterOnDateAndThesaurusId(AuditQuery query, Thesaurus thesaurus, Date startDate) { query.add(AuditEntity.revisionProperty("thesaurusId").eq(thesaurus.getIdentifier())) .add(AuditEntity.revisionProperty("timestamp").ge(startDate.getTime())); }
From source file:fr.mcc.ginco.audit.utils.AuditQueryBuilder.java
License:CeCILL license
/** * @param clazz/*w ww .ja v a2 s. co m*/ * @param revision * @param thesaurusId * @return */ public AuditQuery getEntityAtRevision(Class<?> clazz, Number revision, String thesaurusId) { AuditQuery query = readerService.getAuditReader().createQuery().forEntitiesAtRevision(clazz, revision) .add(AuditEntity.revisionProperty("thesaurusId").eq(thesaurusId)); return query; }
From source file:love.sola.netsupport.api.stuff.TicketLog.java
License:Open Source License
@SuppressWarnings("unchecked") @Override//from w ww . j av a 2 s .c o m protected Object process(HttpServletRequest req, WxSession session) throws Exception { int first; int limit; Date start; Date end; first = req.getParameter("first") == null ? 0 : Integer.parseInt(req.getParameter("first")); limit = req.getParameter("limit") == null ? 20 : Integer.parseInt(req.getParameter("limit")); start = req.getParameter("start") == null ? getToday() : dateFormat.parse(req.getParameter("start")); end = req.getParameter("end") == null ? getToday() : dateFormat.parse(req.getParameter("end")); end = DateUtils.addDays(end, 1); try (Session s = SQLCore.sf.openSession()) { AuditReader reader = TableTicket.getAuditReader(s); List<Object[]> resultList = reader.createQuery().forRevisionsOfEntity(Ticket.class, false, true) .addOrder(AuditEntity.revisionNumber().desc()) .add(AuditEntity.revisionProperty("timestamp").between(start.getTime(), end.getTime())) .setFirstResult(first).setMaxResults(limit).getResultList(); return TableTicket.initializeTickets(resultList); } }