@Override public List<AuditLog> getAuditLogsForBundle(final UUID bundleId) { return getAuditLogs(ObjectType.BUNDLE).getAuditLogs(bundleId); }
@Override public AuditLog apply(final AuditLogModelDao input) { return new DefaultAuditLog(input, objectType, auditedEntityId); } });
@Override public boolean apply(final AuditLog auditLog) { // As we consume the data source, cache the entries cacheAuditLog(auditLog); return objectId.equals(auditLog.getAuditedEntityId()) && // Given our ordering, this should always be true for the first entry ChangeType.INSERT.equals(auditLog.getChangeType()); } }).orNull();
private void cacheAuditLog(final AuditLog auditLog) { initializeIfNeeded(auditLog.getAuditedEntityId()); auditLogsCache.get(auditLog.getAuditedEntityId()).add(auditLog); }
@Override public AccountAuditLogsForObjectType getAuditLogs(final ObjectType objectType) { if (auditLogsCache.get(objectType) == null) { auditLogsCache.put(objectType, new DefaultAccountAuditLogsForObjectType(auditLevel, new ObjectTypeFilter(objectType, accountAuditLogs.iterator()))); } // Should never be null return auditLogsCache.get(objectType); }
@Override public int hashCode() { int result = super.hashCode(); result = 31 * result + (entity != null ? entity.hashCode() : 0); return result; } }
private void cacheAllAuditLogs() { while (allAuditLogsForObjectType.hasNext()) { final AuditLog auditLog = allAuditLogsForObjectType.next(); cacheAuditLog(auditLog); } }
@Override public List<AuditLog> getAuditLogsForPaymentAttempt(final UUID paymentAttemptId) { return getAuditLogs(ObjectType.PAYMENT_ATTEMPT).getAuditLogs(paymentAttemptId); }
@Override public List<AuditLog> getAuditLogsForAccount() { return getAuditLogs(ObjectType.ACCOUNT).getAuditLogs(accountId); }
@Override public List<AuditLog> getAuditLogsForInvoice(final UUID invoiceId) { return getAuditLogs(ObjectType.INVOICE).getAuditLogs(invoiceId); }
@Override public List<AuditLog> getAuditLogsForTag(final UUID tagId) { return getAuditLogs(ObjectType.TAG).getAuditLogs(tagId); }
@Override public List<AuditLog> getAuditLogsForCustomField(final UUID customFieldId) { return getAuditLogs(ObjectType.CUSTOM_FIELD).getAuditLogs(customFieldId); }
@Override public List<AuditLog> getAuditLogsForInvoiceItem(final UUID invoiceItemId) { return getAuditLogs(ObjectType.INVOICE_ITEM).getAuditLogs(invoiceItemId); }
@Override public List<AuditLog> getAuditLogsForPaymentTransaction(final UUID paymentTransactionId) { return getAuditLogs(ObjectType.TRANSACTION).getAuditLogs(paymentTransactionId); }
@Override public List<AuditLog> getAuditLogsForPaymentMethod(final UUID paymentMethodId) { return getAuditLogs(ObjectType.PAYMENT_METHOD).getAuditLogs(paymentMethodId); }
@Override public List<AuditLog> getAuditLogsForSubscription(final UUID subscriptionId) { return getAuditLogs(ObjectType.SUBSCRIPTION).getAuditLogs(subscriptionId); }
@Override public List<AuditLog> getAuditLogsForPayment(final UUID paymentId) { return getAuditLogs(ObjectType.PAYMENT).getAuditLogs(paymentId); }
@Override public List<AuditLog> getAuditLogsForSubscriptionEvent(final UUID subscriptionEventId) { return getAuditLogs(ObjectType.SUBSCRIPTION_EVENT).getAuditLogs(subscriptionEventId); }
@Override public List<AuditLog> getAuditLogsForBlockingState(final UUID blockingStateId) { return getAuditLogs(ObjectType.BLOCKING_STATES).getAuditLogs(blockingStateId); }
@Override public List<AuditLog> getAuditLogsForInvoicePayment(final UUID invoicePaymentId) { return getAuditLogs(ObjectType.INVOICE_PAYMENT).getAuditLogs(invoicePaymentId); }