This is an automated email from the ASF dual-hosted git repository.

zjffdu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zeppelin.git


The following commit(s) were added to refs/heads/master by this push:
     new 28a0a6d  [ZEPPELIN-4775]. Sometimes sql text is not highlighted
28a0a6d is described below

commit 28a0a6dea97d3630e4acf310df051523fca6140b
Author: Jeff Zhang <zjf...@apache.org>
AuthorDate: Fri Apr 24 10:45:03 2020 +0800

    [ZEPPELIN-4775]. Sometimes sql text is not highlighted
    
    ### What is this PR for?
    
    This PR is to fix the highlight issue. The root cause is in the magic 
parsing logic in frontend. This PR just move the magic logic from frontend to 
backend. So that we use the consistent parsing logic.
    
    ### What type of PR is it?
    [Bug Fix]
    
    ### Todos
    * [ ] - Task
    
    ### What is the Jira issue?
    * https://issues.apache.org/jira/browse/ZEPPELIN-4775
    
    ### How should this be tested?
    * CI pass
    
    ### Screenshots (if appropriate)
    
    Before
    
![image](https://user-images.githubusercontent.com/164491/80192467-cbe8fd00-8649-11ea-8a6a-fcb3aa02d9c5.png)
    
    After
    
    
![image](https://user-images.githubusercontent.com/164491/80192447-c390c200-8649-11ea-9c85-0fdd80edd5c4.png)
    
    ### Questions:
    * Does the licenses files need update? No
    * Is there breaking changes for older versions? No
    * Does this needs documentation? No
    
    Author: Jeff Zhang <zjf...@apache.org>
    
    Closes #3748 from zjffdu/ZEPPELIN-4775 and squashes the following commits:
    
    a030427e9 [Jeff Zhang] [ZEPPELIN-4775]. Sometimes sql text is not 
highlighted
---
 .../main/java/org/apache/zeppelin/service/NotebookService.java    | 4 ++--
 .../src/main/java/org/apache/zeppelin/socket/NotebookServer.java  | 4 ++--
 zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js   | 6 +++---
 .../src/components/websocket/websocket-message.service.js         | 4 ++--
 .../java/org/apache/zeppelin/interpreter/InterpreterSetting.java  | 3 +++
 .../apache/zeppelin/interpreter/InterpreterSettingManager.java    | 8 ++++----
 .../main/java/org/apache/zeppelin/notebook/socket/Message.java    | 2 +-
 7 files changed, 17 insertions(+), 14 deletions(-)

diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/service/NotebookService.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/service/NotebookService.java
index a844507..9901586 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/service/NotebookService.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/service/NotebookService.java
@@ -885,7 +885,7 @@ public class NotebookService {
   }
 
   public void getEditorSetting(String noteId,
-                               String magic,
+                               String paragraphText,
                                ServiceContext context,
                                ServiceCallback<Map<String, Object>> callback) 
throws IOException {
     Note note = notebook.getNote(noteId);
@@ -895,7 +895,7 @@ public class NotebookService {
     }
     try {
       Map<String, Object> settings = notebook.getInterpreterSettingManager().
-          getEditorSetting(magic, noteId);
+          getEditorSetting(paragraphText, noteId);
       callback.onSuccess(settings, context);
     } catch (Exception e) {
       callback.onFailure(new IOException("Fail to getEditorSetting", e), 
context);
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 0bef18a..ad06e02 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
@@ -2020,10 +2020,10 @@ public class NotebookServer extends WebSocketServlet
 
   private void getEditorSetting(NotebookSocket conn, Message fromMessage) 
throws IOException {
     String paragraphId = (String) fromMessage.get("paragraphId");
-    String magic = (String) fromMessage.get("magic");
+    String paragraphText = (String) fromMessage.get("paragraphText");
     String noteId = getConnectionManager().getAssociatedNoteId(conn);
 
-    getNotebookService().getEditorSetting(noteId, magic,
+    getNotebookService().getEditorSetting(noteId, paragraphText,
         getServiceContext(fromMessage),
         new WebSocketServiceCallback<Map<String, Object>>(conn) {
           @Override
diff --git a/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js 
b/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js
index a303b0f..6ccff79 100644
--- a/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js
+++ b/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js
@@ -1103,10 +1103,10 @@ function ParagraphCtrl($scope, $rootScope, $route, 
$window, $routeParams, $locat
     }
   };
 
-  let getEditorSetting = function(paragraph, magic) {
+  let getEditorSetting = function(paragraph, pragraphText) {
     let deferred = $q.defer();
     if (!$scope.revisionView) {
-      websocketMsgSrv.getEditorSetting(paragraph.id, magic);
+      websocketMsgSrv.getEditorSetting(paragraph.id, pragraphText);
       $timeout(
         $scope.$on('editorSetting', function(event, data) {
           if (paragraph.id === data.paragraphId) {
@@ -1139,7 +1139,7 @@ function ParagraphCtrl($scope, $rootScope, $route, 
$window, $routeParams, $locat
         let magic = getParagraphMagic(paragraphText);
         if (editorSetting.magic !== magic) {
           editorSetting.magic = magic;
-          getEditorSetting($scope.paragraph, magic)
+          getEditorSetting($scope.paragraph, paragraphText)
             .then(function(setting) {
               setEditorLanguage(session, setting.editor.language);
               _.merge($scope.paragraph.config.editorSetting, setting.editor);
diff --git a/zeppelin-web/src/components/websocket/websocket-message.service.js 
b/zeppelin-web/src/components/websocket/websocket-message.service.js
index 06d7726..a959070 100644
--- a/zeppelin-web/src/components/websocket/websocket-message.service.js
+++ b/zeppelin-web/src/components/websocket/websocket-message.service.js
@@ -330,12 +330,12 @@ function WebsocketMessageService($rootScope, 
websocketEvents) {
       });
     },
 
-    getEditorSetting: function(paragraphId, magic) {
+    getEditorSetting: function(paragraphId, pararaphText) {
       websocketEvents.sendNewEvent({
         op: 'EDITOR_SETTING',
         data: {
           paragraphId: paragraphId,
-          magic: magic,
+          paragraphText: pararaphText,
         },
       });
     },
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSetting.java
 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSetting.java
index 9a179cd..ff5b9e0 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSetting.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSetting.java
@@ -1093,6 +1093,9 @@ public class InterpreterSetting {
         return interpreterInfo;
       }
     }
+    if (interpreterInfos.size() == 1) {
+      return interpreterInfos.get(0);
+    }
     throw new Exception("No default interpreter info found in interpreter 
setting: " + name);
   }
 
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java
 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java
index 899c850..2a64c9d 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java
@@ -499,14 +499,14 @@ public class InterpreterSettingManager implements 
NoteEventListener, ClusterEven
   }
 
   /**
-   * Get editor setting for one paragraph based on its magic part and noteId
+   * Get editor setting for one paragraph based on its paragraph text and 
noteId
    *
-   * @param magic
+   * @param paragraphText
    * @param noteId
    * @return
    */
-  public Map<String, Object> getEditorSetting(String magic, String noteId) {
-    ParagraphTextParser.ParseResult parseResult = 
ParagraphTextParser.parse(magic);
+  public Map<String, Object> getEditorSetting(String paragraphText, String 
noteId) {
+    ParagraphTextParser.ParseResult parseResult = 
ParagraphTextParser.parse(paragraphText);
     if (StringUtils.isBlank(parseResult.getIntpText())) {
       // Use default interpreter setting if no interpreter is specified.
       InterpreterSetting interpreterSetting = 
getDefaultInterpreterSetting(noteId);
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/socket/Message.java
 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/socket/Message.java
index d30306b..2b9f339 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/socket/Message.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/socket/Message.java
@@ -108,7 +108,7 @@ public class Message implements JsonSerializable {
                       // @param params paragraph params
 
     EDITOR_SETTING,   // [c-s] ask paragraph editor setting
-                      // @param magic magic keyword written in paragraph
+                      // @param paragraph text keyword written in paragraph
                       // ex) spark.spark or spark
 
     COMPLETION,       // [c-s] ask completion candidates

Reply via email to