Package org.apache.hadoop.ozone.om
Class PrefixManagerImpl
java.lang.Object
org.apache.hadoop.ozone.om.PrefixManagerImpl
- All Implemented Interfaces:
IOzoneAcl,PrefixManager
Implementation of PrefixManager.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classResult of the prefix acl operation. -
Constructor Summary
ConstructorsConstructorDescriptionPrefixManagerImpl(OzoneManager ozoneManager, org.apache.hadoop.ozone.om.OMMetadataManager metadataManager, boolean isRatisEnabled) -
Method Summary
Modifier and TypeMethodDescriptionaddAcl(org.apache.hadoop.ozone.security.acl.OzoneObj ozoneObj, org.apache.hadoop.ozone.OzoneAcl ozoneAcl, org.apache.hadoop.ozone.om.helpers.OmPrefixInfo prefixInfo, long transactionLogIndex) booleancheckAccess(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> getLongestPrefixPath(String path) Get the list of path components that match with obj's path.org.apache.hadoop.ozone.om.OMMetadataManagerReturns the metadataManager.org.apache.hadoop.ozone.om.helpers.OmPrefixInfogetPrefixInfo(org.apache.hadoop.ozone.security.acl.OzoneObj obj) org.apache.hadoop.ozone.security.acl.OzoneObjgetResolvedPrefixObj(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) voidvalidateOzoneObj(org.apache.hadoop.ozone.security.acl.OzoneObj obj) Helper method to validate ozone object.
-
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:PrefixManagerReturns the metadataManager.- Specified by:
getMetadataManagerin interfacePrefixManager- 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:IOzoneAclReturns list of ACLs for given Ozone object.- Specified by:
getAclin interfaceIOzoneAcl- 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:
checkAccessin interfaceIOzoneAcl- 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
Description copied from interface:PrefixManagerGet 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:
getLongestPrefixPathin interfacePrefixManager- 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.
-