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);
   }
 
 }