Impala
Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
AuthorizeableTable.java
Go to the documentation of this file.
1 // Copyright 2013 Cloudera Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 package com.cloudera.impala.authorization;
16 
17 import java.util.List;
18 
19 import org.apache.sentry.core.model.db.DBModelAuthorizable;
20 
21 import com.google.common.base.Preconditions;
22 import com.google.common.collect.Lists;
23 
29 public class AuthorizeableTable implements Authorizeable {
30  // Constant to represent privileges in the policy for "ANY" table in a
31  // a database.
32  public final static String ANY_TABLE_NAME =
34 
35  private final org.apache.sentry.core.model.db.Table table_;
36  private final org.apache.sentry.core.model.db.Database database_;
37 
38  public AuthorizeableTable(String dbName, String tableName) {
39  Preconditions.checkState(tableName != null && !tableName.isEmpty());
40  Preconditions.checkState(dbName != null && !dbName.isEmpty());
41  table_ = new org.apache.sentry.core.model.db.Table(tableName);
42  database_ = new org.apache.sentry.core.model.db.Database(dbName);
43  }
44 
45  @Override
46  public List<DBModelAuthorizable> getHiveAuthorizeableHierarchy() {
47  return Lists.newArrayList(database_, table_);
48  }
49 
50  @Override
51  public String getName() { return database_.getName() + "." + table_.getName(); }
52  public String getDbName() { return database_.getName(); }
53  public String getTblName() { return table_.getName(); }
54 }
final org.apache.sentry.core.model.db.Table table_
final org.apache.sentry.core.model.db.Database database_