Class AuditMessagesManagerEntry

java.lang.Object
cz.metacentrum.perun.core.entry.AuditMessagesManagerEntry
All Implemented Interfaces:
AuditMessagesManager

public class AuditMessagesManagerEntry extends Object implements AuditMessagesManager
AuditMessagesManager manages audit messages (logs). Implementation of Entry Logic.
Author:
Michal Stava
  • Constructor Details

    • AuditMessagesManagerEntry

      public AuditMessagesManagerEntry()
  • Method Details

    • createAuditerConsumer

      public void createAuditerConsumer(PerunSession perunSession, String consumerName) throws PrivilegeException
      Description copied from interface: AuditMessagesManager
      Creates new auditer consumer with last processed id which equals current auditer log max id.
      Specified by:
      createAuditerConsumer in interface AuditMessagesManager
      Parameters:
      perunSession - perun session
      consumerName - new name for consumer
      Throws:
      PrivilegeException - When you are not authorized to create auditer consumer
    • findAllPossibleEvents

      public List<String> findAllPossibleEvents(PerunSession sess)
      Description copied from interface: AuditMessagesManager
      Return list of names of all possible events
      Specified by:
      findAllPossibleEvents in interface AuditMessagesManager
      Parameters:
      sess - perun session
      Returns:
      list of all possible events
    • getAllAuditerConsumers

      public Map<String,Integer> getAllAuditerConsumers(PerunSession perunSession)
      Description copied from interface: AuditMessagesManager
      Get all registered auditer consumers as map name(String)=lastProcessedId(Integer).
      Specified by:
      getAllAuditerConsumers in interface AuditMessagesManager
      Parameters:
      perunSession - perun session
      Returns:
      Mapping of auditer consumer names to their last processed ID.
    • getAuditMessagesManagerBl

      public AuditMessagesManagerBl getAuditMessagesManagerBl()
      Gets the AuditMessagesManagerBl for this instance.
      Returns:
      The AuditMessagesManagerBl.
    • getAuditerMessagesCount

      public int getAuditerMessagesCount(PerunSession perunSession)
      Description copied from interface: AuditMessagesManager
      Get count of all messages in auditLOG.
      Specified by:
      getAuditerMessagesCount in interface AuditMessagesManager
      Parameters:
      perunSession - perun session
      Returns:
      Count of all messages in audit log
    • getLastMessageId

      public int getLastMessageId(PerunSession perunSession)
      Description copied from interface: AuditMessagesManager
      Get ID of last (newest) message in audit log (max_id).
      Specified by:
      getLastMessageId in interface AuditMessagesManager
      Parameters:
      perunSession - perun session
      Returns:
      ID of last (newest) message.
    • getMessages

      public List<AuditMessage> getMessages(PerunSession perunSession)
      Description copied from interface: AuditMessagesManager
      Returns 100 newest audit messages from auditLOG. If there is a less messages than 100, then all of them are returned.
      Specified by:
      getMessages in interface AuditMessagesManager
      Parameters:
      perunSession - perun session
      Returns:
      List of 100 newest audit messages
    • getMessages

      public List<AuditMessage> getMessages(PerunSession perunSession, int count)
      Description copied from interface: AuditMessagesManager
      Returns exact number of newest audit messages defined by 'count' param (disregarding message IDs). If there is less messages present, then all of them are returned.
      Specified by:
      getMessages in interface AuditMessagesManager
      Parameters:
      perunSession - perun session
      count - Count of returned messages.
      Returns:
      List of audit messages
    • getMessagesByCount

      public List<AuditMessage> getMessagesByCount(PerunSession perunSession, int count)
      Description copied from interface: AuditMessagesManager
      Returns all messages with IDs within the range from max(ID) to (max(ID)-count), where number of returned messages is equal or less than 'count' param, because some IDs could be skipped in the sequence.
      Specified by:
      getMessagesByCount in interface AuditMessagesManager
      Parameters:
      perunSession - perun session
      count - Number of IDs to subtract from max(ID)
      Returns:
      List of audit messages
    • getMessagesByIdAndCount

      public List<AuditMessage> getMessagesByIdAndCount(PerunSession perunSession, int id, int count) throws PrivilegeException
      Description copied from interface: AuditMessagesManager
      Returns "count" number of messages that are more or equal than the given ID (ascending order), i.e. the method returns newer messages by provided ID.
      Specified by:
      getMessagesByIdAndCount in interface AuditMessagesManager
      Parameters:
      perunSession - perun session
      id - starting id from which the messages will be taken
      count - Number of messages that will be returned
      Returns:
      List of audit messages
      Throws:
      PrivilegeException - when the principal does not have sufficient rights
    • getMessagesPage

      public Paginated<AuditMessage> getMessagesPage(PerunSession perunSession, MessagesPageQuery query) throws PrivilegeException
      Description copied from interface: AuditMessagesManager
      Returns page of audit messages. Query parameter specifies offset and page size and allows filtering by name of event. Total count is only estimated.
      Specified by:
      getMessagesPage in interface AuditMessagesManager
      Parameters:
      perunSession - perun session
      Returns:
      Page of audit messages
      Throws:
      PrivilegeException
    • getPerunBl

      public PerunBl getPerunBl()
    • log

      public void log(PerunSession perunSession, String message) throws PrivilegeException
      Description copied from interface: AuditMessagesManager
      Log arbitrary audit message.
      Specified by:
      log in interface AuditMessagesManager
      Parameters:
      perunSession - perun session
      message - message to be logged
      Throws:
      PrivilegeException - When you are not authorized to log arbitrary message
    • pollConsumerEvents

      public List<AuditEvent> pollConsumerEvents(PerunSession perunSession, String consumerName) throws PrivilegeException
      Description copied from interface: AuditMessagesManager
      Returns list of AuditEvents from audit log with IDs > lastProcessedId for registered auditer consumer. Number of returned events for one call is limited (by default 10 000). You might need to fetch additional events by repeating this call.
      Specified by:
      pollConsumerEvents in interface AuditMessagesManager
      Parameters:
      perunSession - perun session
      consumerName - consumer to get messages for
      Returns:
      List of audit messages
      Throws:
      PrivilegeException - When you are not authorized to poll events
    • pollConsumerEvents

      public List<AuditEvent> pollConsumerEvents(PerunSession perunSession, String consumerName, int lastProcessedId) throws PrivilegeException
      Description copied from interface: AuditMessagesManager
      Returns list of AuditEvents from audit log with IDs > lastProcessedId for registered auditer consumer. Number of returned events for one call is limited (by default 10 000). You might need to fetch additional events by repeating this call.
      Specified by:
      pollConsumerEvents in interface AuditMessagesManager
      Parameters:
      perunSession - perun session
      consumerName - consumer to get messages for
      lastProcessedId - id of the last event
      Returns:
      List of audit messages
      Throws:
      PrivilegeException - When you are not authorized to poll events
    • pollConsumerMessages

      public List<AuditMessage> pollConsumerMessages(PerunSession perunSession, String consumerName) throws PrivilegeException
      Description copied from interface: AuditMessagesManager
      Returns list of AuditMessages from audit log with IDs > lastProcessedId for registered auditer consumer. Number of returned messages for one call is limited (by default 10 000). You might need to fetch additional messages by repeating this call.
      Specified by:
      pollConsumerMessages in interface AuditMessagesManager
      Parameters:
      perunSession - perun session
      consumerName - consumer to get messages for
      Returns:
      List of audit messages
      Throws:
      PrivilegeException - When you are not authorized to poll messages
    • pollConsumerMessages

      public List<AuditMessage> pollConsumerMessages(PerunSession perunSession, String consumerName, int lastProcessedId) throws PrivilegeException
      Description copied from interface: AuditMessagesManager
      Returns list of AuditMessages from audit log with IDs > lastProcessedId given. Number of returned messages for one call is limited (by default 10 000). You might need to fetch additional messages by repeating this call.
      Specified by:
      pollConsumerMessages in interface AuditMessagesManager
      Parameters:
      perunSession - perun session
      consumerName - consumer to get messages for
      lastProcessedId - id of the last message
      Returns:
      List of audit messages
      Throws:
      PrivilegeException - When you are not authorized to poll messages
    • setAuditMessagesManagerBl

      public void setAuditMessagesManagerBl(AuditMessagesManagerBl auditMessagesManagerBl)
      Sets the AuditMessagesManagerBl for this instance.
      Parameters:
      auditMessagesManagerBl - The AuditMessagesManagerBl.
    • setLastProcessedId

      public void setLastProcessedId(PerunSession perunSession, String consumerName, int lastProcessedId) throws PrivilegeException
      Description copied from interface: AuditMessagesManager
      Set ID of last processed message for specified consumer.
      Specified by:
      setLastProcessedId in interface AuditMessagesManager
      Parameters:
      perunSession - perun session
      consumerName - name of consumer
      lastProcessedId - id of last processed message in consumer
      Throws:
      PrivilegeException - When you are not authorized to set last processed id
    • setPerunBl

      public void setPerunBl(PerunBl perunBl)
      Sets the perunBl for this instance.
      Parameters:
      perunBl - The perunBl.