List of usage examples for org.hibernate.envers AuditReader find
<T> T find(Class<T> cls, Object primaryKey, Date date) throws IllegalArgumentException, NotAuditedException,
RevisionDoesNotExistException, IllegalStateException;
From source file:org.jboss.as.test.integration.jpa.transaction.envers.SFSB1.java
License:Open Source License
public String retrieveOldEmployeeVersionforRollBack(int id) { AuditReader reader = AuditReaderFactory.get(em); Employee emp1_rev = reader.find(Employee.class, id, 5); return emp1_rev.getAddress(); }
From source file:org.jboss.pnc.model.BuildConfigurationTest.java
License:Open Source License
@Test public void testRetrieveAuditedGenericParameters() { //given/*from w w w.j a v a 2 s.c o 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.pressgang.ccms.model.utils.EnversUtilities.java
License:Open Source License
@SuppressWarnings("unchecked") private static <T extends AuditedEntity> T getRevision(final AuditReader reader, final Class<T> entityClass, final Integer id, final Number revision, boolean revisionCheck) { final T revEntity = (T) reader.find(entityClass, id, revision); if (revEntity == null) return null; final Date revisionLastModified = reader.getRevisionDate(revision); revEntity.setLastModifiedDate(revisionLastModified); revEntity.setRevision(revisionCheck ? getClosestRevision(reader, entityClass, id, revision) : revision); return revEntity; }
From source file:org.opens.tanaguru.entity.dao.audit.ProcessResultDAOImpl.java
License:Open Source License
@Override public List<DefiniteResult> getHistoryChanges(ProcessResult processResultImpl) { List<DefiniteResult> history = new ArrayList<DefiniteResult>(); AuditReader auditReader = AuditReaderFactory.get(this.entityManager); Long id = processResultImpl.getId(); if (id == null) { return new ArrayList<DefiniteResult>(); }/*from w ww. ja v a 2s .c om*/ List<Number> revisions = auditReader.getRevisions(processResultImpl.getClass(), id); DefiniteResult find = null; for (int i = 0; i < revisions.size(); i++) { Number revision = revisions.get(i); find = auditReader.find(DefiniteResultImpl.class, id, revision); history.add(find); } return history; }
From source file:org.springframework.data.envers.repository.support.EnversRevisionRepositoryImpl.java
License:Apache License
/** * Returns the entities in the given revisions for the entitiy with the given id. * /*from w ww. j ava 2s .c om*/ * @param revisionNumbers * @param id * @param reader * @return */ @SuppressWarnings("unchecked") private Revisions<N, T> getEntitiesForRevisions(List<N> revisionNumbers, ID id, AuditReader reader) { Class<T> type = entityInformation.getJavaType(); Map<N, T> revisions = new HashMap<N, T>(revisionNumbers.size()); Class<?> revisionEntityClass = revisionEntityInformation.getRevisionEntityClass(); Map<Number, Object> revisionEntities = (Map<Number, Object>) reader.findRevisions(revisionEntityClass, new HashSet<Number>(revisionNumbers)); for (Number number : revisionNumbers) { revisions.put((N) number, reader.find(type, id, number)); } return new Revisions<N, T>(toRevisions(revisions, revisionEntities)); }
From source file:org.tomitribe.tribestream.registryng.repository.Repository.java
License:Apache License
public OpenApiDocument findByApplicationIdAndRevision(final String applicationid, final int revision) { AuditReader auditReader = AuditReaderFactory.get(em); OpenApiDocument openApiDocument = auditReader.find(OpenApiDocument.class, applicationid, revision); // Resolve the references here, because the Resource implementation will not be able to do that because // it is running another transaction for (Endpoint endpoint : openApiDocument.getEndpoints()) { endpoint.getDocument();/*from w w w.jav a 2s. c o m*/ } return openApiDocument; }
From source file:org.tomitribe.tribestream.registryng.repository.Repository.java
License:Apache License
public Endpoint findEndpointByIdAndRevision(final String endpointId, final int revision) { final AuditReader auditReader = AuditReaderFactory.get(em); final Endpoint endpoint = auditReader.find(Endpoint.class, endpointId, revision); // Resolve the application here, because the caller will not be able to, as it will // be running in a different transaction endpoint.getApplication().getId();/*from www . j a v a 2s . c o m*/ return endpoint; }
From source file:pl.konczak.mystartupapp.sharedkernel.enversRepository.EnversRevisionRepositoryImpl.java
License:Apache License
/** * Returns an entity in the given revision for the given entity-id. * * @param revisionNumber/* w ww.j ava 2s . c om*/ * @param id * @param reader * @return */ @SuppressWarnings("unchecked") private Revision<N, T> getEntityForRevision(N revisionNumber, ID id, AuditReader reader) { Class<?> type = revisionEntityInformation.getRevisionEntityClass(); T revision = (T) reader.findRevision(type, revisionNumber); Object entity = reader.find(entityInformation.getJavaType(), id, revisionNumber); return new Revision<N, T>((RevisionMetadata<N>) getRevisionMetadata(revision), (T) entity); }
From source file:pl.softwaremill.enversdemo.working.WorkingDemo.java
License:Open Source License
public void doRun() { em.getTransaction().begin();/* ww w . j av a 2s .co m*/ WorkingAddress a1 = new WorkingAddress("street1"); em.persist(a1); WorkingAddress a2 = new WorkingAddress("street2"); em.persist(a2); WorkingPerson p1 = new WorkingPerson("john", "doe", 10); p1.setAddress(a1); em.persist(p1); em.getTransaction().commit(); // --- em.getTransaction().begin(); p1 = em.find(WorkingPerson.class, p1.getId()); p1.setAge(11); WorkingPerson p2 = new WorkingPerson("mary", "kowalski", 99); p2.setAddress(a1); em.persist(p2); em.getTransaction().commit(); // -- em.getTransaction().begin(); p1 = em.find(WorkingPerson.class, p1.getId()); p1.setAddress(a2); p1.setName("peter"); p2 = em.find(WorkingPerson.class, p2.getId()); p2.setAge(35); em.getTransaction().commit(); // -- AuditReader ar = AuditReaderFactory.get(em); WorkingPerson p1_rev1 = ar.find(WorkingPerson.class, p1.getId(), 1); assertEquals(p1_rev1.getAge(), 10); WorkingPerson p2_rev3 = ar.find(WorkingPerson.class, p2.getId(), 3); assertEquals(p2_rev3.getAge(), 35); // -- assertEquals(ar.getRevisions(WorkingPerson.class, p2.getId()), Arrays.asList(2, 3)); // -- assertEquals(ar.find(WorkingAddress.class, a1.getId(), 2).getPersons().size(), 2); }
From source file:sample.data.jpa.service.CityRepositoryIntegrationTests.java
License:Apache License
private void checkRevisions(long cityId) { AuditReader reader = AuditReaderFactory.get(entityManager); City city_rev1 = reader.find(City.class, cityId, 1); assertThat(city_rev1.getState(), is(WRONG_STATE)); City city_rev2 = reader.find(City.class, cityId, 2); assertThat(city_rev2.getState(), is(OXFORDSHIRE_STATE)); }