Github user khalidhuseynov commented on the issue:

    https://github.com/apache/zeppelin/pull/1277
  
    @bzz giving some context
    1. this is not about whole `NotebookRepo` api, it's related to only one 
method 
[here](https://github.com/apache/zeppelin/blob/master/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepo.java#L92)
    2. the clients identified correctly (`NotebookServer` and `Notebook`)
    
    So the question was that given current api as follows : 
    `get(String noteId, Revision rev, AuthenticationInfo subject)` 
    how can we improve it? as you can see, Revision contains `id` as well as 
other constructs representing additional information about `Revision`, however 
in `get` we need only id. 
    
    further given your feedback from #1254  
[here](https://github.com/apache/zeppelin/pull/1254#issuecomment-236475181) : 
    >Also, could you please explain why do you think this API change is 
valuable and what benefits does it bring for a user? (i.e does it consider 
other possible versioned storage i.e IPFS, BitTorrent and other future ones, 
where just an ID might not be enough? or it might be not String)
    
    Now, I tried to address that problem here by adding `RevisionId<?>` which 
is used by clients (`NotebookServer`, `Notebook`) without knowledge of inner 
representation (placeholder `?`), and only on repo level each `NotebookRepo` 
deals with his own type of `RevisionId` (say `RevisionId<String>`). The only 
drawback is usage of `instanceof` here and possible diversion of `RevisionId`s 
for different repos. 



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to