Repository: zeppelin Updated Branches: refs/heads/master 66d581136 -> 3db819abf
[ZEPPELIN-1399] Refactor automatic interpreter name insert ### What is this PR for? Refine automatic interpreter name insert. See below jira issue for detailed description ### What type of PR is it? Improvement | Refactoring ### What is the Jira issue? [ZEPPELIN-1399](https://issues.apache.org/jira/browse/ZEPPELIN-1399) ### Screenshots (if appropriate) - Do not insert interpreter name if previous interpreter name is not specified **Before**  **After**  - Insert interpreter name of previous paragraph without running **Before**  **After**  ### Questions: * Does the licenses files need update? no * Is there breaking changes for older versions? no * Does this needs documentation? no Author: Mina Lee <[email protected]> Closes #1388 from minahlee/ZEPPELIN-1399 and squashes the following commits: 6c035d9 [Mina Lee] Modify tests 1484007 [Mina Lee] Refactor automatic magic keyword insert 15cd0d5 [Mina Lee] Revert "[ZEPPELIN-1069]Ignore implicit interpreter when user enter wrong interpreter name" Project: http://git-wip-us.apache.org/repos/asf/zeppelin/repo Commit: http://git-wip-us.apache.org/repos/asf/zeppelin/commit/3db819ab Tree: http://git-wip-us.apache.org/repos/asf/zeppelin/tree/3db819ab Diff: http://git-wip-us.apache.org/repos/asf/zeppelin/diff/3db819ab Branch: refs/heads/master Commit: 3db819abf07db3a3daff3b62ab89f3e0623ba70e Parents: 66d5811 Author: Mina Lee <[email protected]> Authored: Fri Sep 2 11:31:56 2016 +0200 Committer: Mina Lee <[email protected]> Committed: Wed Sep 7 15:48:55 2016 +0200 ---------------------------------------------------------------------- .../apache/zeppelin/rest/NotebookRestApi.java | 1 - .../apache/zeppelin/socket/NotebookServer.java | 6 +- .../integration/ParagraphActionsIT.java | 11 +-- .../zeppelin/rest/ZeppelinRestApiTest.java | 3 +- .../java/org/apache/zeppelin/notebook/Note.java | 82 +++++------------- .../org/apache/zeppelin/notebook/Notebook.java | 1 - .../org/apache/zeppelin/notebook/Paragraph.java | 43 +++++++--- .../org/apache/zeppelin/notebook/NoteTest.java | 88 +++++--------------- .../notebook/repo/GitNotebookRepoTest.java | 6 +- 9 files changed, 81 insertions(+), 160 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/zeppelin/blob/3db819ab/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java index 17ec74f..c93a222 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java @@ -852,7 +852,6 @@ public class NotebookRestApi { if (paramsForUpdating != null) { paragraph.settings.getParams().putAll(paramsForUpdating); AuthenticationInfo subject = new AuthenticationInfo(SecurityUtils.getPrincipal()); - note.setLastReplName(paragraph.getId()); note.persist(subject); } } http://git-wip-us.apache.org/repos/asf/zeppelin/blob/3db819ab/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 19bfba1..880b0f3 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 @@ -1130,10 +1130,8 @@ public class NotebookServer extends WebSocketServlet implements .get("config"); p.setConfig(config); // if it's the last paragraph, let's add a new one - boolean isTheLastParagraph = note.getLastParagraph().getId() - .equals(p.getId()); - note.setLastReplName(paragraphId); - if (!(text.equals(note.getLastInterpreterName() + " ") || Strings.isNullOrEmpty(text)) && + boolean isTheLastParagraph = note.isLastParagraph(p.getId()); + if (!(text.trim().equals(p.getMagic()) || Strings.isNullOrEmpty(text)) && isTheLastParagraph) { note.addParagraph(); } http://git-wip-us.apache.org/repos/asf/zeppelin/blob/3db819ab/zeppelin-server/src/test/java/org/apache/zeppelin/integration/ParagraphActionsIT.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/test/java/org/apache/zeppelin/integration/ParagraphActionsIT.java b/zeppelin-server/src/test/java/org/apache/zeppelin/integration/ParagraphActionsIT.java index 8335455..3ff6e1f 100644 --- a/zeppelin-server/src/test/java/org/apache/zeppelin/integration/ParagraphActionsIT.java +++ b/zeppelin-server/src/test/java/org/apache/zeppelin/integration/ParagraphActionsIT.java @@ -95,28 +95,21 @@ public class ParagraphActionsIT extends AbstractZeppelinIT { ZeppelinITUtils.sleep(1000, false); waitForParagraph(1, "READY"); - String oldIntpTag = driver.findElement(By.xpath(getParagraphXPath(1) + "//div[contains(@class, 'editor')]")).getText(); - collector.checkThat("Paragraph is created above", driver.findElement(By.xpath(getParagraphXPath(1) + "//div[contains(@class, 'editor')]")).getText(), - CoreMatchers.not(StringUtils.EMPTY)); + CoreMatchers.equalTo(StringUtils.EMPTY)); setTextOfParagraph(1, " this is above "); - newPara = driver.findElement(By.xpath(getParagraphXPath(2) + "//div[contains(@class,'new-paragraph')][2]")); action.moveToElement(newPara).click().build().perform(); waitForParagraph(3, "READY"); - String lastIntpTag = driver.findElement(By.xpath(getParagraphXPath(3) + "//div[contains(@class, 'editor')]")).getText(); - collector.checkThat("Paragraph is created below", driver.findElement(By.xpath(getParagraphXPath(3) + "//div[contains(@class, 'editor')]")).getText(), - CoreMatchers.not(StringUtils.EMPTY)); + CoreMatchers.equalTo(StringUtils.EMPTY)); setTextOfParagraph(3, " this is below "); - collector.checkThat("Compare interpreter name tag", oldIntpTag, CoreMatchers.equalTo(lastIntpTag)); - collector.checkThat("The output field of paragraph1 contains", driver.findElement(By.xpath(getParagraphXPath(1) + "//div[contains(@class, 'editor')]")).getText(), CoreMatchers.equalTo(" this is above ")); http://git-wip-us.apache.org/repos/asf/zeppelin/blob/3db819ab/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinRestApiTest.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinRestApiTest.java b/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinRestApiTest.java index 00a8106..4390d74 100644 --- a/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinRestApiTest.java +++ b/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinRestApiTest.java @@ -146,8 +146,7 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi { assertEquals("compare note name", expectedNoteName, newNoteName); assertEquals("initial paragraph check failed", 3, newNote.getParagraphs().size()); for (Paragraph p : newNote.getParagraphs()) { - if (StringUtils.isEmpty(p.getText()) || - p.getText().trim().equals(newNote.getLastInterpreterName())) { + if (StringUtils.isEmpty(p.getText())) { continue; } assertTrue("paragraph title check failed", p.getTitle().startsWith("title")); http://git-wip-us.apache.org/repos/asf/zeppelin/blob/3db819ab/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java ---------------------------------------------------------------------- diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java index 1d75d10..1281e71 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java @@ -29,9 +29,9 @@ import java.util.Map; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicReference; import com.google.gson.Gson; +import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -57,11 +57,6 @@ import org.apache.zeppelin.search.SearchService; import org.apache.zeppelin.user.AuthenticationInfo; import org.apache.zeppelin.user.Credentials; -import static org.apache.commons.lang.StringUtils.EMPTY; -import static org.apache.commons.lang.StringUtils.isEmpty; -import static org.apache.commons.lang.StringUtils.isNotEmpty; -import static org.apache.commons.lang.StringUtils.isBlank; - /** * Binded interpreters for a note */ @@ -82,7 +77,6 @@ public class Note implements Serializable, ParagraphJobListener { private String name = ""; private String id; - private AtomicReference<String> lastReplName = new AtomicReference<>(EMPTY); private transient ZeppelinConfiguration conf = ZeppelinConfiguration.create(); private Map<String, List<AngularObject>> angularObjects = new HashMap<>(); @@ -128,13 +122,7 @@ public class Note implements Serializable, ParagraphJobListener { private String getDefaultInterpreterName() { InterpreterSetting setting = factory.getDefaultInterpreterSetting(getId()); - return null != setting ? setting.getName() : EMPTY; - } - - void putDefaultReplName() { - String defaultInterpreterName = getDefaultInterpreterName(); - logger.info("defaultInterpreterName is '{}'", defaultInterpreterName); - lastReplName.set(defaultInterpreterName); + return null != setting ? setting.getName() : StringUtils.EMPTY; } public String getId() { @@ -226,7 +214,7 @@ public class Note implements Serializable, ParagraphJobListener { */ public Paragraph addParagraph() { Paragraph p = new Paragraph(this, this, factory); - addLastReplNameIfEmptyText(p); + setParagraphMagic(p, paragraphs.size()); synchronized (paragraphs) { paragraphs.add(p); } @@ -282,7 +270,7 @@ public class Note implements Serializable, ParagraphJobListener { */ public Paragraph insertParagraph(int index) { Paragraph p = new Paragraph(this, this, factory); - addLastReplNameIfEmptyText(p); + setParagraphMagic(p, index); synchronized (paragraphs) { paragraphs.add(index, p); } @@ -293,26 +281,6 @@ public class Note implements Serializable, ParagraphJobListener { } /** - * Add Last Repl name If Paragraph has empty text - * - * @param p Paragraph - */ - private void addLastReplNameIfEmptyText(Paragraph p) { - String replName = lastReplName.get(); - if (isEmpty(p.getText()) && isNotEmpty(replName) && isBinding(replName)) { - p.setText(getInterpreterName(replName) + " "); - } - } - - public boolean isBinding(String replName) { - return factory.getInterpreter(this.getId(), replName) != null; - } - - private String getInterpreterName(String replName) { - return isBlank(replName) ? EMPTY : "%" + replName; - } - - /** * Remove paragraph by id. * * @param paragraphId ID of paragraph @@ -439,7 +407,7 @@ public class Note implements Serializable, ParagraphJobListener { List<Map<String, String>> paragraphsInfo = new LinkedList<>(); synchronized (paragraphs) { for (Paragraph p : paragraphs) { - Map<String, String> info = populatePragraphInfo(p); + Map<String, String> info = populateParagraphInfo(p); paragraphsInfo.add(info); } } @@ -450,14 +418,14 @@ public class Note implements Serializable, ParagraphJobListener { synchronized (paragraphs) { for (Paragraph p : paragraphs) { if (p.getId().equals(paragraphId)) { - return populatePragraphInfo(p); + return populateParagraphInfo(p); } } return new HashMap<>(); } } - private Map<String, String> populatePragraphInfo(Paragraph p) { + private Map<String, String> populateParagraphInfo(Paragraph p) { Map<String, String> info = new HashMap<>(); info.put("id", p.getId()); info.put("status", p.getStatus().toString()); @@ -473,15 +441,26 @@ public class Note implements Serializable, ParagraphJobListener { return info; } + private void setParagraphMagic(Paragraph p, int index) { + if (paragraphs.size() > 0) { + String magic; + if (index == 0) { + magic = paragraphs.get(0).getMagic(); + } else { + magic = paragraphs.get(index - 1).getMagic(); + } + if (StringUtils.isNotEmpty(magic)) { + p.setText(magic + "\n"); + } + } + } + /** * Run all paragraphs sequentially. */ public void runAll() { String cronExecutingUser = (String) getConfig().get("cronExecutingUser"); synchronized (paragraphs) { - if (!paragraphs.isEmpty()) { - setLastReplName(paragraphs.get(paragraphs.size() - 1)); - } for (Paragraph p : paragraphs) { if (!p.isEnabled()) { continue; @@ -607,16 +586,6 @@ public class Note implements Serializable, ParagraphJobListener { repo.save(this, subject); } - private void setLastReplName(Paragraph lastParagraphStarted) { - if (isNotEmpty(lastParagraphStarted.getRequiredReplName())) { - lastReplName.set(lastParagraphStarted.getRequiredReplName()); - } - } - - public void setLastReplName(String paragraphId) { - setLastReplName(getParagraph(paragraphId)); - } - /** * Persist this note with maximum delay. */ @@ -681,14 +650,6 @@ public class Note implements Serializable, ParagraphJobListener { this.info = info; } - String getLastReplName() { - return lastReplName.get(); - } - - public String getLastInterpreterName() { - return getInterpreterName(getLastReplName()); - } - @Override public void beforeStatusChange(Job job, Status before, Status after) { if (jobListenerFactory != null) { @@ -723,7 +684,6 @@ public class Note implements Serializable, ParagraphJobListener { } } - @Override public void onOutputAppend(Paragraph paragraph, InterpreterOutput out, String output) { if (jobListenerFactory != null) { http://git-wip-us.apache.org/repos/asf/zeppelin/blob/3db819ab/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Notebook.java ---------------------------------------------------------------------- diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Notebook.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Notebook.java index 9acb156..f1dee48 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Notebook.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Notebook.java @@ -155,7 +155,6 @@ public class Notebook implements NoteEventListener { } if (interpreterIds != null) { bindInterpretersToNote(note.getId(), interpreterIds); - note.putDefaultReplName(); } notebookIndex.addIndexDoc(note); http://git-wip-us.apache.org/repos/asf/zeppelin/blob/3db819ab/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java ---------------------------------------------------------------------- diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java index f326eba..7807abb 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java @@ -17,6 +17,7 @@ package org.apache.zeppelin.notebook; +import org.apache.commons.lang.StringUtils; import org.apache.zeppelin.display.AngularObject; import org.apache.zeppelin.display.AngularObjectRegistry; import org.apache.zeppelin.helium.HeliumPackage; @@ -455,22 +456,22 @@ public class Paragraph extends Job implements Serializable, Cloneable { Credentials credentials = note.getCredentials(); if (authenticationInfo != null) { UserCredentials userCredentials = credentials.getUserCredentials( - authenticationInfo.getUser()); + authenticationInfo.getUser()); authenticationInfo.setUserCredentials(userCredentials); } InterpreterContext interpreterContext = new InterpreterContext( - note.getId(), - getId(), - this.getTitle(), - this.getText(), - this.getAuthenticationInfo(), - this.getConfig(), - this.settings, - registry, - resourcePool, - runners, - output); + note.getId(), + getId(), + this.getTitle(), + this.getText(), + this.getAuthenticationInfo(), + this.getConfig(), + this.settings, + registry, + resourcePool, + runners, + output); return interpreterContext; } @@ -565,4 +566,22 @@ public class Paragraph extends Job implements Serializable, Cloneable { } return scriptBody; } + + public String getMagic() { + String magic = StringUtils.EMPTY; + String text = getText(); + if (text != null && text.startsWith("%")) { + magic = text.split("\\s+")[0]; + if (isValidInterpreter(magic.substring(1))) { + return magic; + } else { + return StringUtils.EMPTY; + } + } + return magic; + } + + private boolean isValidInterpreter(String replName) { + return factory.getInterpreter(note.getId(), replName) != null; + } } http://git-wip-us.apache.org/repos/asf/zeppelin/blob/3db819ab/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NoteTest.java ---------------------------------------------------------------------- diff --git a/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NoteTest.java b/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NoteTest.java index 4917ac4..98e301a 100644 --- a/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NoteTest.java +++ b/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NoteTest.java @@ -17,13 +17,9 @@ package org.apache.zeppelin.notebook; -import com.google.common.base.Optional; - -import org.apache.commons.lang.StringUtils; import org.apache.zeppelin.interpreter.Interpreter; import org.apache.zeppelin.interpreter.InterpreterFactory; import org.apache.zeppelin.interpreter.InterpreterSetting; -import org.apache.zeppelin.interpreter.mock.MockInterpreter2; import org.apache.zeppelin.notebook.repo.NotebookRepo; import org.apache.zeppelin.scheduler.Scheduler; import org.apache.zeppelin.search.SearchService; @@ -84,89 +80,47 @@ public class NoteTest { } @Test - public void putDefaultReplNameIfInterpreterSettingAbsent() { - when(interpreterFactory.getDefaultInterpreterSetting(anyString())) - .thenReturn(null); - + public void addParagraphWithEmptyReplNameTest() { Note note = new Note(repo, interpreterFactory, jobListenerFactory, index, credentials, noteEventListener); - note.putDefaultReplName(); - assertEquals(StringUtils.EMPTY, note.getLastReplName()); - assertEquals(StringUtils.EMPTY, note.getLastInterpreterName()); + Paragraph p = note.addParagraph(); + assertNull(p.getText()); } @Test - public void putDefaultReplNameIfInterpreterSettingPresent() { - InterpreterSetting interpreterSetting = Mockito.mock(InterpreterSetting.class); - when(interpreterSetting.getName()).thenReturn("spark"); - when(interpreterFactory.getDefaultInterpreterSetting(anyString())) - .thenReturn(interpreterSetting); + public void addParagraphWithLastReplNameTest() { + when(interpreterFactory.getInterpreter(anyString(), eq("spark"))).thenReturn(interpreter); Note note = new Note(repo, interpreterFactory, jobListenerFactory, index, credentials, noteEventListener); - note.putDefaultReplName(); + Paragraph p1 = note.addParagraph(); + p1.setText("%spark "); + Paragraph p2 = note.addParagraph(); - assertEquals("spark", note.getLastReplName()); - assertEquals("%spark", note.getLastInterpreterName()); + assertEquals("%spark\n", p2.getText()); } @Test - public void addParagraphWithLastReplName() { - InterpreterSetting interpreterSetting = Mockito.mock(InterpreterSetting.class); - when(interpreterSetting.getName()).thenReturn("spark"); - when(interpreterFactory.getDefaultInterpreterSetting(anyString())) - .thenReturn(interpreterSetting); + public void insertParagraphWithLastReplNameTest() { + when(interpreterFactory.getInterpreter(anyString(), eq("spark"))).thenReturn(interpreter); Note note = new Note(repo, interpreterFactory, jobListenerFactory, index, credentials, noteEventListener); - note.putDefaultReplName(); //set lastReplName - when(interpreterFactory.getInterpreter(note.getId(), "spark")).thenReturn(new MockInterpreter2(null)); - - Paragraph p = note.addParagraph(); + Paragraph p1 = note.addParagraph(); + p1.setText("%spark "); + Paragraph p2 = note.insertParagraph(note.getParagraphs().size()); - assertEquals("%spark ", p.getText()); + assertEquals("%spark\n", p2.getText()); } @Test - public void insertParagraphWithLastReplName() { - InterpreterSetting interpreterSetting = Mockito.mock(InterpreterSetting.class); - when(interpreterSetting.getName()).thenReturn("spark"); - when(interpreterFactory.getDefaultInterpreterSetting(anyString())) - .thenReturn(interpreterSetting); + public void insertParagraphWithInvalidReplNameTest() { + when(interpreterFactory.getInterpreter(anyString(), eq("invalid"))).thenReturn(null); Note note = new Note(repo, interpreterFactory, jobListenerFactory, index, credentials, noteEventListener); - note.putDefaultReplName(); //set lastReplName - when(interpreterFactory.getInterpreter(note.getId(), "spark")).thenReturn(new MockInterpreter2(null)); - - Paragraph p = note.insertParagraph(note.getParagraphs().size()); + Paragraph p1 = note.addParagraph(); + p1.setText("%invalid "); + Paragraph p2 = note.insertParagraph(note.getParagraphs().size()); - assertEquals("%spark ", p.getText()); + assertNull(p2.getText()); } - @Test - public void setLastReplName() { - String paragraphId = "HelloWorld"; - Note note = Mockito.spy(new Note(repo, interpreterFactory, jobListenerFactory, index, credentials, noteEventListener)); - Paragraph mockParagraph = Mockito.mock(Paragraph.class); - when(note.getParagraph(paragraphId)).thenReturn(mockParagraph); - when(mockParagraph.getRequiredReplName()).thenReturn("spark"); - - note.setLastReplName(paragraphId); - - assertEquals("spark", note.getLastReplName()); - } - - @Test - public void isBindingTest() { - Note note = spy(new Note()); - when(note.getId()).thenReturn("test1"); - InterpreterFactory mockInterpreterFactory = mock(InterpreterFactory.class); - note.setInterpreterFactory(mockInterpreterFactory); - - //when is not binding - assertFalse(note.isBinding("spark")); - - //when is binding - when(mockInterpreterFactory.getInterpreter("test1", "spark")). - thenReturn(new MockInterpreter2(null)); - assertTrue(note.isBinding("spark")); - } } http://git-wip-us.apache.org/repos/asf/zeppelin/blob/3db819ab/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/repo/GitNotebookRepoTest.java ---------------------------------------------------------------------- diff --git a/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/repo/GitNotebookRepoTest.java b/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/repo/GitNotebookRepoTest.java index 2232ea4..2e96615 100644 --- a/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/repo/GitNotebookRepoTest.java +++ b/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/repo/GitNotebookRepoTest.java @@ -224,7 +224,7 @@ public class GitNotebookRepoTest { Map<String, Object> config = p1.getConfig(); config.put("enabled", true); p1.setConfig(config); - p1.setText("%md checkpoint test text"); + p1.setText("checkpoint test text"); notebookRepo.save(note, null); // second checkpoint @@ -245,7 +245,7 @@ public class GitNotebookRepoTest { Paragraph p2 = note.addParagraph(); config.put("enabled", false); p2.setConfig(config); - p2.setText("%md get revision when modified note test text"); + p2.setText("get revision when modified note test text"); notebookRepo.save(note, null); note = notebookRepo.get(TEST_NOTE_ID, null); int paragraphCount_3 = note.getParagraphs().size(); @@ -282,7 +282,7 @@ public class GitNotebookRepoTest { Map<String, Object> config = p1.getConfig(); config.put("enabled", true); p1.setConfig(config); - p1.setText("%md get revision when modified note test text"); + p1.setText("get revision when modified note test text"); notebookRepo.save(note, null); int paragraphCount_2 = note.getParagraphs().size();
