Interface AuditService

  • All Known Implementing Classes:
    AuditServiceProxy, SqaleAuditService

    public interface AuditService
    Service contract for audit - this can actually represent multiple audit services. This is implementation independent, but some features may not be supported by all implementations. For instance, supportsRetrieval() indicates whether audit supports searching, or just storing.
    • Method Detail

      • audit

        void audit​(AuditEventRecord record,
                   Task task,
                   OperationResult parentResult)
        Emits audit event record, e.g. writes it in the database or logs it to a file. If audit is recorded to the repository, AuditEventRecord.repoId will be set, any provided ID is ignored. This is high-level audit method that also tries to complete the audit event record, e.g. filling in missing task information, current timestamp if none is provided, etc.
      • audit

        @Experimental
        void audit​(AuditEventRecordType record,
                   OperationResult parentResult)
        Emits audit event record provided as a generated Prism bean. Used for audit import functionality. This is a low-level audit method that does not process provided record at all.
      • cleanupAudit

        void cleanupAudit​(CleanupPolicyType policy,
                          OperationResult parentResult)
        Clean up audit records that are older than specified.
        Parameters:
        policy - Records will be deleted base on this policy.
      • supportsRetrieval

        boolean supportsRetrieval()
        Returns true if retrieval of objects from the audit trail is supported. This applies to listRecords, countObjects, reconstructObject and similar operations.
      • applyAuditConfiguration

        default void applyAuditConfiguration​(@Nullable
                                             @Nullable SystemConfigurationAuditType configuration)
        Called when audit configuration is established or changed. Setting to null means to use default values for the settings.
      • countObjects

        int countObjects​(@Nullable
                         @Nullable ObjectQuery query,
                         @Nullable
                         @Nullable Collection<SelectorOptions<GetOperationOptions>> options,
                         @NotNull
                         @NotNull OperationResult parentResult)
        Returns the number of audit events that match the specified query. If query is null or no filter in query is specified, count of all audit events is returned. Ignores any paging and ordering from the query.
        Parameters:
        query - search query
        parentResult - parent operation result (in/out)
        Returns:
        count of audit events of specified type that match the search criteria
      • getRepositoryDiag

        @NotNull
        @NotNull RepositoryDiag getRepositoryDiag()