Repository: zeppelin Updated Branches: refs/heads/master bba6ddd24 -> 49b3df666
[ZEPPELIN-913] Apply new mechanism to HbaseInterpreter ### What is this PR for? This PR applies the new interpreter registration mechanism to Hbase interpreter. ### What type of PR is it? (minor) Improvement ### Todos * [ ] - Task ### What is the Jira issue? [ZEPPELIN-913] ### How should this be tested? 1. apply this patch 3. build source 4. bin/zeppelin-daemon.sh start 5.Run a paragraph with hbase commands ### Screenshots (if appropriate) ### Questions: * Does the licenses files need update? => no * Is there breaking changes for older versions? => well it's not compatible with older static interpreter declaration * Does this needs documentation? => no Author: gdupont <[email protected]> Closes #1310 from ggdupont/ZEPPELIN-913 and squashes the following commits: be29b38 [gdupont] fixing unused code and styling ca0f36c [gdupont] Apply new mechanism to HbaseInterpreter Project: http://git-wip-us.apache.org/repos/asf/zeppelin/repo Commit: http://git-wip-us.apache.org/repos/asf/zeppelin/commit/49b3df66 Tree: http://git-wip-us.apache.org/repos/asf/zeppelin/tree/49b3df66 Diff: http://git-wip-us.apache.org/repos/asf/zeppelin/diff/49b3df66 Branch: refs/heads/master Commit: 49b3df666c562ae29a58833c9284b61b44b63a1d Parents: bba6ddd Author: gdupont <[email protected]> Authored: Tue Aug 9 23:24:55 2016 +0200 Committer: Jongyoul Lee <[email protected]> Committed: Fri Aug 19 13:39:25 2016 +0900 ---------------------------------------------------------------------- .../apache/zeppelin/hbase/HbaseInterpreter.java | 24 +++++++------------ .../src/main/resources/interpreter-setting.json | 25 ++++++++++++++++++++ 2 files changed, 33 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/zeppelin/blob/49b3df66/hbase/src/main/java/org/apache/zeppelin/hbase/HbaseInterpreter.java ---------------------------------------------------------------------- diff --git a/hbase/src/main/java/org/apache/zeppelin/hbase/HbaseInterpreter.java b/hbase/src/main/java/org/apache/zeppelin/hbase/HbaseInterpreter.java index 289579f..6c2460d 100644 --- a/hbase/src/main/java/org/apache/zeppelin/hbase/HbaseInterpreter.java +++ b/hbase/src/main/java/org/apache/zeppelin/hbase/HbaseInterpreter.java @@ -54,23 +54,15 @@ import java.util.Properties; * zeppelin.hbase.test.mode: (Testing only) Disable checks for unit and manual tests. Default: false */ public class HbaseInterpreter extends Interpreter { + public static final String HBASE_HOME = "hbase.home"; + public static final String HBASE_RUBY_SRC = "hbase.ruby.sources"; + public static final String HBASE_TEST_MODE = "zeppelin.hbase.test.mode"; + private Logger logger = LoggerFactory.getLogger(HbaseInterpreter.class); private ScriptingContainer scriptingContainer; private StringWriter writer; - static { - Interpreter.register("hbase", "hbase", HbaseInterpreter.class.getName(), - new InterpreterPropertyBuilder() - .add("hbase.home", - getSystemDefault("HBASE_HOME", "hbase.home", "/usr/lib/hbase/"), - "Installation directory of HBase") - .add("hbase.ruby.sources", "lib/ruby", - "Path to Ruby scripts relative to 'hbase.home'") - .add("zeppelin.hbase.test.mode", "false", "Disable checks for unit and manual tests") - .build()); - } - public HbaseInterpreter(Properties property) { super(property); } @@ -81,9 +73,9 @@ public class HbaseInterpreter extends Interpreter { this.writer = new StringWriter(); scriptingContainer.setOutput(this.writer); - if (!Boolean.parseBoolean(getProperty("zeppelin.hbase.test.mode"))) { - String hbase_home = getProperty("hbase.home"); - String ruby_src = getProperty("hbase.ruby.sources"); + if (!Boolean.parseBoolean(getProperty(HBASE_TEST_MODE))) { + String hbase_home = getProperty(HBASE_HOME); + String ruby_src = getProperty(HBASE_RUBY_SRC); Path abs_ruby_src = Paths.get(hbase_home, ruby_src).toAbsolutePath(); logger.info("Home:" + hbase_home); @@ -98,7 +90,7 @@ public class HbaseInterpreter extends Interpreter { logger.info("Absolute Ruby Source:" + abs_ruby_src.toString()); // hirb.rb:41 requires the following system property to be set. Properties sysProps = System.getProperties(); - sysProps.setProperty("hbase.ruby.sources", abs_ruby_src.toString()); + sysProps.setProperty(HBASE_RUBY_SRC, abs_ruby_src.toString()); Path abs_hirb_path = Paths.get(hbase_home, "bin/hirb.rb"); try { http://git-wip-us.apache.org/repos/asf/zeppelin/blob/49b3df66/hbase/src/main/resources/interpreter-setting.json ---------------------------------------------------------------------- diff --git a/hbase/src/main/resources/interpreter-setting.json b/hbase/src/main/resources/interpreter-setting.json new file mode 100644 index 0000000..be2f01a --- /dev/null +++ b/hbase/src/main/resources/interpreter-setting.json @@ -0,0 +1,25 @@ +[ + { + "group": "hbase", + "name": "hbase", + "className": "org.apache.zeppelin.hbase.HbaseInterpreter", + "properties": { + "hbase.home": { + "envName": "HBASE_HOME", + "propertyName": "hbase.home", + "defaultValue": "/usr/lib/hbase/", + "description": "Installation directory of HBase" + }, + "hbase.ruby.sources": { + "propertyName": "hbase.ruby.sources", + "defaultValue": "lib/ruby", + "description": "Path to Ruby scripts relative to 'hbase.home'" + }, + "zeppelin.hbase.test.mode": { + "propertyName": "zeppelin.hbase.test.mode", + "defaultValue": "false", + "description": "Disable checks for unit and manual tests" + } + } + } +]
