Class PrefixManagerImpl

java.lang.Object
org.apache.hadoop.ozone.om.PrefixManagerImpl
All Implemented Interfaces:
IOzoneAcl, PrefixManager

public class PrefixManagerImpl extends Object implements PrefixManager
Implementation of PrefixManager.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Result of the prefix acl operation.
  • Constructor Summary

    Constructors
    Constructor
    Description
    PrefixManagerImpl(OzoneManager ozoneManager, org.apache.hadoop.ozone.om.OMMetadataManager metadataManager, boolean isRatisEnabled)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    addAcl(org.apache.hadoop.ozone.security.acl.OzoneObj ozoneObj, org.apache.hadoop.ozone.OzoneAcl ozoneAcl, org.apache.hadoop.ozone.om.helpers.OmPrefixInfo prefixInfo, long transactionLogIndex)
     
    boolean
    checkAccess(org.apache.hadoop.ozone.security.acl.OzoneObj ozObject, org.apache.hadoop.ozone.security.acl.RequestContext context)
    Check access for given ozoneObject.
    List<org.apache.hadoop.ozone.OzoneAcl>
    getAcl(org.apache.hadoop.ozone.security.acl.OzoneObj obj)
    Returns list of ACLs for given Ozone object.
    List<org.apache.hadoop.ozone.om.helpers.OmPrefixInfo>
    Get the list of path components that match with obj's path.
    org.apache.hadoop.ozone.om.OMMetadataManager
    Returns the metadataManager.
    org.apache.hadoop.ozone.om.helpers.OmPrefixInfo
    getPrefixInfo(org.apache.hadoop.ozone.security.acl.OzoneObj obj)
     
    org.apache.hadoop.ozone.security.acl.OzoneObj
    getResolvedPrefixObj(org.apache.hadoop.ozone.security.acl.OzoneObj obj)
    Get the resolved prefix object to handle prefix that is under a link bucket.
    removeAcl(org.apache.hadoop.ozone.security.acl.OzoneObj ozoneObj, org.apache.hadoop.ozone.OzoneAcl ozoneAcl, org.apache.hadoop.ozone.om.helpers.OmPrefixInfo prefixInfo)
     
    setAcl(org.apache.hadoop.ozone.security.acl.OzoneObj ozoneObj, List<org.apache.hadoop.ozone.OzoneAcl> ozoneAcls, org.apache.hadoop.ozone.om.helpers.OmPrefixInfo prefixInfo, long transactionLogIndex)
     
    void
    validateOzoneObj(org.apache.hadoop.ozone.security.acl.OzoneObj obj)
    Helper method to validate ozone object.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • PrefixManagerImpl

      public PrefixManagerImpl(OzoneManager ozoneManager, org.apache.hadoop.ozone.om.OMMetadataManager metadataManager, boolean isRatisEnabled)
  • Method Details

    • getMetadataManager

      public org.apache.hadoop.ozone.om.OMMetadataManager getMetadataManager()
      Description copied from interface: PrefixManager
      Returns the metadataManager.
      Specified by:
      getMetadataManager in interface PrefixManager
      Returns:
      OMMetadataManager.
    • getAcl

      public List<org.apache.hadoop.ozone.OzoneAcl> getAcl(org.apache.hadoop.ozone.security.acl.OzoneObj obj) throws IOException
      Description copied from interface: IOzoneAcl
      Returns list of ACLs for given Ozone object.
      Specified by:
      getAcl in interface IOzoneAcl
      Parameters:
      obj - Ozone object.
      Throws:
      IOException - if there is error.
    • getPrefixInfo

      public org.apache.hadoop.ozone.om.helpers.OmPrefixInfo getPrefixInfo(org.apache.hadoop.ozone.security.acl.OzoneObj obj) throws IOException
      Throws:
      IOException
    • checkAccess

      public boolean checkAccess(org.apache.hadoop.ozone.security.acl.OzoneObj ozObject, org.apache.hadoop.ozone.security.acl.RequestContext context) throws org.apache.hadoop.ozone.om.exceptions.OMException
      Check access for given ozoneObject.
      Specified by:
      checkAccess in interface IOzoneAcl
      Parameters:
      ozObject - object for which access needs to be checked.
      context - Context object encapsulating all user related information.
      Returns:
      true if user has access else false.
      Throws:
      org.apache.hadoop.ozone.om.exceptions.OMException
    • getLongestPrefixPath

      public List<org.apache.hadoop.ozone.om.helpers.OmPrefixInfo> getLongestPrefixPath(String path)
      Description copied from interface: PrefixManager
      Get the list of path components that match with obj's path. longest prefix. Note: the number of the entries include a root "/" so if you have a longtest prefix path /a/b/c/ the returned list will be ["/", "a", "b", "c"]
      Specified by:
      getLongestPrefixPath in interface PrefixManager
      Parameters:
      path - ozone object path
      Returns:
      list of longest path components that matches obj's path.
    • validateOzoneObj

      public void validateOzoneObj(org.apache.hadoop.ozone.security.acl.OzoneObj obj) throws org.apache.hadoop.ozone.om.exceptions.OMException
      Helper method to validate ozone object.
      Parameters:
      obj -
      Throws:
      org.apache.hadoop.ozone.om.exceptions.OMException
    • addAcl

      public PrefixManagerImpl.OMPrefixAclOpResult addAcl(org.apache.hadoop.ozone.security.acl.OzoneObj ozoneObj, org.apache.hadoop.ozone.OzoneAcl ozoneAcl, org.apache.hadoop.ozone.om.helpers.OmPrefixInfo prefixInfo, long transactionLogIndex) throws IOException
      Throws:
      IOException
    • removeAcl

      public PrefixManagerImpl.OMPrefixAclOpResult removeAcl(org.apache.hadoop.ozone.security.acl.OzoneObj ozoneObj, org.apache.hadoop.ozone.OzoneAcl ozoneAcl, org.apache.hadoop.ozone.om.helpers.OmPrefixInfo prefixInfo) throws IOException
      Throws:
      IOException
    • setAcl

      public PrefixManagerImpl.OMPrefixAclOpResult setAcl(org.apache.hadoop.ozone.security.acl.OzoneObj ozoneObj, List<org.apache.hadoop.ozone.OzoneAcl> ozoneAcls, org.apache.hadoop.ozone.om.helpers.OmPrefixInfo prefixInfo, long transactionLogIndex) throws IOException
      Throws:
      IOException
    • getResolvedPrefixObj

      public org.apache.hadoop.ozone.security.acl.OzoneObj getResolvedPrefixObj(org.apache.hadoop.ozone.security.acl.OzoneObj obj) throws IOException
      Get the resolved prefix object to handle prefix that is under a link bucket.
      Parameters:
      obj - prefix object
      Returns:
      the resolved prefix object if the object belongs under a link bucket. Otherwise, return the same prefix object.
      Throws:
      IOException - Exception thrown when resolving the bucket link.