From 63617efe324a60c2cd10db3b6ad58697787a1f07 Mon Sep 17 00:00:00 2001 From: Ralph Geerkens Date: Thu, 2 Jun 2016 23:10:54 +0200 Subject: [PATCH] [ZEPPELIN-915] New registration mechanism applied to JDBCInterpreter --- .../apache/zeppelin/jdbc/JDBCInterpreter.java | 15 ------- .../main/resources/interpreter-setting.json | 39 +++++++++++++++++++ .../zeppelin/jdbc/JDBCInterpreterTest.java | 13 ++++++- pom.xml | 1 + 4 files changed, 52 insertions(+), 16 deletions(-) create mode 100644 jdbc/src/main/resources/interpreter-setting.json diff --git a/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java b/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java index da1a69dd8e1..6495264c26c 100644 --- a/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java +++ b/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java @@ -106,21 +106,6 @@ public class JDBCInterpreter extends Interpreter { private final Map> propertyKeyUnusedConnectionListMap; private final Map paragraphIdConnectionMap; - - static { - Interpreter.register( - "sql", - "jdbc", - JDBCInterpreter.class.getName(), - new InterpreterPropertyBuilder() - .add(DEFAULT_URL, "jdbc:postgresql://localhost:5432/", "The URL for JDBC.") - .add(DEFAULT_USER, "gpadmin", "The JDBC user name") - .add(DEFAULT_PASSWORD, "", - "The JDBC user password") - .add(DEFAULT_DRIVER, "org.postgresql.Driver", "JDBC Driver Name") - .add(COMMON_MAX_LINE, MAX_LINE_DEFAULT, - "Max number of SQL result to display.").build()); - } public JDBCInterpreter(Properties property) { super(property); diff --git a/jdbc/src/main/resources/interpreter-setting.json b/jdbc/src/main/resources/interpreter-setting.json new file mode 100644 index 00000000000..97b2c618103 --- /dev/null +++ b/jdbc/src/main/resources/interpreter-setting.json @@ -0,0 +1,39 @@ +[ + { + "group": "jdbc", + "name": "sql", + "className": "org.apache.zeppelin.jdbc.JDBCInterpreter", + "properties": { + "default.url": { + "envName": null, + "propertyName": "default.url", + "defaultValue": "jdbc:postgresql://localhost:5432/", + "description": "The URL for JDBC." + }, + "default.user": { + "envName": null, + "propertyName": "default.user", + "defaultValue": "gpadmin", + "description": "The JDBC user name" + }, + "default.password": { + "envName": null, + "propertyName": "default.password", + "defaultValue": "", + "description": "The JDBC user password" + }, + "default.driver": { + "envName": null, + "propertyName": "default.driver", + "defaultValue": "org.postgresql.Driver", + "description": "JDBC Driver Name" + }, + "common.max_count": { + "envName": null, + "propertyName": "common.max_count", + "defaultValue": "1000", + "description": "Max number of SQL result to display." + } + } + } +] diff --git a/jdbc/src/test/java/org/apache/zeppelin/jdbc/JDBCInterpreterTest.java b/jdbc/src/test/java/org/apache/zeppelin/jdbc/JDBCInterpreterTest.java index 593d968bbb4..065f4ed5b88 100644 --- a/jdbc/src/test/java/org/apache/zeppelin/jdbc/JDBCInterpreterTest.java +++ b/jdbc/src/test/java/org/apache/zeppelin/jdbc/JDBCInterpreterTest.java @@ -51,6 +51,17 @@ private static String getJdbcConnection() throws IOException { } return jdbcConnection; } + + public static Properties getJDBCTestProperties() { + Properties p = new Properties(); + p.setProperty("default.driver", "org.postgresql.Driver"); + p.setProperty("default.url", "jdbc:postgresql://localhost:5432/"); + p.setProperty("default.user", "gpadmin"); + p.setProperty("default.password", ""); + p.setProperty("common.max_count", "1000"); + + return p; + } @Before public void setUp() throws Exception { @@ -116,7 +127,7 @@ public void testForMapPrefix() throws SQLException, IOException { @Test public void testDefaultProperties() throws SQLException { - JDBCInterpreter jdbcInterpreter = new JDBCInterpreter(new Properties()); + JDBCInterpreter jdbcInterpreter = new JDBCInterpreter(getJDBCTestProperties()); assertEquals("org.postgresql.Driver", jdbcInterpreter.getProperty(DEFAULT_DRIVER)); assertEquals("jdbc:postgresql://localhost:5432/", jdbcInterpreter.getProperty(DEFAULT_URL)); diff --git a/pom.xml b/pom.xml index 598f9a3fbb1..929f158c880 100755 --- a/pom.xml +++ b/pom.xml @@ -474,6 +474,7 @@ conf/zeppelin-env.sh spark-*-bin*/** .spark-dist/** + **/interpreter-setting.json docs/assets/themes/zeppelin/bootstrap/**