You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sentry.apache.org by co...@apache.org on 2017/11/22 15:56:41 UTC
[21/23] sentry git commit: Adding Alexander's comments
Adding Alexander's comments
Project: http://git-wip-us.apache.org/repos/asf/sentry/repo
Commit: http://git-wip-us.apache.org/repos/asf/sentry/commit/332bc1b7
Tree: http://git-wip-us.apache.org/repos/asf/sentry/tree/332bc1b7
Diff: http://git-wip-us.apache.org/repos/asf/sentry/diff/332bc1b7
Branch: refs/heads/master
Commit: 332bc1b741788992ca537a76e2d5f8b3c97b480f
Parents: b882eb4
Author: Colm O hEigeartaigh <co...@apache.org>
Authored: Wed Nov 22 15:19:04 2017 +0000
Committer: Colm O hEigeartaigh <co...@apache.org>
Committed: Wed Nov 22 15:19:04 2017 +0000
----------------------------------------------------------------------
bin/sentryCli | 16 +++----
.../java/org/apache/sentry/shell/SentryCli.java | 22 ---------
.../org/apache/sentry/shell/TopLevelShell.java | 50 ++++++++++++--------
3 files changed, 38 insertions(+), 50 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/sentry/blob/332bc1b7/bin/sentryCli
----------------------------------------------------------------------
diff --git a/bin/sentryCli b/bin/sentryCli
index 02e9edd..2a3d906 100755
--- a/bin/sentryCli
+++ b/bin/sentryCli
@@ -18,39 +18,37 @@
bin=`dirname "$0"`
myhome=`cd "$bin/.."; pwd`
-if [[ -z $SENTRY_HOME ]] ; then
- export SENTRY_HOME=$myhome
-fi
+export SENTRY_HOME=${SENTRY_HOME:-${myhome}}
# check for hadoop in the path
HADOOP_IN_PATH=`which hadoop 2>/dev/null`
-if [ -f ${HADOOP_IN_PATH} ]; then
+if [[ -f ${HADOOP_IN_PATH} ]]; then
HADOOP_DIR=`dirname "$HADOOP_IN_PATH"`/..
fi
# HADOOP_HOME env variable overrides hadoop in the path
HADOOP_HOME=${HADOOP_HOME:-${HADOOP_PREFIX:-$HADOOP_DIR}}
-if [ "$HADOOP_HOME" == "" ]; then
+if [[ -z ${HADOOP_HOME} ]]; then
echo "Cannot find hadoop installation: \$HADOOP_HOME or \$HADOOP_PREFIX must be set or hadoop must be in the path";
exit 4;
fi
HADOOP=$HADOOP_HOME/bin/hadoop
-if [ ! -f ${HADOOP} ]; then
+if [[ ! -f ${HADOOP} ]]; then
echo "Cannot find hadoop installation: \$HADOOP_HOME or \$HADOOP_PREFIX must be set or hadoop must be in the path";
exit 4;
fi
export _CMD_JAR=${SENTRY_SHELL_JAR:-sentry-provider-db-*.jar}
for f in ${SENTRY_HOME}/lib/*.jar; do
- HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:${f}
+ HADOOP_CLASSPATH+=:${f}
done
export HADOOP_CLASSPATH
for f in ${SENTRY_HOME}/lib/server/*.jar; do
- HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:${f}
+ HADOOP_CLASSPATH+=:${f}
done
for f in ${SENTRY_HOME}/lib/plugins/*.jar; do
- HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:${f}
+ HADOOP_CLASSPATH+=:${f}
done
args=()
http://git-wip-us.apache.org/repos/asf/sentry/blob/332bc1b7/sentry-tools/src/main/java/org/apache/sentry/shell/SentryCli.java
----------------------------------------------------------------------
diff --git a/sentry-tools/src/main/java/org/apache/sentry/shell/SentryCli.java b/sentry-tools/src/main/java/org/apache/sentry/shell/SentryCli.java
index 75b845c..8b68d0d 100644
--- a/sentry-tools/src/main/java/org/apache/sentry/shell/SentryCli.java
+++ b/sentry-tools/src/main/java/org/apache/sentry/shell/SentryCli.java
@@ -27,8 +27,6 @@ import org.apache.sentry.provider.db.generic.service.thrift.SentryGenericService
import org.apache.sentry.provider.db.generic.service.thrift.SentryGenericServiceClientFactory;
import org.apache.sentry.provider.db.service.thrift.SentryPolicyServiceClient;
import org.apache.sentry.service.thrift.SentryServiceClientFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.io.FileInputStream;
import java.io.IOException;
@@ -43,9 +41,7 @@ import static org.apache.sentry.service.thrift.ServiceConstants.ServerConfig.SEC
* Sentry interactive tool
*/
public class SentryCli {
- private static final Logger log = LoggerFactory.getLogger(SentryCli.class.getName());
private static final String LOG4J_CONF = "log4jConf";
- private final String[] args;
private Options options = new Options();
private CommandLine cmd;
@@ -92,7 +88,6 @@ public class SentryCli {
* @param args command-line arguments
*/
public SentryCli(String[] args) {
- this.args = args;
options.addOption("h", "help", false, "show help");
// file path of sentry-site
options.addOption("U", userOpt, true, "auth user");
@@ -112,23 +107,6 @@ public class SentryCli {
}
/**
- * Parse command-line arguments.
- */
- public void parse() {
- CommandLineParser parser = new GnuParser();
- try {
- cmd = parser.parse(options, args);
- if (cmd.hasOption("h")) {
- help();
- }
- } catch (ParseException e) {
- log.warn("error in parsing expression", e);
- help();
- System.exit(1);
- }
- }
-
- /**
* Initialize CLI
*/
private void init() {
http://git-wip-us.apache.org/repos/asf/sentry/blob/332bc1b7/sentry-tools/src/main/java/org/apache/sentry/shell/TopLevelShell.java
----------------------------------------------------------------------
diff --git a/sentry-tools/src/main/java/org/apache/sentry/shell/TopLevelShell.java b/sentry-tools/src/main/java/org/apache/sentry/shell/TopLevelShell.java
index 9cb9a53..0ddf295 100644
--- a/sentry-tools/src/main/java/org/apache/sentry/shell/TopLevelShell.java
+++ b/sentry-tools/src/main/java/org/apache/sentry/shell/TopLevelShell.java
@@ -46,7 +46,7 @@ import java.util.Set;
*/
public class TopLevelShell implements ShellDependent, Runnable {
- public enum TYPE { kafka, hive, solr, sqoop };
+ public enum TYPE { KAFKA, HIVE, SOLR, SQOOP };
private final Shell topShell;
private ShellCommand shellCommand;
@@ -227,7 +227,7 @@ public class TopLevelShell implements ShellDependent, Runnable {
// Check it's a valid type first
try {
TYPE parsedType = TYPE.valueOf(type);
- if (parsedType == TYPE.hive) {
+ if (parsedType == TYPE.HIVE) {
shellCommand = new HiveShellCommand(sentryClient);
} else {
String component = getComponent(parsedType);
@@ -248,8 +248,8 @@ public class TopLevelShell implements ShellDependent, Runnable {
String service) {
try {
// Check it's a valid type first
- TYPE parsedType = TYPE.valueOf(type);
- if (parsedType == TYPE.hive) {
+ TYPE parsedType = parseType(type);
+ if (parsedType == TYPE.HIVE) {
shellCommand = new HiveShellCommand(sentryClient);
} else {
String component = getComponent(parsedType);
@@ -276,27 +276,39 @@ public class TopLevelShell implements ShellDependent, Runnable {
}
private String getComponent(TYPE type) {
- if (type == TYPE.kafka) {
- return AuthorizationComponent.KAFKA;
- } else if (type == TYPE.solr) {
- return "SOLR";
- } else if (type == TYPE.sqoop) {
- return AuthorizationComponent.SQOOP;
+ switch (type) {
+ case KAFKA:
+ return AuthorizationComponent.KAFKA;
+ case SOLR:
+ return "SOLR";
+ case SQOOP:
+ return AuthorizationComponent.SQOOP;
+ default:
+ throw new IllegalArgumentException("Invalid type specified for SentryShellGeneric: " + type);
}
-
- throw new IllegalArgumentException("Invalid type specified for SentryShellGeneric: " + type);
}
private String getService(TYPE type) {
- if (type == TYPE.kafka) {
- return AuthorizationComponent.KAFKA;
- } else if (type == TYPE.solr) {
- return "service1";
- } else if (type == TYPE.sqoop) {
- return "sqoopServer1";
+ switch (type) {
+ case KAFKA:
+ return AuthorizationComponent.KAFKA;
+ case SOLR:
+ return "service1";
+ case SQOOP:
+ return "sqoopServer1";
+ default:
+ throw new IllegalArgumentException("Invalid type specified for SentryShellGeneric: " + type);
+ }
+ }
+
+ private TYPE parseType(String typeStr) {
+ for (TYPE type : TYPE.values()) {
+ if (type.name().equalsIgnoreCase(typeStr)) {
+ return type;
+ }
}
- throw new IllegalArgumentException("Invalid type specified for SentryShellGeneric: " + type);
+ throw new IllegalArgumentException("Invalid type specified for SentryShellGeneric: " + typeStr);
}
}