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()