List of usage examples for org.hibernate.envers AuditReader getRevisions
List<Number> getRevisions(Class<?> cls, Object primaryKey)
throws IllegalArgumentException, NotAuditedException, IllegalStateException;
From source file:org.springframework.data.envers.repository.support.EnversRevisionRepositoryImpl.java
License:Apache License
@SuppressWarnings("unchecked") public Revisions<N, T> findRevisions(ID id) { Class<T> type = entityInformation.getJavaType(); AuditReader reader = AuditReaderFactory.get(entityManager); List<? extends Number> revisionNumbers = reader.getRevisions(type, id); return revisionNumbers.isEmpty() ? new Revisions<N, T>(Collections.EMPTY_LIST) : getEntitiesForRevisions((List<N>) revisionNumbers, id, reader); }
From source file:org.tomitribe.tribestream.registryng.resources.EndpointHistoryResourceTest.java
License:Apache License
@Test public void loadRevisionHasPayload() { // Given: A random application final EndpointSearchResult searchResult = registry.withRetries(() -> { List<EndpointSearchResult> searchResults = getSearchPage().getResults().stream() .map(SearchResult::getEndpoints).flatMap(List::stream).collect(toList()); final EndpointSearchResult result = searchResults.get(random.nextInt(searchResults.size())); assertNotNull("endpoint exists", em.find(Endpoint.class, result.getEndpointId())); return result; });//from w ww. j a va 2s. com final String applicationId = searchResult.getApplicationId(); final String endpointId = searchResult.getEndpointId(); final AuditReader auditReader = AuditReaderFactory.get(em); final Number revision = auditReader.getRevisions(Endpoint.class, endpointId).iterator().next(); final String json = registry.target() .path("api/history/application/{applicationId}/endpoint/{endpointId}/{revision}") .resolveTemplate("applicationId", applicationId).resolveTemplate("endpointId", endpointId) .resolveTemplate("revision", revision.intValue()).request(MediaType.APPLICATION_JSON_TYPE) .get(EndpointWrapper.class).getJson(); assertNotNull(json); assertFalse(json.trim().isEmpty()); try { // valid it is json new ObjectMapper().readTree(json); } catch (final IOException e) { fail(e.getMessage()); } }
From source file:pl.softwaremill.enversdemo.working.WorkingDemo.java
License:Open Source License
public void doRun() { em.getTransaction().begin();//from www . java 2s . c o 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); }