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 [email protected] or file a JIRA ticket
with INFRA.
---