Search in sources :

Example 1 with EntitySqlDao

use of org.killbill.billing.util.entity.dao.EntitySqlDao 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)

Example 2 with EntitySqlDao

use of org.killbill.billing.util.entity.dao.EntitySqlDao in project killbill by killbill.

the class DefaultAuditDao method getAuditLogsForAccountRecordId.

@Override
public DefaultAccountAuditLogs getAuditLogsForAccountRecordId(final AuditLevel auditLevel, final InternalTenantContext context) {
    final UUID accountId = nonEntitySqlDao.getIdFromObject(context.getAccountRecordId(), TableName.ACCOUNT.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> auditLogsForAccountRecordId = auditSqlDao.getAuditLogsForAccountRecordId(context);
    final Iterator<AuditLog> allAuditLogs = buildAuditLogsFromModelDao(auditLogsForAccountRecordId, context);
    return new DefaultAccountAuditLogs(accountId, auditLevel, allAuditLogs);
}
Also used : EntitySqlDao(org.killbill.billing.util.entity.dao.EntitySqlDao) NonEntitySqlDao(org.killbill.billing.util.dao.NonEntitySqlDao) DefaultAccountAuditLogs(org.killbill.billing.util.audit.DefaultAccountAuditLogs) UUID(java.util.UUID) DefaultAuditLog(org.killbill.billing.util.audit.DefaultAuditLog) AuditLog(org.killbill.billing.util.audit.AuditLog)

Aggregations

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