Class AceHelper


  • public class AceHelper
    extends java.lang.Object
    Parses permissions into postfix/infix notation
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String ADDCHILD  
      static java.lang.String ANSI_RED  
      static java.lang.String ANSI_RESET  
      static java.util.Map<java.lang.String,​com.mapr.fs.proto.Dbserver.DBAccessType> cfAccessTypeMap  
      static java.util.Map<com.mapr.fs.proto.Dbserver.DBAccessType,​java.lang.String> cfDefPermissionMap  
      static java.util.Map<com.mapr.fs.proto.Dbserver.DBAccessType,​java.lang.String> cfPermissionMap  
      static java.util.Map<java.lang.String,​com.mapr.fs.proto.Dbserver.DBAccessType> colAccessTypeMap  
      static java.util.Map<com.mapr.fs.proto.Dbserver.DBAccessType,​java.lang.String> colPermissionMap  
      static java.util.Set<java.lang.String> COLUMN_PERMISSIONS  
      static java.lang.String DELETECHILD  
      static java.util.Set<java.lang.String> FAMILY_PERMISSIONS  
      static java.lang.String FILEEXECUTE  
      static java.lang.String FILEREAD  
      static java.lang.String FILEWRITE  
      static java.util.Map<com.mapr.fs.proto.Common.FSAccessType,​java.lang.String> fsPermissionMap  
      static org.slf4j.Logger LOG  
      static java.lang.String LOOKUPDIR  
      static java.lang.String READDIR  
      static java.util.Set<java.lang.String> TABLE_PERMISSIONS  
      static java.util.Map<java.lang.String,​com.mapr.fs.proto.Dbserver.DBAccessType> tblAccessTypeMap  
      static java.util.Map<com.mapr.fs.proto.Dbserver.DBAccessType,​java.lang.String> tblPermissionMap  
    • Constructor Summary

      Constructors 
      Constructor Description
      AceHelper()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.util.ArrayList<com.mapr.fs.proto.Dbserver.AccessControlExpression> getCfPermission​(AceHelper.DBPermission dbperm)  
      static java.util.ArrayList<com.mapr.fs.proto.Dbserver.AccessControlExpression> getColumnPermission​(AceHelper.DBPermission dbperm)  
      static java.util.ArrayList<com.mapr.fs.proto.Dbserver.AccessControlExpression> getColumnPermission​(org.json.JSONObject json)  
      static java.util.ArrayList<com.mapr.fs.proto.Common.FileACE> getFilePermission​(AceHelper.FSPermission fsperm)  
      static java.lang.String getPermissionsListForShellHelp()
      Helper method used by HBase shell to print all applicable permissions.
      static com.mapr.fs.proto.Dbserver.TableAces getTablePermission​(AceHelper.DBPermission dbperm)  
      static java.lang.String toInfix​(java.lang.String postfix)
      Converts postfix string into infix string Examples: "u:1 g:1 |" => "u:1 | g:1" "u:1 g:123 g:3 r:12 | & p & |" => "u:1 | ((g:123 & (g:3 | r:12)) & p)"
      static java.lang.String toPostfix​(java.lang.String permission)
      Method to convert infix statement to postfix Examples: "u:1 | g:1" => "u:1 g:1 |" "u:1 | ((g:123 & (g:3 | r:12)) & p)" => "u:1 g:123 g:3 r:12 | & p & |"
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • LOG

        public static final org.slf4j.Logger LOG
      • fsPermissionMap

        public static final java.util.Map<com.mapr.fs.proto.Common.FSAccessType,​java.lang.String> fsPermissionMap
      • tblPermissionMap

        public static final java.util.Map<com.mapr.fs.proto.Dbserver.DBAccessType,​java.lang.String> tblPermissionMap
      • tblAccessTypeMap

        public static final java.util.Map<java.lang.String,​com.mapr.fs.proto.Dbserver.DBAccessType> tblAccessTypeMap
      • cfDefPermissionMap

        public static final java.util.Map<com.mapr.fs.proto.Dbserver.DBAccessType,​java.lang.String> cfDefPermissionMap
      • cfPermissionMap

        public static final java.util.Map<com.mapr.fs.proto.Dbserver.DBAccessType,​java.lang.String> cfPermissionMap
      • cfAccessTypeMap

        public static final java.util.Map<java.lang.String,​com.mapr.fs.proto.Dbserver.DBAccessType> cfAccessTypeMap
      • colPermissionMap

        public static final java.util.Map<com.mapr.fs.proto.Dbserver.DBAccessType,​java.lang.String> colPermissionMap
      • colAccessTypeMap

        public static final java.util.Map<java.lang.String,​com.mapr.fs.proto.Dbserver.DBAccessType> colAccessTypeMap
      • TABLE_PERMISSIONS

        public static final java.util.Set<java.lang.String> TABLE_PERMISSIONS
      • FAMILY_PERMISSIONS

        public static final java.util.Set<java.lang.String> FAMILY_PERMISSIONS
      • COLUMN_PERMISSIONS

        public static final java.util.Set<java.lang.String> COLUMN_PERMISSIONS
    • Constructor Detail

      • AceHelper

        public AceHelper()
    • Method Detail

      • getPermissionsListForShellHelp

        public static java.lang.String getPermissionsListForShellHelp()
        Helper method used by HBase shell to print all applicable permissions. Since HBase releases are not tied to a particular MapR release, this will ensure that any supported version of HBase shell will display correct help message applicable for the deployed version of MapR release.
        Returns:
        Help text to be displayed by HBase shell permission commands.
      • toInfix

        public static java.lang.String toInfix​(java.lang.String postfix)
                                        throws java.io.IOException
        Converts postfix string into infix string Examples: "u:1 g:1 |" => "u:1 | g:1" "u:1 g:123 g:3 r:12 | & p & |" => "u:1 | ((g:123 & (g:3 | r:12)) & p)"
        Parameters:
        postfix - The postfix string to convert
        Returns:
        Converted infix string
        Throws:
        java.io.IOException
      • toPostfix

        public static java.lang.String toPostfix​(java.lang.String permission)
                                          throws java.io.IOException
        Method to convert infix statement to postfix Examples: "u:1 | g:1" => "u:1 g:1 |" "u:1 | ((g:123 & (g:3 | r:12)) & p)" => "u:1 g:123 g:3 r:12 | & p & |"
        Parameters:
        permission - The permission string in infix format to be converted
        Returns:
        The permission string converted to postfix notation
        Throws:
        java.io.IOException
      • getColumnPermission

        public static java.util.ArrayList<com.mapr.fs.proto.Dbserver.AccessControlExpression> getColumnPermission​(org.json.JSONObject json)
                                                                                                           throws java.io.IOException,
                                                                                                                  org.json.JSONException
        Throws:
        java.io.IOException
        org.json.JSONException
      • getTablePermission

        public static com.mapr.fs.proto.Dbserver.TableAces getTablePermission​(AceHelper.DBPermission dbperm)
                                                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • getColumnPermission

        public static java.util.ArrayList<com.mapr.fs.proto.Dbserver.AccessControlExpression> getColumnPermission​(AceHelper.DBPermission dbperm)
                                                                                                           throws java.io.IOException
        Throws:
        java.io.IOException
      • getCfPermission

        public static java.util.ArrayList<com.mapr.fs.proto.Dbserver.AccessControlExpression> getCfPermission​(AceHelper.DBPermission dbperm)
                                                                                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • getFilePermission

        public static java.util.ArrayList<com.mapr.fs.proto.Common.FileACE> getFilePermission​(AceHelper.FSPermission fsperm)
                                                                                       throws java.io.IOException
        Throws:
        java.io.IOException