Example usage for org.hibernate.envers DefaultTrackingModifiedEntitiesRevisionEntity getModifiedEntityNames

List of usage examples for org.hibernate.envers DefaultTrackingModifiedEntitiesRevisionEntity getModifiedEntityNames

Introduction

In this page you can find the example usage for org.hibernate.envers DefaultTrackingModifiedEntitiesRevisionEntity getModifiedEntityNames.

Prototype

public Set<String> getModifiedEntityNames() 

Source Link

Usage

From source file:org.devgateway.eudevfin.financial.test.storage.RevisionsTest.java

License:Open Source License

@Test
public void testQueryRevByTypeAndId() {
    final Long modifiedTxId = this.storageHelper.modifyOrgAndAmountOfTransaction();

    // Querying for the revisions when a FinancialTransaction with id modifiedTxId was modified
    final AuditQuery auditQuery = this.auditReader.createQuery()
            .forRevisionsOfEntity(FinancialTransaction.class, false, false)
            .add(AuditEntity.id().eq(modifiedTxId));
    final List<Object[]> auditObjects = auditQuery.getResultList();

    assertTrue(auditObjects.size() > 0);

    for (final Object[] oArray : auditObjects) {
        final FinancialTransaction fTransaction = (FinancialTransaction) oArray[0];
        assertNotNull(fTransaction.getExtendingAgency());
        final DefaultTrackingModifiedEntitiesRevisionEntity trackingObject = (DefaultTrackingModifiedEntitiesRevisionEntity) oArray[1];
        logger.info(String.format(
                "For transaction with id %d and amount %f and organization %s.Revision numbers is %d. Modified entities: %s ",
                fTransaction.getId(), fTransaction.getAmount().doubleValue(),
                fTransaction.getExtendingAgency().getName(), trackingObject.getId(),
                trackingObject.getModifiedEntityNames()));
        assertTrue(trackingObject.getModifiedEntityNames().contains(FinancialTransaction.class.getName()));
    }/* w w w . j  a v a2s  .  co  m*/
    final DefaultTrackingModifiedEntitiesRevisionEntity trackingObject = (DefaultTrackingModifiedEntitiesRevisionEntity) auditObjects
            .get(auditObjects.size() - 1)[1];

    // Last revision should show that also an Organization entity was modified in the same revision
    assertTrue(trackingObject.getModifiedEntityNames().contains(Organization.class.getName()));
}