You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sentry.apache.org by br...@apache.org on 2013/12/27 19:51:57 UTC
[7/7] git commit: SENTRY-76 - Create basic thrift infrastructure for
policy service (Shreepadma via Brock)
SENTRY-76 - Create basic thrift infrastructure for policy service (Shreepadma via Brock)
Project: http://git-wip-us.apache.org/repos/asf/incubator-sentry/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-sentry/commit/c6bec167
Tree: http://git-wip-us.apache.org/repos/asf/incubator-sentry/tree/c6bec167
Diff: http://git-wip-us.apache.org/repos/asf/incubator-sentry/diff/c6bec167
Branch: refs/heads/db_policy_store
Commit: c6bec16793a1e985ee9f3bd07727cc6c96b39262
Parents: b9aa0b7
Author: Brock Noland <br...@apache.org>
Authored: Fri Dec 27 12:51:35 2013 -0600
Committer: Brock Noland <br...@apache.org>
Committed: Fri Dec 27 12:51:35 2013 -0600
----------------------------------------------------------------------
pom.xml | 96 +-
sentry-provider/pom.xml | 1 +
sentry-provider/sentry-provider-db/pom.xml | 196 +
.../api/SentryThriftPolicyService.java | 4695 ++++++++++++++++++
.../api/TAlterSentryRoleAddGroupsRequest.java | 757 +++
.../api/TAlterSentryRoleAddGroupsResponse.java | 383 ++
.../TAlterSentryRoleDeleteGroupsRequest.java | 501 ++
.../TAlterSentryRoleDeleteGroupsResponse.java | 383 ++
.../api/TCreateSentryPrivilegeRequest.java | 607 +++
.../api/TCreateSentryPrivilegeResponse.java | 383 ++
.../api/TCreateSentryRoleRequest.java | 607 +++
.../api/TCreateSentryRoleResponse.java | 383 ++
.../api/TListSentryRolesRequest.java | 717 +++
.../api/TListSentryRolesResponse.java | 538 ++
.../api/TSentryAlreadyExistsException.java | 391 ++
.../sentry/policystore/api/TSentryGroup.java | 385 ++
.../api/TSentryNoSuchObjectException.java | 391 ++
.../api/TSentryPolicyServiceVersion.java | 42 +
.../policystore/api/TSentryPrivilege.java | 1210 +++++
.../sentry/policystore/api/TSentryRole.java | 740 +++
.../provider/db/service/model/MSentryGroup.java | 78 +
.../db/service/model/MSentryPrivilege.java | 141 +
.../provider/db/service/model/MSentryRole.java | 104 +
.../provider/db/service/model/package.jdo | 125 +
.../service/persistent/SentryPolicyStore.java | 406 ++
.../HiveMetaStoreSentryPolicyStoreHandler.java | 700 +++
.../thrift/SentryPolicyStoreHandler.java | 77 +
.../db/service/thrift/sentry_policystore.thrift | 134 +
28 files changed, 15154 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/c6bec167/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index e74ef71..809cdb0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -65,11 +65,25 @@ limitations under the License.
<libthrift.version>0.9.0-cdh4-1</libthrift.version>
<hadoop.version>2.0.0-cdh4.4.0-SNAPSHOT</hadoop.version>
<zookeeper.version>3.4.5-cdh4.4.0-SNAPSHOT</zookeeper.version>
+ <libfb303.version>0.9.0</libfb303.version>
+ <ant.contrib.version>1.0b3</ant.contrib.version>
+ <maven.antrun.plugin.version>1.7</maven.antrun.plugin.version>
+ <maven.enforcer.plugin.version>1.3.1</maven.enforcer.plugin.version>
+ <build.helper.maven.plugin.version>1.8</build.helper.maven.plugin.version>
+ <datanucleus.maven.plugin.version>3.3.0-release</datanucleus.maven.plugin.version>
+ <datanucleus-api-jdo.version>3.2.1</datanucleus-api-jdo.version>
+ <datanucleus-core.version>3.2.2</datanucleus-core.version>
+ <datanucleus-rdbms.version>3.2.1</datanucleus-rdbms.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
+ <groupId>ant-contrib</groupId>
+ <artifactId>ant-contrib</artifactId>
+ <version>1.0b3</version>
+ </dependency>
+ <dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>${derby.version}</version>
@@ -82,6 +96,12 @@ limitations under the License.
<scope>provided</scope>
</dependency>
<dependency>
+ <groupId>org.apache.thrift</groupId>
+ <artifactId>libfb303</artifactId>
+ <version>${libfb303.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-common</artifactId>
<version>${hive.version}</version>
@@ -318,6 +338,24 @@ limitations under the License.
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>${maven.antrun.plugin.version}</version>
+ <dependencies>
+ <dependency>
+ <groupId>ant-contrib</groupId>
+ <artifactId>ant-contrib</artifactId>
+ <version>${ant.contrib.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>ant</groupId>
+ <artifactId>ant</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
@@ -326,6 +364,30 @@ limitations under the License.
</configuration>
</plugin>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>${maven.enforcer.plugin.version}</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.4</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.16</version>
+ <configuration>
+ <forkMode>always</forkMode>
+ <environmentVariables>
+ <HADOOP_CLIENT_OPTS>-Xmx1000m -Dhive.log.dir=./target/</HADOOP_CLIENT_OPTS>
+ </environmentVariables>
+ <forkedProcessTimeoutInSeconds>900</forkedProcessTimeoutInSeconds>
+ <redirectTestOutputToFile>true</redirectTestOutputToFile>
+ <argLine>-Xms256m -Xmx1g</argLine>
+ </configuration>
+ </plugin>
+ <plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<version>0.10</version>
@@ -356,35 +418,35 @@ limitations under the License.
<exclude>**/*.lck</exclude>
<!-- exclude generated solr config files -->
<exclude>**/solr/collection1/conf/**</exclude>
+ <!-- exclude generated thrift files -->
+ <exclude>**/gen/**</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
-
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>2.4</version>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <version>${build.helper.maven.plugin.version}</version>
</plugin>
-
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.16</version>
- <configuration>
- <forkMode>always</forkMode>
- <environmentVariables>
- <HADOOP_CLIENT_OPTS>-Xmx1000m -Dhive.log.dir=./target/</HADOOP_CLIENT_OPTS>
- </environmentVariables>
- <forkedProcessTimeoutInSeconds>900</forkedProcessTimeoutInSeconds>
- <redirectTestOutputToFile>true</redirectTestOutputToFile>
- <argLine>-Xms256m -Xmx1g</argLine>
- </configuration>
+ <groupId>org.datanucleus</groupId>
+ <artifactId>datanucleus-maven-plugin</artifactId>
+ <version>${datanucleus.maven.plugin.version}</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.datanucleus</groupId>
+ <artifactId>datanucleus-core</artifactId>
+ <version>${datanucleus-core.version}</version>
+ </dependency>
+ </dependencies>
</plugin>
</plugins>
</pluginManagement>
</build>
+
+
<repositories>
<repository>
http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/c6bec167/sentry-provider/pom.xml
----------------------------------------------------------------------
diff --git a/sentry-provider/pom.xml b/sentry-provider/pom.xml
index b1594cf..9bec058 100644
--- a/sentry-provider/pom.xml
+++ b/sentry-provider/pom.xml
@@ -32,6 +32,7 @@ limitations under the License.
<modules>
<module>sentry-provider-common</module>
<module>sentry-provider-file</module>
+ <module>sentry-provider-db</module>
</modules>
</project>
http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/c6bec167/sentry-provider/sentry-provider-db/pom.xml
----------------------------------------------------------------------
diff --git a/sentry-provider/sentry-provider-db/pom.xml b/sentry-provider/sentry-provider-db/pom.xml
new file mode 100644
index 0000000..38624c1
--- /dev/null
+++ b/sentry-provider/sentry-provider-db/pom.xml
@@ -0,0 +1,196 @@
+<?xml version="1.0"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.sentry</groupId>
+ <artifactId>sentry-provider</artifactId>
+ <version>1.3.0-incubating-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>sentry-provider-db</artifactId>
+ <name>Sentry Provider DB</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-common</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.sentry</groupId>
+ <artifactId>sentry-core-common</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.sentry</groupId>
+ <artifactId>sentry-provider-common</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.hive</groupId>
+ <artifactId>hive-metastore</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.hive</groupId>
+ <artifactId>hive-shims</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.thrift</groupId>
+ <artifactId>libfb303</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.thrift</groupId>
+ <artifactId>libthrift</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>ant-contrib</groupId>
+ <artifactId>ant-contrib</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>add-source</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>add-source</goal>
+ </goals>
+ <configuration>
+ <sources>
+ <source>src/main/java/org/apache/sentry/provider/db/service/model</source>
+ <source>src/gen/thrift/gen-javabean</source>
+ </sources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.datanucleus</groupId>
+ <artifactId>datanucleus-maven-plugin</artifactId>
+ <configuration>
+ <api>JDO</api>
+ <verbose>true</verbose>
+ <metadataIncludes>**/*.jdo</metadataIncludes>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>process-classes</phase>
+ <goals>
+ <goal>enhance</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <profiles>
+ <profile>
+ <id>thriftif</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>generate-thrift-sources</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <target>
+ <taskdef name="for" classname="net.sf.antcontrib.logic.ForTask"
+ classpathref="maven.plugin.classpath" />
+ <property name="thrift.args" value="-I ${thrift.home} --gen java:beans,hashcode"/>
+ <property name="thrift.gen.dir" value="${basedir}/src/gen/thrift"/>
+ <delete dir="${thrift.gen.dir}"/>
+ <mkdir dir="${thrift.gen.dir}"/>
+ <for param="thrift.file">
+ <path>
+ <fileset dir="." includes="**/*.thrift" />
+ </path>
+ <sequential>
+ <echo message="Generating Thrift code for @{thrift.file}"/>
+ <exec executable="${thrift.home}/bin/thrift" failonerror="true" dir=".">
+ <arg line="${thrift.args} -I ${basedir}/include -I ${basedir}/.. -o ${thrift.gen.dir} @{thrift.file} " />
+ </exec>
+ </sequential>
+ </for>
+ </target>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>enforce-property</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireProperty>
+ <property>thrift.home</property>
+ </requireProperty>
+ </rules>
+ <fail>true</fail>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
+</project>