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/10/03 07:53:40 UTC

zeppelin git commit: [ZEPPELIN-1502] Highlights initialization code editor bugs

Repository: zeppelin
Updated Branches:
  refs/heads/master c3e05de8a -> 23a7e1b45


[ZEPPELIN-1502] Highlights initialization code editor bugs

### What is this PR for?
When there are a variety of para graph interpreter present,
When you refresh the page, the code highlights are incorrectly applied.

### What type of PR is it?
Bug Fix

### Todos
- [x] - Create orderId key in getEditorMode function.

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

### How should this be tested?
1. Create a para-graph form below.
```
%spark
println("spark syn 01");
```
```
%spark
println("spark syn 02");
```
```
%spark
println("spark syn 03");
```
```
%spark
println("spark syn 04");
```
```
%spark
println("spark syn 05");
```
```
%pyspark
print ("pyspark syn);
```
```
%sql
SELECT * FROM SQL_HIGH WHERE ONMYCOM
```

2. Check the highlights of each of the para graphs.
3. Refresh the page and check the highlights again.

### Screenshots (if appropriate)
#### bug (focus on pyspark)
![codeeidtorhigh](https://cloud.githubusercontent.com/assets/10525473/18906890/66b8ede0-85a4-11e6-96fb-6cc000edf477.png)

#### this pr (focus on pyspark)
![code](https://cloud.githubusercontent.com/assets/10525473/18907220/bcc9f818-85a5-11e6-949c-db94fa753d3c.png)

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

Author: CloverHearts <cl...@gmail.com>

Closes #1468 from cloverhearts/dev/codeeditor-bugfixed and squashes the following commits:

ff43ce3 [CloverHearts] change payload key name for interpreter syntax property
de03a06 [CloverHearts] remove whitespace - jslint
eaa1b86 [CloverHearts] bug fixed for page refresh initialize editor mode


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

Branch: refs/heads/master
Commit: 23a7e1b45c8845946746252c354f2da66febbbcc
Parents: c3e05de
Author: CloverHearts <cl...@gmail.com>
Authored: Thu Sep 29 14:14:03 2016 +0900
Committer: Damien CORNEAU <co...@gmail.com>
Committed: Mon Oct 3 16:53:51 2016 +0900

----------------------------------------------------------------------
 .../main/java/org/apache/zeppelin/socket/NotebookServer.java  | 2 ++
 .../src/app/notebook/paragraph/paragraph.controller.js        | 7 ++++---
 .../src/components/websocketEvents/websocketMsg.service.js    | 3 ++-
 3 files changed, 8 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zeppelin/blob/23a7e1b4/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java
----------------------------------------------------------------------
diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java
index 10c9410..ab7394b 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java
@@ -1595,9 +1595,11 @@ public class NotebookServer extends WebSocketServlet implements
 
   private void getEditorSetting(NotebookSocket conn, Message fromMessage)
       throws IOException {
+    String paragraphId = (String) fromMessage.get("paragraphId");
     String replName = (String) fromMessage.get("magic");
     String noteId = getOpenNoteId(conn);
     Message resp = new Message(OP.EDITOR_SETTING);
+    resp.put("paragraphId", paragraphId);
     resp.put("editor", notebook().getInterpreterFactory().getEditorSetting(noteId, replName));
     conn.send(serializeMessage(resp));
     return;

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/23a7e1b4/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js b/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js
index 824896a..971f515 100644
--- a/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js
+++ b/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js
@@ -705,13 +705,14 @@ angular.module('zeppelinWebApp').controller('ParagraphCtrl', function($scope, $r
 
   var getAndSetEditorSetting = function(session, interpreterName) {
     var deferred = $q.defer();
-    websocketMsgSrv.getEditorSetting(interpreterName);
+    websocketMsgSrv.getEditorSetting($scope.paragraph.id, interpreterName);
     $timeout(
       $scope.$on('editorSetting', function(event, data) {
-        deferred.resolve(data);
+        if ($scope.paragraph.id === data.paragraphId) {
+          deferred.resolve(data);
+        }
       }
     ), 1000);
-
     deferred.promise.then(function(editorSetting) {
       if (!_.isEmpty(editorSetting.editor)) {
         var mode = 'ace/mode/' + editorSetting.editor.language;

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/23a7e1b4/zeppelin-web/src/components/websocketEvents/websocketMsg.service.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/components/websocketEvents/websocketMsg.service.js b/zeppelin-web/src/components/websocketEvents/websocketMsg.service.js
index 90303c3..6a27475 100644
--- a/zeppelin-web/src/components/websocketEvents/websocketMsg.service.js
+++ b/zeppelin-web/src/components/websocketEvents/websocketMsg.service.js
@@ -180,10 +180,11 @@ angular.module('zeppelinWebApp').service('websocketMsgSrv', function($rootScope,
       });
     },
 
-    getEditorSetting: function(replName) {
+    getEditorSetting: function(paragraphId, replName) {
       websocketEvents.sendNewEvent({
         op: 'EDITOR_SETTING',
         data: {
+          paragraphId: paragraphId,
           magic: replName
         }
       });