Skip to content

Commit 787a366

Browse files
cloverheartsjongyoul
authored andcommitted
change Back-end test cases and member type (perNote, perUser)
1 parent 8586e1f commit 787a366

File tree

5 files changed

+58
-14
lines changed

5 files changed

+58
-14
lines changed

zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreter.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,7 @@ public InterpreterResult interpret(String st, InterpreterContext context) {
298298
if (logger.isDebugEnabled()) {
299299
logger.debug("st:\n{}", st);
300300
}
301+
301302
FormType form = getFormType();
302303
RemoteInterpreterProcess interpreterProcess = getInterpreterProcess();
303304
Client client = null;

zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterOption.java

Lines changed: 41 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,16 @@
2323
*
2424
*/
2525
public class InterpreterOption {
26+
public final transient String SHARED = "shared";
27+
public final transient String SCOPED = "scoped";
28+
public final transient String ISOLATED = "isolated";
29+
2630
boolean remote;
2731
String host = null;
2832
int port = -1;
2933

30-
boolean perNote;
31-
boolean perUser;
34+
String perNote;
35+
String perUser;
3236

3337
boolean session;
3438
boolean process;
@@ -37,19 +41,46 @@ public class InterpreterOption {
3741
boolean setPermission;
3842
List<String> users;
3943

44+
public boolean isGlobally() {
45+
if (perNote != null && perNote.equals(SHARED)
46+
&& perUser != null && perUser.equals(SHARED)) {
47+
return true;
48+
}
49+
return false;
50+
}
51+
4052
public boolean isPerNote() {
41-
return perNote;
53+
if (isGlobally() == true) {
54+
return false;
55+
}
56+
57+
if (perNote != null && !perNote.equals("")) {
58+
return true;
59+
}
60+
61+
return false;
4262
}
4363

44-
public void setPerNote(boolean perNote) {
64+
public void setPerNote(String perNote) {
4565
this.perNote = perNote;
4666
}
4767

4868
public boolean isPerUser() {
49-
return perUser;
69+
if (isGlobally() == true) {
70+
return false;
71+
}
72+
73+
if (isPerNote() == true) {
74+
return false;
75+
}
76+
77+
if (perUser != null && !perUser.equals("")) {
78+
return true;
79+
}
80+
return false;
5081
}
5182

52-
public void setPerUser(boolean perUser) {
83+
public void setPerUser(String perUser) {
5384
this.perUser = perUser;
5485
}
5586

@@ -82,10 +113,14 @@ public List<String> getUsers() {
82113
}
83114

84115
public InterpreterOption() {
116+
this.perNote = null;
117+
this.perUser = null;
85118
remote = false;
86119
}
87120

88121
public InterpreterOption(boolean remote) {
122+
this.perNote = null;
123+
this.perUser = null;
89124
this.remote = remote;
90125
}
91126

zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/InterpreterFactoryTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ public void testMultiUser() throws IOException, RepositoryException {
226226

227227
InterpreterOption perUserInterpreterOption = new InterpreterOption(true);
228228
perUserInterpreterOption.setSession(true);
229-
perUserInterpreterOption.setPerUser(true);
229+
perUserInterpreterOption.setPerUser(perUserInterpreterOption.ISOLATED);
230230
final InterpreterSetting setting1 = factory.createNewSetting("test-group1", "group1", new ArrayList<Dependency>(), perUserInterpreterOption, new Properties());
231231

232232
factory.setInterpreters("user1", "note", new ArrayList<String>() {{

zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NoteInterpreterLoaderTest.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,13 +95,16 @@ public void testGetInterpreter() throws IOException {
9595

9696
@Test
9797
public void testNoteSession() throws IOException {
98+
InterpreterOption dumyInterpreterOption = new InterpreterOption();
9899
factory.setInterpreters("user", "noteA", factory.getDefaultInterpreterSettingList());
99100
factory.getInterpreterSettings("noteA").get(0).getOption().setSession(true);
100-
factory.getInterpreterSettings("noteA").get(0).getOption().setPerNote(true);
101+
factory.getInterpreterSettings("noteA").get(0).getOption().setPerNote(dumyInterpreterOption.SCOPED);
102+
factory.getInterpreterSettings("noteA").get(0).getOption().setPerUser("");
101103

102104
factory.setInterpreters("user", "noteB", factory.getDefaultInterpreterSettingList());
103105
factory.getInterpreterSettings("noteB").get(0).getOption().setSession(true);
104-
factory.getInterpreterSettings("noteB").get(0).getOption().setPerNote(true);
106+
factory.getInterpreterSettings("noteB").get(0).getOption().setPerNote(dumyInterpreterOption.SCOPED);
107+
factory.getInterpreterSettings("noteB").get(0).getOption().setPerUser("");
105108

106109
// interpreters are not created before accessing it
107110
assertNull(factory.getInterpreterSettings("noteA").get(0).getInterpreterGroup("user", "noteA").get(":noteA"));
@@ -130,13 +133,16 @@ public void testNoteSession() throws IOException {
130133

131134
@Test
132135
public void testNotePerInterpreterProcess() throws IOException {
136+
InterpreterOption dumyInterpreterOption = new InterpreterOption();
133137
factory.setInterpreters("user", "noteA", factory.getDefaultInterpreterSettingList());
134138
factory.getInterpreterSettings("noteA").get(0).getOption().setProcess(true);
135-
factory.getInterpreterSettings("noteA").get(0).getOption().setPerNote(true);
139+
factory.getInterpreterSettings("noteA").get(0).getOption().setPerNote(dumyInterpreterOption.SCOPED);
140+
factory.getInterpreterSettings("noteA").get(0).getOption().setPerUser("");
136141

137142
factory.setInterpreters("user", "noteB", factory.getDefaultInterpreterSettingList());
138143
factory.getInterpreterSettings("noteB").get(0).getOption().setProcess(true);
139-
factory.getInterpreterSettings("noteA").get(0).getOption().setPerNote(true);
144+
factory.getInterpreterSettings("noteB").get(0).getOption().setPerNote(dumyInterpreterOption.SCOPED);
145+
factory.getInterpreterSettings("noteB").get(0).getOption().setPerUser("");
140146

141147
// interpreters are not created before accessing it
142148
assertNull(factory.getInterpreterSettings("noteA").get(0).getInterpreterGroup("user", "noteA").get(":noteA"));

zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NotebookTest.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -696,10 +696,11 @@ public void testPerSessionInterpreterCloseOnNoteRemoval() throws IOException {
696696
p1.setText("getId");
697697
p1.setAuthenticationInfo(anonymous);
698698

699-
// restart interpreter with per note session enabled
699+
// restart interpreter with per user session enabled
700700
for (InterpreterSetting setting : factory.getInterpreterSettings(note1.getId())) {
701701
setting.getOption().setSession(true);
702-
setting.getOption().setPerUser(true);
702+
setting.getOption().setPerNote(setting.getOption().SCOPED);
703+
setting.getOption().setPerUser("");
703704
notebook.getInterpreterFactory().restart(setting.getId());
704705
}
705706

@@ -748,7 +749,8 @@ public void testPerSessionInterpreter() throws IOException {
748749
// restart interpreter with per note session enabled
749750
for (InterpreterSetting setting : notebook.getInterpreterFactory().getInterpreterSettings(note1.getId())) {
750751
setting.getOption().setSession(true);
751-
setting.getOption().setPerNote(true);
752+
setting.getOption().setPerNote(setting.getOption().SCOPED);
753+
setting.getOption().setPerUser(setting.getOption().SCOPED);
752754
notebook.getInterpreterFactory().restart(setting.getId());
753755
}
754756

0 commit comments

Comments
 (0)