You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by co...@apache.org on 2016/09/01 08:01:37 UTC

zeppelin git commit: [ZEPPELIN-1391][Interpreters] print error while existing registedInterpreter with the same key but different settings

Repository: zeppelin
Updated Branches:
  refs/heads/master c580a82ad -> 323aa1883


[ZEPPELIN-1391][Interpreters] print error while existing registedInterpreter with the same key but different settings

### What is this PR for?
print error while existing registedInterpreter with the same key but different settings.
In order to compare the property Map in the Interpreter easily,
I override the `equals` method in `InterpreterProperty` class. (and `hashCode` at the same time)

and I fix a small error in  `InterpreterProperty.toString()`, its result forgot `}` in the end.

### What type of PR is it?
Improvement

### Todos

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

### How should this be tested?
Existing tests.

### 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: WeichenXu <We...@outlook.com>

Closes #1382 from WeichenXu123/interpreter_key_error_check and squashes the following commits:

4ef032e [WeichenXu] print error while existing registedInterpreter with the same key but different settings


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

Branch: refs/heads/master
Commit: 323aa18830ce20ddd8bae25b630661548c89a97c
Parents: c580a82
Author: WeichenXu <We...@outlook.com>
Authored: Sun Aug 28 00:10:50 2016 -0700
Committer: Damien CORNEAU <co...@gmail.com>
Committed: Thu Sep 1 17:01:30 2016 +0900

----------------------------------------------------------------------
 .../org/apache/zeppelin/interpreter/Interpreter.java    |  6 +++++-
 .../zeppelin/interpreter/InterpreterProperty.java       | 12 ++++++++++--
 2 files changed, 15 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zeppelin/blob/323aa188/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/Interpreter.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/Interpreter.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/Interpreter.java
index 07f9cba..42caafd 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/Interpreter.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/Interpreter.java
@@ -345,10 +345,14 @@ public abstract class Interpreter {
   }
 
   public static void register(RegisteredInterpreter registeredInterpreter) {
-    // TODO(jongyoul): Error should occur when two same interpreter key with different settings
     String interpreterKey = registeredInterpreter.getInterpreterKey();
     if (!registeredInterpreters.containsKey(interpreterKey)) {
       registeredInterpreters.put(interpreterKey, registeredInterpreter);
+    } else {
+      RegisteredInterpreter existInterpreter = registeredInterpreters.get(interpreterKey);
+      if (!existInterpreter.getProperties().equals(registeredInterpreter.getProperties())) {
+        logger.error("exist registeredInterpreter with the same key but has different settings.");
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/323aa188/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/InterpreterProperty.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/InterpreterProperty.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/InterpreterProperty.java
index 5067586..c69de5d 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/InterpreterProperty.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/InterpreterProperty.java
@@ -70,6 +70,14 @@ public class InterpreterProperty {
     this.description = description;
   }
 
+  public int hashCode() {
+    return this.toString().hashCode();
+  }
+
+  public boolean equals(Object o) {
+    return this.toString().equals(o.toString());
+  }
+
   public String getValue() {
     if (envName != null && !envName.isEmpty()) {
       String envValue = System.getenv().get(envName);
@@ -89,7 +97,7 @@ public class InterpreterProperty {
 
   @Override
   public String toString() {
-    return String.format("{envName=%s, propertyName=%s, defaultValue=%s, description=%20s", envName,
-        propertyName, defaultValue, description);
+    return String.format("{envName=%s, propertyName=%s, defaultValue=%s, description=%20s}",
+            envName, propertyName, defaultValue, description);
   }
 }