15 package com.cloudera.impala.catalog;
 
   17 import java.util.List;
 
   19 import org.apache.log4j.Logger;
 
   21 import com.cloudera.impala.thrift.TCatalogObjectType;
 
   22 import com.cloudera.impala.thrift.TPrivilege;
 
   23 import com.cloudera.impala.thrift.TPrivilegeLevel;
 
   24 import com.cloudera.impala.thrift.TPrivilegeScope;
 
   25 import com.google.common.base.Joiner;
 
   26 import com.google.common.base.Preconditions;
 
   27 import com.google.common.collect.Lists;
 
   34   private static final Logger 
LOG = Logger.getLogger(AuthorizationPolicy.class);
 
   39   private static final Joiner 
KV_JOINER = Joiner.on(
"=");
 
   59     List<String> authorizable = Lists.newArrayListWithExpectedSize(4);
 
   61       Preconditions.checkNotNull(privilege);
 
   62       TPrivilegeScope scope = privilege.getScope();
 
   63       Preconditions.checkNotNull(scope);
 
   66           authorizable.add(KV_JOINER.join(
"server", privilege.getServer_name()));
 
   70           authorizable.add(KV_JOINER.join(
"server", privilege.getServer_name()));
 
   71           authorizable.add(KV_JOINER.join(
"uri", privilege.getUri()));
 
   75           authorizable.add(KV_JOINER.join(
"server", privilege.getServer_name()));
 
   76           authorizable.add(KV_JOINER.join(
"db", privilege.getDb_name()));
 
   80           authorizable.add(KV_JOINER.join(
"server", privilege.getServer_name()));
 
   81           authorizable.add(KV_JOINER.join(
"db", privilege.getDb_name()));
 
   82           authorizable.add(KV_JOINER.join(
"table", privilege.getTable_name()));
 
   86           throw new UnsupportedOperationException(
 
   87               "Unknown privilege scope: " + scope.toString());
 
   94         authorizable.add(KV_JOINER.join(
"action",
 
   95             privilege.getPrivilege_level().toString()));
 
   97       return AUTHORIZABLE_JOINER.join(authorizable).toLowerCase();
 
   98     } 
catch (Exception e) {
 
  100       LOG.error(
"ERROR: ", e);
 
  107     return TCatalogObjectType.PRIVILEGE;
 
  110   public String 
getName() { 
return privilege_.getPrivilege_name(); }
 
  111   public int getRoleId() { 
return privilege_.getRole_id(); }
 
  125     return privilege_.isSetCreate_time_ms() ? 
privilege_.getCreate_time_ms() : -1L;
 
  127   public TPrivilegeScope 
getScope() { 
return privilege_.getScope(); }
 
final TPrivilege privilege_
 
static final Joiner KV_JOINER
 
synchronized long getCatalogVersion()
 
RolePrivilege(TPrivilege privilege)
 
static final long INITIAL_CATALOG_VERSION
 
static final Joiner AUTHORIZABLE_JOINER
 
static String buildRolePrivilegeName(TPrivilege privilege)
 
TCatalogObjectType getCatalogObjectType()
 
static RolePrivilege fromThrift(TPrivilege privilege)
 
synchronized void setCatalogVersion(long newVersion)
 
TPrivilegeScope getScope()