You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by jo...@apache.org on 2016/10/17 12:59:08 UTC

zeppelin git commit: [ZEPPELIN-916] Apply new mechanism to KylinInterpreter

Repository: zeppelin
Updated Branches:
  refs/heads/master 201d60122 -> 58cdba2a8


[ZEPPELIN-916] Apply new mechanism to KylinInterpreter

### What is this PR for?
Applying for new registration mechanism for Apache Kylin

### What type of PR is it?
[Feature]

### Todos
* [x] - Added interpreter-setting.json

### What is the Jira issue?
* https://issues.apache.org/jira/browse/ZEPPELIN-916

### How should this be tested?

### Screenshots (if appropriate)

### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No

Author: Jongyoul Lee <jo...@gmail.com>

Closes #1515 from jongyoul/ZEPPELIN-916 and squashes the following commits:

5e23043 [Jongyoul Lee] Added interpreter-setting.json Fixed test environments


Project: http://git-wip-us.apache.org/repos/asf/zeppelin/repo
Commit: http://git-wip-us.apache.org/repos/asf/zeppelin/commit/58cdba2a
Tree: http://git-wip-us.apache.org/repos/asf/zeppelin/tree/58cdba2a
Diff: http://git-wip-us.apache.org/repos/asf/zeppelin/diff/58cdba2a

Branch: refs/heads/master
Commit: 58cdba2a8c52386aed780355bca9c54599bf4e86
Parents: 201d601
Author: Jongyoul Lee <jo...@gmail.com>
Authored: Fri Oct 14 12:08:21 2016 +0900
Committer: Jongyoul Lee <jo...@apache.org>
Committed: Mon Oct 17 21:56:58 2016 +0900

----------------------------------------------------------------------
 .../apache/zeppelin/kylin/KylinInterpreter.java | 18 -------
 .../src/main/resources/interpreter-setting.json | 54 ++++++++++++++++++++
 kylin/src/test/java/KylinInterpreterTest.java   | 23 +++++----
 3 files changed, 67 insertions(+), 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zeppelin/blob/58cdba2a/kylin/src/main/java/org/apache/zeppelin/kylin/KylinInterpreter.java
----------------------------------------------------------------------
diff --git a/kylin/src/main/java/org/apache/zeppelin/kylin/KylinInterpreter.java b/kylin/src/main/java/org/apache/zeppelin/kylin/KylinInterpreter.java
index 72fad1a..8523e49 100755
--- a/kylin/src/main/java/org/apache/zeppelin/kylin/KylinInterpreter.java
+++ b/kylin/src/main/java/org/apache/zeppelin/kylin/KylinInterpreter.java
@@ -56,24 +56,6 @@ public class KylinInterpreter extends Interpreter {
   static final Pattern KYLIN_TABLE_FORMAT_REGEX_LABEL = Pattern.compile("\"label\":\"(.*?)\"");
   static final Pattern KYLIN_TABLE_FORMAT_REGEX = Pattern.compile("\"results\":\\[\\[\"(.*?)\"]]");
 
-  static {
-    Interpreter.register(
-        "kylin",
-        "kylin",
-        KylinInterpreter.class.getName(),
-        new InterpreterPropertyBuilder()
-            .add(KYLIN_USERNAME, "ADMIN", "username for kylin user")
-            .add(KYLIN_PASSWORD, "KYLIN", "password for kylin user")
-            .add(KYLIN_QUERY_API_URL, "http://<host>:<port>/kylin/api/query", "Kylin API.")
-            .add(KYLIN_QUERY_PROJECT, "default", "kylin project name")
-            .add(KYLIN_QUERY_OFFSET, "0", "kylin query offset")
-            .add(KYLIN_QUERY_LIMIT, "5000", "kylin query limit")
-            .add(KYLIN_QUERY_ACCEPT_PARTIAL, "true", "The kylin query partial flag").build());
-  }
-
-
-
-
   public KylinInterpreter(Properties property) {
     super(property);
   }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/58cdba2a/kylin/src/main/resources/interpreter-setting.json
----------------------------------------------------------------------
diff --git a/kylin/src/main/resources/interpreter-setting.json b/kylin/src/main/resources/interpreter-setting.json
new file mode 100644
index 0000000..b804da0
--- /dev/null
+++ b/kylin/src/main/resources/interpreter-setting.json
@@ -0,0 +1,54 @@
+[
+  {
+    "group": "kylin",
+    "name": "kylin",
+    "className": "org.apache.zeppelin.kylin.KylinInterpreter",
+    "properties": {
+      "kylin.api.url": {
+        "envName": null,
+        "propertyName": "kylin.api.url",
+        "defaultValue": "http://localhost:7070/kylin/api/query",
+        "description": "Kylin API"
+      },
+      "kylin.api.user": {
+        "envName": null,
+        "propertyName": "kylin.api.user",
+        "defaultValue": "ADMIN",
+        "description": "username for kylin user"
+      },
+      "kylin.api.password": {
+        "envName": null,
+        "propertyName": "kylin.api.password",
+        "defaultValue": "KYLIN",
+        "description": "password for kylin user"
+      },
+      "kylin.query.project": {
+        "envName": null,
+        "propertyName": "kylin.query.project",
+        "defaultValue": "default",
+        "description": "kylin project name"
+      },
+      "kylin.query.offset": {
+        "envName": null,
+        "propertyName": "kylin.query.offset",
+        "defaultValue": "0",
+        "description": "kylin query offset"
+      },
+      "kylin.query.limit": {
+        "envName": null,
+        "propertyName": "kylin.query.limit",
+        "defaultValue": "5000",
+        "description": "kylin query limit"
+      },
+      "kylin.query.ispartial": {
+        "envName": null,
+        "propertyName": "kylin.query.ispartial",
+        "defaultValue": "true",
+        "description": "The kylin query partial flag"
+      }
+    },
+    "editor": {
+      "language": "sql"
+    }
+  }
+]

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/58cdba2a/kylin/src/test/java/KylinInterpreterTest.java
----------------------------------------------------------------------
diff --git a/kylin/src/test/java/KylinInterpreterTest.java b/kylin/src/test/java/KylinInterpreterTest.java
index 1df20f6..6f756da 100755
--- a/kylin/src/test/java/KylinInterpreterTest.java
+++ b/kylin/src/test/java/KylinInterpreterTest.java
@@ -20,8 +20,7 @@ import org.apache.http.client.methods.HttpPost;
 import org.apache.http.message.AbstractHttpMessage;
 import org.apache.zeppelin.interpreter.InterpreterResult;
 import org.apache.zeppelin.kylin.KylinInterpreter;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.BeforeClass;
 import org.junit.Test;
 
 import java.io.ByteArrayInputStream;
@@ -33,19 +32,23 @@ import java.util.Properties;
 
 import static org.junit.Assert.assertEquals;
 
-
 public class KylinInterpreterTest {
-  @Before
-  public void setUp() throws Exception {
-  }
+  static final Properties kylinProperties = new Properties();
 
-  @After
-  public void tearDown() throws Exception {
+  @BeforeClass
+  public static void setUpClass() {
+    kylinProperties.put("kylin.api.url", "http://localhost:7070/kylin/api/query");
+    kylinProperties.put("kylin.api.user", "ADMIN");
+    kylinProperties.put("kylin.api.password", "KYLIN");
+    kylinProperties.put("kylin.query.project", "default");
+    kylinProperties.put("kylin.query.offset", "0");
+    kylinProperties.put("kylin.query.limit", "5000");
+    kylinProperties.put("kylin.query.ispartial", "true");
   }
 
   @Test
   public void test(){
-    KylinInterpreter t = new MockKylinInterpreter(new Properties());
+    KylinInterpreter t = new MockKylinInterpreter(kylinProperties);
     InterpreterResult result = t.interpret(
         "select a.date,sum(b.measure) as measure from kylin_fact_table a " +
             "inner join kylin_lookup_table b on a.date=b.date group by a.date", null);
@@ -198,4 +201,4 @@ class MockEntity implements HttpEntity{
   public void consumeContent() throws IOException {
 
   }
-}
\ No newline at end of file
+}