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 0341542 [ZEPPELIN-5288]. Add rest api to reload note
0341542 is described below
commit 034154206ce66b73a7439f7a7ed4102130ffd1ba
Author: Jeff Zhang <[email protected]>
AuthorDate: Fri Apr 2 16:19:28 2021 +0800
[ZEPPELIN-5288]. Add rest api to reload note
### What is this PR for?
Add simple rest api to reload note, Unit test is added.
### What type of PR is it?
[ Improvement]
### Todos
* [ ] - Task
### What is the Jira issue?
*https://issues.apache.org/jira/browse/ZEPPELIN-5288
### How should this be tested?
* CI pass
### Screenshots (if appropriate)
### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No
Author: Jeff Zhang <[email protected]>
Closes #4079 from zjffdu/ZEPPELIN-5288 and squashes the following commits:
1ee165850 [Jeff Zhang] address comment
83dac3954 [Jeff Zhang] [ZEPPELIN-5288]. Add rest api to reload note
---
.../org/apache/zeppelin/rest/NotebookRestApi.java | 6 ++--
.../apache/zeppelin/rest/NotebookRestApiTest.java | 33 ++++++++++++++++++++++
2 files changed, 37 insertions(+), 2 deletions(-)
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 caddc20..62bb374 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
@@ -327,15 +327,17 @@ public class NotebookRestApi extends AbstractRestApi {
* Get note of this specified noteId.
*
* @param noteId
+ * @param reload
* @return
* @throws IOException
*/
@GET
@Path("{noteId}")
@ZeppelinApi
- public Response getNote(@PathParam("noteId") String noteId) throws
IOException {
+ public Response getNote(@PathParam("noteId") String noteId,
+ @QueryParam("reload") boolean reload) throws
IOException {
Note note =
- notebookService.getNote(noteId, getServiceContext(), new
RestServiceCallback());
+ notebookService.getNote(noteId, reload, getServiceContext(), new
RestServiceCallback());
return new JsonResponse<>(Status.OK, "", note).build();
}
diff --git
a/zeppelin-server/src/test/java/org/apache/zeppelin/rest/NotebookRestApiTest.java
b/zeppelin-server/src/test/java/org/apache/zeppelin/rest/NotebookRestApiTest.java
index 60f8643..7e57435 100644
---
a/zeppelin-server/src/test/java/org/apache/zeppelin/rest/NotebookRestApiTest.java
+++
b/zeppelin-server/src/test/java/org/apache/zeppelin/rest/NotebookRestApiTest.java
@@ -79,6 +79,39 @@ public class NotebookRestApiTest extends AbstractTestRestApi
{
}
@Test
+ public void testGetReloadNote() throws IOException {
+ LOG.info("Running testGetNote");
+ Note note1 = null;
+ try {
+ note1 = TestUtils.getInstance(Notebook.class).createNote("note1",
anonymous);
+ note1.addNewParagraph(AuthenticationInfo.ANONYMOUS);
+ TestUtils.getInstance(Notebook.class).saveNote(note1, anonymous);
+ CloseableHttpResponse get = httpGet("/notebook/" + note1.getId());
+ assertThat(get, isAllowed());
+ Map<String, Object> resp =
gson.fromJson(EntityUtils.toString(get.getEntity(), StandardCharsets.UTF_8),
+ new TypeToken<Map<String, Object>>() {}.getType());
+ Map<String, Object> noteObject = (Map<String, Object>) resp.get("body");
+ assertEquals(1, ((List)noteObject.get("paragraphs")).size());
+
+ // add one new paragraph, but don't save it and reload it again
+ note1.addNewParagraph(AuthenticationInfo.ANONYMOUS);
+
+ get = httpGet("/notebook/" + note1.getId() + "?reload=true");
+ assertThat(get, isAllowed());
+ resp = gson.fromJson(EntityUtils.toString(get.getEntity(),
StandardCharsets.UTF_8),
+ new TypeToken<Map<String, Object>>() {}.getType());
+ noteObject = (Map<String, Object>) resp.get("body");
+ assertEquals(1, ((List)noteObject.get("paragraphs")).size());
+ get.close();
+ } finally {
+ // cleanup
+ if (null != note1) {
+ TestUtils.getInstance(Notebook.class).removeNote(note1, anonymous);
+ }
+ }
+ }
+
+ @Test
public void testGetNoteParagraphJobStatus() throws IOException {
LOG.info("Running testGetNoteParagraphJobStatus");
Note note1 = null;