Github user sanjaydasgupta commented on the issue:

    https://github.com/apache/zeppelin/pull/3068
  
    This is a great idea @zjffdu. 
    
    There are also a few other things to think of - like automatically 
generating the name of the enabler parameter on a per-interpreter basis 
(`zeppelin.shell.interpolation` in your sample code above). This can be done by 
adding a static map to `interpreter.java` that translates from interpreter 
class name to parameter name, but I think we will obtain greater mileage from 
the following 2-part strategy:
    
    1) refactor the `interpret(...)` method in all of the existing interpreters 
once to introduce the 2 lines that have to change in each interpreter (no need 
to introduce a new method like `interpreter2(...)`
    2) add a map to `interpreter.java` that translates from interpreter class 
name to parameter name, for use in the updated code in (1) above. This map 
could be filled  with unused names in advance without doing any harm.
    
    This is more or less what I had in mind during [this earlier 
discussion](https://github.com/apache/zeppelin/pull/2502#issuecomment-323272122),
 but I did not want to start it then as there was other interpreter refactoring 
work going on. Perhaps this is a better time to resume that thought :-) Allow 
me to ask the opinions of a wider group of reviewers - what do you think 
@felixcheung @jongyoul @zjffdu ?


---

Reply via email to