Search in sources :

Example 1 with DefaultAccountAuditLogsForObjectType

use of org.killbill.billing.util.audit.DefaultAccountAuditLogsForObjectType in project killbill by killbill.

the class DefaultAuditDao method getAuditLogsForAccountRecordId.

@Override
public DefaultAccountAuditLogsForObjectType getAuditLogsForAccountRecordId(final TableName tableName, final AuditLevel auditLevel, final InternalTenantContext context) {
    final String actualTableName;
    if (tableName.hasHistoryTable()) {
        // upper cased
        actualTableName = tableName.getHistoryTableName().name();
    } else {
        actualTableName = tableName.getTableName();
    }
    // Lazy evaluate records to minimize the memory footprint (these can yield a lot of results)
    // We usually always want to wrap our queries in an EntitySqlDaoTransactionWrapper... except here.
    // Since we want to stream the results out, we don't want to auto-commit when this method returns.
    final EntitySqlDao auditSqlDao = transactionalSqlDao.onDemandForStreamingResults(EntitySqlDao.class);
    final Iterator<AuditLogModelDao> auditLogsForTableNameAndAccountRecordId = auditSqlDao.getAuditLogsForTableNameAndAccountRecordId(actualTableName, context);
    final Iterator<AuditLog> allAuditLogs = buildAuditLogsFromModelDao(auditLogsForTableNameAndAccountRecordId, context);
    return new DefaultAccountAuditLogsForObjectType(auditLevel, allAuditLogs);
}
Also used : EntitySqlDao(org.killbill.billing.util.entity.dao.EntitySqlDao) NonEntitySqlDao(org.killbill.billing.util.dao.NonEntitySqlDao) DefaultAccountAuditLogsForObjectType(org.killbill.billing.util.audit.DefaultAccountAuditLogsForObjectType) DefaultAuditLog(org.killbill.billing.util.audit.DefaultAuditLog) AuditLog(org.killbill.billing.util.audit.AuditLog)

Aggregations

AuditLog (org.killbill.billing.util.audit.AuditLog)1 DefaultAccountAuditLogsForObjectType (org.killbill.billing.util.audit.DefaultAccountAuditLogsForObjectType)1 DefaultAuditLog (org.killbill.billing.util.audit.DefaultAuditLog)1 NonEntitySqlDao (org.killbill.billing.util.dao.NonEntitySqlDao)1 EntitySqlDao (org.killbill.billing.util.entity.dao.EntitySqlDao)1