From 79f8ac9525fb2f58fbde43511e742f65f47bf36e Mon Sep 17 00:00:00 2001 From: Khalid Huseynov Date: Fri, 15 Jul 2016 18:03:06 +0900 Subject: [PATCH 1/7] add getNoteRevision to front --- .../components/websocketEvents/websocketMsg.service.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/zeppelin-web/src/components/websocketEvents/websocketMsg.service.js b/zeppelin-web/src/components/websocketEvents/websocketMsg.service.js index 698b8ff8100..9a82c9b0590 100644 --- a/zeppelin-web/src/components/websocketEvents/websocketMsg.service.js +++ b/zeppelin-web/src/components/websocketEvents/websocketMsg.service.js @@ -161,6 +161,16 @@ angular.module('zeppelinWebApp').service('websocketMsgSrv', function($rootScope, }); }, + getNoteRevision: function(noteId, revisionId) { + websocketEvents.sendNewEvent({ + op: 'NOTE_REVISION', + data: { + noteId: noteId, + revisionId: revisionId + } + }); + }, + isConnected: function() { return websocketEvents.isConnected(); }, From 3783fc95439391125205c2393f10466088773561 Mon Sep 17 00:00:00 2001 From: Khalid Huseynov Date: Fri, 15 Jul 2016 18:12:26 +0900 Subject: [PATCH 2/7] receive ws NOTE_REVISION msg --- zeppelin-web/src/app/notebook/notebook.controller.js | 7 ++++++- .../components/websocketEvents/websocketEvents.factory.js | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/zeppelin-web/src/app/notebook/notebook.controller.js b/zeppelin-web/src/app/notebook/notebook.controller.js index 7e0bd7e3ce2..09e28a70224 100644 --- a/zeppelin-web/src/app/notebook/notebook.controller.js +++ b/zeppelin-web/src/app/notebook/notebook.controller.js @@ -183,6 +183,12 @@ angular.module('zeppelinWebApp').controller('NotebookCtrl', function($scope, $ro document.getElementById('note.checkpoint.message').value = ''; }; + // receive certain revision of note + $scope.$on('noteRevision', function(event, data) { + console.log('received note revision %o', data); + //TODO(xxx): render it + }); + $scope.runNote = function() { BootstrapDialog.confirm({ closable: true, @@ -970,4 +976,3 @@ angular.module('zeppelinWebApp').controller('NotebookCtrl', function($scope, $ro }); }); - diff --git a/zeppelin-web/src/components/websocketEvents/websocketEvents.factory.js b/zeppelin-web/src/components/websocketEvents/websocketEvents.factory.js index 4175818895f..22782d3740a 100644 --- a/zeppelin-web/src/components/websocketEvents/websocketEvents.factory.js +++ b/zeppelin-web/src/components/websocketEvents/websocketEvents.factory.js @@ -109,6 +109,8 @@ angular.module('zeppelinWebApp').factory('websocketEvents', $rootScope.$broadcast('appLoad', data); } else if (op === 'APP_STATUS_CHANGE') { $rootScope.$broadcast('appStatusChange', data); + } else if (op === 'NOTE_REVISION') { + $rootScope.$broadcast('noteRevision', data); } }); From d9751c3117c0171076d5232f62b46ea9dd50b1bb Mon Sep 17 00:00:00 2001 From: Khalid Huseynov Date: Fri, 15 Jul 2016 19:05:54 +0900 Subject: [PATCH 3/7] add backend ws api to get note revision --- .../apache/zeppelin/socket/NotebookServer.java | 15 +++++++++++++++ .../org/apache/zeppelin/notebook/Notebook.java | 4 ++++ .../zeppelin/notebook/repo/NotebookRepoSync.java | 11 ++++++++--- .../apache/zeppelin/notebook/socket/Message.java | 3 +++ 4 files changed, 30 insertions(+), 3 deletions(-) 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 4261a651dca..7ab7683094a 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 @@ -220,6 +220,9 @@ public void onMessage(NotebookSocket conn, String msg) { case CHECKPOINT_NOTEBOOK: checkpointNotebook(conn, notebook, messagereceived); break; + case NOTE_REVISION: + getNoteRevision(conn, notebook, messagereceived); + break; case LIST_NOTEBOOK_JOBS: unicastNotebookJobInfo(conn, messagereceived); break; @@ -1127,6 +1130,18 @@ private void checkpointNotebook(NotebookSocket conn, Notebook notebook, notebook.checkpointNote(noteId, commitMessage, subject); } + private void getNoteRevision(NotebookSocket conn, Notebook notebook, Message fromMessage) + throws IOException { + String noteId = (String) fromMessage.get("noteId"); + String revisionId = (String) fromMessage.get("revisionId"); + AuthenticationInfo subject = new AuthenticationInfo(fromMessage.principal); + Note revisionNote = notebook.getNoteRevision(noteId, revisionId, subject); + conn.send(serializeMessage(new Message(OP.NOTE_REVISION) + .put("noteId", noteId) + .put("revisionId", revisionId) + .put("data", revisionNote))); + } + /** * This callback is for the paragraph that runs on ZeppelinServer * @param noteId 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 70735209465..a308d621124 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 @@ -366,6 +366,10 @@ public void checkpointNote(String noteId, String checkpointMessage, Authenticati notebookRepo.checkpoint(noteId, checkpointMessage, subject); } + public Note getNoteRevision(String noteId, String revisionId, AuthenticationInfo subject) { + return notebookRepo.get(noteId, revisionId, subject); + } + @SuppressWarnings("rawtypes") private Note loadNoteFromRepo(String id, AuthenticationInfo subject) { Note note = null; diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java index b396da053d3..8d8772deb2f 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java @@ -389,9 +389,14 @@ public Revision checkpoint(String noteId, String checkpointMsg, AuthenticationIn } @Override - public Note get(String noteId, Revision rev, AuthenticationInfo subject) throws IOException { - // Auto-generated method stub - return null; + public Note get(String noteId, Revision rev, AuthenticationInfo subject) { + Note revisionNote = null; + try { + revisionNote = getRepo(0).get(noteId, rev, subject); + } catch (IOException e) { + LOG.error("Failed to get revision {} of note {}", rev.id, noteId, e); + } + return revisionNote; } @Override 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 08b32359226..c0baf403b6a 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 @@ -114,6 +114,9 @@ public static enum OP { CHECKPOINT_NOTEBOOK, // [c-s] checkpoint notebook to storage repository // @param noteId // @param checkpointName + NOTE_REVISION, // [c-s] get certain revision of note + // @param noteId + // @param revisionId APP_APPEND_OUTPUT, // [s-c] append output APP_UPDATE_OUTPUT, // [s-c] update (replace) output From baaa704fbf9ba24db09ef631a4ef2ceb32809396 Mon Sep 17 00:00:00 2001 From: Khalid Huseynov Date: Fri, 15 Jul 2016 19:32:33 +0900 Subject: [PATCH 4/7] change NotebookRepo api to get note revision from Revision object to String revId --- .../apache/zeppelin/notebook/repo/AzureNotebookRepo.java | 2 +- .../org/apache/zeppelin/notebook/repo/GitNotebookRepo.java | 6 +++--- .../org/apache/zeppelin/notebook/repo/NotebookRepo.java | 2 +- .../org/apache/zeppelin/notebook/repo/NotebookRepoSync.java | 6 +++--- .../org/apache/zeppelin/notebook/repo/S3NotebookRepo.java | 2 +- .../org/apache/zeppelin/notebook/repo/VFSNotebookRepo.java | 2 +- .../zeppelin/notebook/repo/zeppelinhub/ZeppelinHubRepo.java | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/AzureNotebookRepo.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/AzureNotebookRepo.java index be6fbb62da3..ca72fc1f7f0 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/AzureNotebookRepo.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/AzureNotebookRepo.java @@ -217,7 +217,7 @@ public Revision checkpoint(String noteId, String checkpointMsg, AuthenticationIn } @Override - public Note get(String noteId, Revision rev, AuthenticationInfo subject) throws IOException { + public Note get(String noteId, String revId, AuthenticationInfo subject) throws IOException { // Auto-generated method stub return null; } diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/GitNotebookRepo.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/GitNotebookRepo.java index 47059802669..b0678dd4795 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/GitNotebookRepo.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/GitNotebookRepo.java @@ -108,7 +108,7 @@ public Revision checkpoint(String pattern, String commitMessage, AuthenticationI * 4. apply stash on top and remove it */ @Override - public synchronized Note get(String noteId, Revision rev, AuthenticationInfo subject) + public synchronized Note get(String noteId, String revId, AuthenticationInfo subject) throws IOException { Note note = null; RevCommit stash = null; @@ -123,7 +123,7 @@ public synchronized Note get(String noteId, Revision rev, AuthenticationInfo sub } ObjectId head = git.getRepository().resolve(Constants.HEAD); // checkout to target revision - git.checkout().setStartPoint(rev.id).addPath(noteId).call(); + git.checkout().setStartPoint(revId).addPath(noteId).call(); // get the note note = super.get(noteId, subject); // checkout back to head @@ -137,7 +137,7 @@ public synchronized Note get(String noteId, Revision rev, AuthenticationInfo sub stashes.size()); } } catch (GitAPIException e) { - LOG.error("Failed to return note from revision \"{}\"", rev.message, e); + LOG.error("Failed to return note from revision \"{}\"", revId, e); } return note; } diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepo.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepo.java index 85df81f5adc..aff684fc158 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepo.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepo.java @@ -89,7 +89,7 @@ public interface NotebookRepo { * @return a Notebook * @throws IOException */ - @ZeppelinApi public Note get(String noteId, Revision rev, AuthenticationInfo subject) + @ZeppelinApi public Note get(String noteId, String revId, AuthenticationInfo subject) throws IOException; /** diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java index 8d8772deb2f..2dfd08a02e6 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java @@ -389,12 +389,12 @@ public Revision checkpoint(String noteId, String checkpointMsg, AuthenticationIn } @Override - public Note get(String noteId, Revision rev, AuthenticationInfo subject) { + public Note get(String noteId, String revId, AuthenticationInfo subject) { Note revisionNote = null; try { - revisionNote = getRepo(0).get(noteId, rev, subject); + revisionNote = getRepo(0).get(noteId, revId, subject); } catch (IOException e) { - LOG.error("Failed to get revision {} of note {}", rev.id, noteId, e); + LOG.error("Failed to get revision {} of note {}", revId, noteId, e); } return revisionNote; } diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/S3NotebookRepo.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/S3NotebookRepo.java index 460c9931e69..8f4dd31034f 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/S3NotebookRepo.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/S3NotebookRepo.java @@ -260,7 +260,7 @@ public Revision checkpoint(String noteId, String checkpointMsg, AuthenticationIn } @Override - public Note get(String noteId, Revision rev, AuthenticationInfo subject) throws IOException { + public Note get(String noteId, String revId, AuthenticationInfo subject) throws IOException { // Auto-generated method stub return null; } diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/VFSNotebookRepo.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/VFSNotebookRepo.java index 430a06990d3..4a93dec1dd9 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/VFSNotebookRepo.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/VFSNotebookRepo.java @@ -274,7 +274,7 @@ public Revision checkpoint(String noteId, String checkpointMsg, AuthenticationIn } @Override - public Note get(String noteId, Revision rev, AuthenticationInfo subject) throws IOException { + public Note get(String noteId, String revId, AuthenticationInfo subject) throws IOException { // Auto-generated method stub return null; } diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/ZeppelinHubRepo.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/ZeppelinHubRepo.java index d2f6ca2f755..b9ea3d45bc4 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/ZeppelinHubRepo.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/ZeppelinHubRepo.java @@ -196,7 +196,7 @@ public Revision checkpoint(String noteId, String checkpointMsg, AuthenticationIn } @Override - public Note get(String noteId, Revision rev, AuthenticationInfo subject) throws IOException { + public Note get(String noteId, String revId, AuthenticationInfo subject) throws IOException { // Auto-generated method stub return null; } From ce097ede81030da9273fea7b82dc38995d380e68 Mon Sep 17 00:00:00 2001 From: Khalid Huseynov Date: Mon, 18 Jul 2016 21:39:14 +0900 Subject: [PATCH 5/7] add throws to notebook getRevisionNote --- .../src/main/java/org/apache/zeppelin/notebook/Notebook.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 a308d621124..03d303d0332 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 @@ -366,7 +366,8 @@ public void checkpointNote(String noteId, String checkpointMessage, Authenticati notebookRepo.checkpoint(noteId, checkpointMessage, subject); } - public Note getNoteRevision(String noteId, String revisionId, AuthenticationInfo subject) { + public Note getNoteRevision(String noteId, String revisionId, AuthenticationInfo subject) + throws IOException { return notebookRepo.get(noteId, revisionId, subject); } From aa0a7d6af3655b7205c2e1ecb15733e90aff69a2 Mon Sep 17 00:00:00 2001 From: Khalid Huseynov Date: Tue, 19 Jul 2016 01:24:05 +0900 Subject: [PATCH 6/7] Revert "change NotebookRepo api to get note revision from Revision object to String revId" This reverts commit baaa704fbf9ba24db09ef631a4ef2ceb32809396. --- .../apache/zeppelin/notebook/repo/AzureNotebookRepo.java | 2 +- .../org/apache/zeppelin/notebook/repo/GitNotebookRepo.java | 6 +++--- .../org/apache/zeppelin/notebook/repo/NotebookRepo.java | 2 +- .../org/apache/zeppelin/notebook/repo/NotebookRepoSync.java | 6 +++--- .../org/apache/zeppelin/notebook/repo/S3NotebookRepo.java | 2 +- .../org/apache/zeppelin/notebook/repo/VFSNotebookRepo.java | 2 +- .../zeppelin/notebook/repo/zeppelinhub/ZeppelinHubRepo.java | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/AzureNotebookRepo.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/AzureNotebookRepo.java index ca72fc1f7f0..be6fbb62da3 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/AzureNotebookRepo.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/AzureNotebookRepo.java @@ -217,7 +217,7 @@ public Revision checkpoint(String noteId, String checkpointMsg, AuthenticationIn } @Override - public Note get(String noteId, String revId, AuthenticationInfo subject) throws IOException { + public Note get(String noteId, Revision rev, AuthenticationInfo subject) throws IOException { // Auto-generated method stub return null; } diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/GitNotebookRepo.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/GitNotebookRepo.java index b0678dd4795..47059802669 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/GitNotebookRepo.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/GitNotebookRepo.java @@ -108,7 +108,7 @@ public Revision checkpoint(String pattern, String commitMessage, AuthenticationI * 4. apply stash on top and remove it */ @Override - public synchronized Note get(String noteId, String revId, AuthenticationInfo subject) + public synchronized Note get(String noteId, Revision rev, AuthenticationInfo subject) throws IOException { Note note = null; RevCommit stash = null; @@ -123,7 +123,7 @@ public synchronized Note get(String noteId, String revId, AuthenticationInfo sub } ObjectId head = git.getRepository().resolve(Constants.HEAD); // checkout to target revision - git.checkout().setStartPoint(revId).addPath(noteId).call(); + git.checkout().setStartPoint(rev.id).addPath(noteId).call(); // get the note note = super.get(noteId, subject); // checkout back to head @@ -137,7 +137,7 @@ public synchronized Note get(String noteId, String revId, AuthenticationInfo sub stashes.size()); } } catch (GitAPIException e) { - LOG.error("Failed to return note from revision \"{}\"", revId, e); + LOG.error("Failed to return note from revision \"{}\"", rev.message, e); } return note; } diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepo.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepo.java index aff684fc158..85df81f5adc 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepo.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepo.java @@ -89,7 +89,7 @@ public interface NotebookRepo { * @return a Notebook * @throws IOException */ - @ZeppelinApi public Note get(String noteId, String revId, AuthenticationInfo subject) + @ZeppelinApi public Note get(String noteId, Revision rev, AuthenticationInfo subject) throws IOException; /** diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java index 2dfd08a02e6..8d8772deb2f 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java @@ -389,12 +389,12 @@ public Revision checkpoint(String noteId, String checkpointMsg, AuthenticationIn } @Override - public Note get(String noteId, String revId, AuthenticationInfo subject) { + public Note get(String noteId, Revision rev, AuthenticationInfo subject) { Note revisionNote = null; try { - revisionNote = getRepo(0).get(noteId, revId, subject); + revisionNote = getRepo(0).get(noteId, rev, subject); } catch (IOException e) { - LOG.error("Failed to get revision {} of note {}", revId, noteId, e); + LOG.error("Failed to get revision {} of note {}", rev.id, noteId, e); } return revisionNote; } diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/S3NotebookRepo.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/S3NotebookRepo.java index 8f4dd31034f..460c9931e69 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/S3NotebookRepo.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/S3NotebookRepo.java @@ -260,7 +260,7 @@ public Revision checkpoint(String noteId, String checkpointMsg, AuthenticationIn } @Override - public Note get(String noteId, String revId, AuthenticationInfo subject) throws IOException { + public Note get(String noteId, Revision rev, AuthenticationInfo subject) throws IOException { // Auto-generated method stub return null; } diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/VFSNotebookRepo.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/VFSNotebookRepo.java index 4a93dec1dd9..430a06990d3 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/VFSNotebookRepo.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/VFSNotebookRepo.java @@ -274,7 +274,7 @@ public Revision checkpoint(String noteId, String checkpointMsg, AuthenticationIn } @Override - public Note get(String noteId, String revId, AuthenticationInfo subject) throws IOException { + public Note get(String noteId, Revision rev, AuthenticationInfo subject) throws IOException { // Auto-generated method stub return null; } diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/ZeppelinHubRepo.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/ZeppelinHubRepo.java index b9ea3d45bc4..d2f6ca2f755 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/ZeppelinHubRepo.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/ZeppelinHubRepo.java @@ -196,7 +196,7 @@ public Revision checkpoint(String noteId, String checkpointMsg, AuthenticationIn } @Override - public Note get(String noteId, String revId, AuthenticationInfo subject) throws IOException { + public Note get(String noteId, Revision rev, AuthenticationInfo subject) throws IOException { // Auto-generated method stub return null; } From 683b481ddcf754eb81c041189a207625921eb1f2 Mon Sep 17 00:00:00 2001 From: Khalid Huseynov Date: Tue, 19 Jul 2016 01:45:41 +0900 Subject: [PATCH 7/7] receive Revision object from frontend instead of revisionId string --- .../java/org/apache/zeppelin/socket/NotebookServer.java | 7 ++++--- .../main/java/org/apache/zeppelin/notebook/Notebook.java | 5 +++-- 2 files changed, 7 insertions(+), 5 deletions(-) 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 7ab7683094a..ccddb84705a 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 @@ -45,6 +45,7 @@ import org.apache.zeppelin.interpreter.InterpreterSetting; import org.apache.zeppelin.interpreter.remote.RemoteInterpreterProcessListener; import org.apache.zeppelin.notebook.*; +import org.apache.zeppelin.notebook.repo.NotebookRepo.Revision; import org.apache.zeppelin.notebook.socket.Message; import org.apache.zeppelin.notebook.socket.Message.OP; import org.apache.zeppelin.scheduler.Job; @@ -1133,12 +1134,12 @@ private void checkpointNotebook(NotebookSocket conn, Notebook notebook, private void getNoteRevision(NotebookSocket conn, Notebook notebook, Message fromMessage) throws IOException { String noteId = (String) fromMessage.get("noteId"); - String revisionId = (String) fromMessage.get("revisionId"); + Revision revision = (Revision) fromMessage.get("revision"); AuthenticationInfo subject = new AuthenticationInfo(fromMessage.principal); - Note revisionNote = notebook.getNoteRevision(noteId, revisionId, subject); + Note revisionNote = notebook.getNoteRevision(noteId, revision, subject); conn.send(serializeMessage(new Message(OP.NOTE_REVISION) .put("noteId", noteId) - .put("revisionId", revisionId) + .put("revisionId", revision) .put("data", revisionNote))); } 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 03d303d0332..122a4ca8788 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 @@ -39,6 +39,7 @@ import org.apache.zeppelin.interpreter.InterpreterSetting; import org.apache.zeppelin.interpreter.remote.RemoteAngularObjectRegistry; import org.apache.zeppelin.notebook.repo.NotebookRepo; +import org.apache.zeppelin.notebook.repo.NotebookRepo.Revision; import org.apache.zeppelin.notebook.repo.NotebookRepoSync; import org.apache.zeppelin.resource.ResourcePoolUtils; import org.apache.zeppelin.scheduler.Job; @@ -366,9 +367,9 @@ public void checkpointNote(String noteId, String checkpointMessage, Authenticati notebookRepo.checkpoint(noteId, checkpointMessage, subject); } - public Note getNoteRevision(String noteId, String revisionId, AuthenticationInfo subject) + public Note getNoteRevision(String noteId, Revision revision, AuthenticationInfo subject) throws IOException { - return notebookRepo.get(noteId, revisionId, subject); + return notebookRepo.get(noteId, revision, subject); } @SuppressWarnings("rawtypes")