List of usage examples for org.hibernate.envers AuditReaderFactory get
public static AuditReader get(EntityManager entityManager) throws AuditException
From source file:org.jboss.pnc.datastore.repositories.BuildConfigurationAuditedRepositoryImpl.java
License:Open Source License
@Override public List<BuildConfigurationAudited> findAllByIdOrderByRevDesc(Integer buildConfigurationId) { List<Object[]> result = AuditReaderFactory.get(entityManager).createQuery() .forRevisionsOfEntity(BuildConfiguration.class, false, false) .add(AuditEntity.id().eq(buildConfigurationId)).addOrder(AuditEntity.revisionNumber().desc()) .getResultList();/*from w ww . j a va 2 s . co m*/ List<BuildRecord> buildRecords = getBuildRecords(buildConfigurationId); return result.stream().map(o -> createAudited(o[0], o[1], buildRecords)).collect(Collectors.toList()); }
From source file:org.jboss.pnc.datastore.repositories.BuildConfigurationAuditedRepositoryImpl.java
License:Open Source License
@Override public BuildConfigurationAudited queryById(IdRev idRev) { logger.trace("Querying for BuildConfigurationAudited.idRev: {}.", idRev); BuildConfiguration buildConfiguration = AuditReaderFactory.get(entityManager).find(BuildConfiguration.class, idRev.getId(), idRev.getRev()); if (buildConfiguration == null) { return null; }/* w ww . java2 s .c o m*/ List<BuildRecord> buildRecords = getBuildRecords(idRev); //preload generic parameters buildConfiguration.getGenericParameters().forEach((k, v) -> k.equals(null)); return BuildConfigurationAudited.fromBuildConfiguration(buildConfiguration, idRev.getRev(), buildRecords); }
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.model.BasicModelTest.java
License:Open Source License
private BuildConfigurationAudited findBuildConfigurationAudited(EntityManager em) { List<Object[]> result = AuditReaderFactory.get(em).createQuery() .forRevisionsOfEntity(BuildConfiguration.class, false, false) .addOrder(AuditEntity.revisionNumber().desc()).getResultList(); Object[] second = result.get(1); BuildConfiguration buildConfiguration = (BuildConfiguration) second[0]; return BuildConfigurationAudited.fromBuildConfiguration(buildConfiguration, ((DefaultRevisionEntity) second[1]).getId()); }
From source file:org.jboss.pnc.model.BuildConfigurationTest.java
License:Open Source License
@Test public void testRetrieveAuditedGenericParameters() { //given//from w w w .j av a 2s . co m String key = "key"; String initialValue = "initialValue"; String updatedValue = "updatedValue"; Map<String, String> initialParameters = new HashMap<>(); initialParameters.put(key, initialValue); Map<String, String> updatedParameters = new HashMap<>(); updatedParameters.put(key, updatedValue); //when BuildConfiguration buildConfiguration = createBc("auditing test", "description", initialParameters); em.getTransaction().begin(); em.persist(buildConfiguration); em.getTransaction().commit(); buildConfiguration.setGenericParameters(updatedParameters); buildConfiguration.setDescription("updated description"); em.getTransaction().begin(); em.persist(buildConfiguration); em.getTransaction().commit(); //then BuildConfiguration obtained = em.find(BuildConfiguration.class, buildConfiguration.getId()); AuditReader reader = AuditReaderFactory.get(em); List<Number> revisions = reader.getRevisions(BuildConfiguration.class, obtained.getId()); assertEquals(2, revisions.size()); Number firstRevision = revisions.get(0); BuildConfiguration oldBuildConfiguration = reader.find(BuildConfiguration.class, obtained.getId(), firstRevision); Number secondRevision = revisions.get(1); BuildConfiguration newBuildConfiguration = reader.find(BuildConfiguration.class, obtained.getId(), secondRevision); Assert.assertEquals(oldBuildConfiguration.getGenericParameters().get(key), initialValue); Assert.assertEquals(newBuildConfiguration.getGenericParameters().get(key), updatedValue); BuildConfiguration buildConfigurationOld = getByIdRev(buildConfiguration.getId(), firstRevision.intValue()); BuildConfigurationAudited auditedOld = BuildConfigurationAudited .fromBuildConfiguration(buildConfigurationOld, firstRevision.intValue()); Assert.assertEquals(auditedOld.getGenericParameters().get(key), initialValue); BuildConfiguration buildConfigurationNew = getByIdRev(buildConfiguration.getId(), secondRevision.intValue()); BuildConfigurationAudited auditedNew = BuildConfigurationAudited .fromBuildConfiguration(buildConfigurationNew, secondRevision.intValue()); Assert.assertEquals(auditedNew.getGenericParameters().get(key), updatedValue); }
From source file:org.jboss.pnc.model.BuildConfigurationTest.java
License:Open Source License
private BuildConfiguration getByIdRev(Integer buildConfigurationId, Integer revision) { return (BuildConfiguration) AuditReaderFactory.get(em).createQuery() .forEntitiesAtRevision(BuildConfiguration.class, revision) .add(AuditEntity.id().eq(buildConfigurationId)).addOrder(AuditEntity.revisionNumber().desc()) .getSingleResult();/* www . jav a 2s.com*/ }
From source file:org.jboss.pnc.rest.provider.BuildRecordProvider.java
License:Open Source License
public CollectionInfo<BuildRecordRest> getAllForProject(int pageIndex, int pageSize, String sortingRsql, String query, Integer projectId) { List<Object[]> buildConfigurationRevisions = AuditReaderFactory.get(entityManager).createQuery() .forRevisionsOfEntity(BuildConfiguration.class, false, false) .add(AuditEntity.relatedId("project").eq(projectId)).addOrder(AuditEntity.revisionNumber().desc()) .getResultList();// ww w. j a v a2 s . co m return queryForBuildRecords(pageIndex, pageSize, sortingRsql, query, buildConfigurationRevisions); }
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 . j a va2 s . com*/ 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; }