Interface OpenMetadataGlossarySecurity

All Known Implementing Classes:
CocoPharmaSecretsSecurityConnector, CocoPharmaServerSecurityConnector

public interface OpenMetadataGlossarySecurity
OpenMetadataGlossarySecurity assures the access to glossary content. Glossary categories and terms are anchored to a single glossary. Glossary terms may be linked to multiple categories, some in different glossaries. This interface allows the security connector to control whether a user can:
  • Create a new glossary.
  • Update the properties of a glossary.
  • Delete a glossary and all of its anchored contents.
  • Read glossary terms and categories linked to a glossary.
  • Create new terms and categories within (ie anchored to) the glossary.
  • Create new term-to-term relationships with a term within (ie anchored to) the glossary.
  • Add feedback to terms and categories within (ie anchored to) the glossary.
  • Update terms and categories anchored to the glossary.
  • Update instance status of a term anchored to the glossary.
  • Update term-to-term relationships with a term within (ie anchored to) the glossary.
  • Delete terms and categories anchored to the glossary.
  • Delete term-to-term relationships with a term within (ie anchored to) the glossary.
  • Link a term to a category that is anchored to the glossary.
  • Unlink a term from a category that is anchored to the glossary.
  • Method Details

    • validateUserForGlossaryCreate

      void validateUserForGlossaryCreate(String userId, Glossary glossary) throws UserNotAuthorizedException
      Tests for whether a specific user should have the right to create a glossary.
      Parameters:
      userId - identifier of user
      glossary - new glossary details
      Throws:
      UserNotAuthorizedException - the user is not authorized to change this glossary
    • validateUserForGlossaryRead

      void validateUserForGlossaryRead(String userId, Glossary glossary) throws UserNotAuthorizedException
      Tests for whether a specific user should have read access to a specific glossary and its contents.
      Parameters:
      userId - identifier of user
      glossary - glossary details
      Throws:
      UserNotAuthorizedException - the user is not authorized to access this glossary
    • validateUserForGlossaryDetailUpdate

      void validateUserForGlossaryDetailUpdate(String userId, Glossary originalGlossary, Glossary newGlossary) throws UserNotAuthorizedException
      Tests for whether a specific user should have the right to update the properties/classifications of a glossary.
      Parameters:
      userId - identifier of user
      originalGlossary - original glossary details
      newGlossary - new glossary details
      Throws:
      UserNotAuthorizedException - the user is not authorized to change this glossary
    • validateUserForGlossaryMemberUpdate

      void validateUserForGlossaryMemberUpdate(String userId, Glossary glossary) throws UserNotAuthorizedException
      Tests for whether a specific user should have the right to update elements attached directly to a glossary such as glossary terms and categories. These updates could be to their properties, classifications and relationships. It also includes attaching valid values but not semantic assignments since they are considered updates to the associated asset.
      Parameters:
      userId - identifier of user
      glossary - glossary details
      Throws:
      UserNotAuthorizedException - the user is not authorized to change this glossary
    • validateUserForGlossaryMemberStatusUpdate

      void validateUserForGlossaryMemberStatusUpdate(String userId, Glossary glossary) throws UserNotAuthorizedException
      Tests for whether a specific user should have the right to update the instance status of a term anchored in a glossary.
      Parameters:
      userId - identifier of user
      glossary - glossary details
      Throws:
      UserNotAuthorizedException - the user is not authorized to change this glossary
    • validateUserForGlossaryFeedback

      void validateUserForGlossaryFeedback(String userId, Glossary glossary) throws UserNotAuthorizedException
      Tests for whether a specific user should have the right to attach feedback - such as comments, ratings, tags and likes, to the glossary.
      Parameters:
      userId - identifier of user
      glossary - original glossary details
      Throws:
      UserNotAuthorizedException - the user is not authorized to change this glossary
    • validateUserForGlossaryDelete

      void validateUserForGlossaryDelete(String userId, Glossary glossary) throws UserNotAuthorizedException
      Tests for whether a specific user should have the right to delete a glossary and all of its contents.
      Parameters:
      userId - identifier of user
      glossary - original glossary details
      Throws:
      UserNotAuthorizedException - the user is not authorized to change this glossary