Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FCREPO-1868: remove dependency on javax.jcr.Session in kernel-api #968

Closed
wants to merge 1 commit into from

Conversation

ajs6f
Copy link
Contributor

@ajs6f ajs6f commented Dec 23, 2015

No description provided.

@ajs6f
Copy link
Contributor Author

ajs6f commented Dec 23, 2015

Removing Session from the API means that it is now appearing explicitly with much greater frequency in the HTTP layers, for now. I think that's unavoidable for the moment. Removing it from the HTTP layers is a whole separate task because of the mistake we made in tightly coupling Session with HTTP requests.

@acoburn
Copy link
Contributor

acoburn commented Dec 28, 2015

Parameterizing the fcrepo-kernel-api interfaces makes a lot of sense to me, but pushing the Session type into the HTTP layers just shifts the problem. I would expect that the better solution would have Session types isolated in the fcrepo-kernel-modeshape module.

@ajs6f
Copy link
Contributor Author

ajs6f commented Dec 28, 2015

It definitely would, and I don't much care. The object here for me is to get this stuff out of the kernel API so that reimplementation is no longer blocked. The other work of cleaning the HTTP layer can go on later. (And by someone else.)

Eventually, that type parameter must be replaced by an actual Fedora construction. Probably Transaction.

@acoburn
Copy link
Contributor

acoburn commented Dec 28, 2015

Is there anything preventing one from simply using org.fcrepo.kernel.api.Transaction as a concrete parameterized type in those cases? In this PR, Transaction<T> can already parameterized with a Session type.

@ajs6f
Copy link
Contributor Author

ajs6f commented Dec 28, 2015

No, Transaction isn't ready for that. It doesn't actually offer the ability to do anything useful with Fedora resources yet. What we're talking about doing is de-generifying Transaction as we move the actual functions that alter repository contents from JCR-specific forms in Session to Fedora-specific forms in Transaction. If that is what we end up doing.

@ajs6f
Copy link
Contributor Author

ajs6f commented Jan 6, 2016

@acoburn , is this in abeyance because you are on vacation or because you have continuing or fresh objections?

@acoburn
Copy link
Contributor

acoburn commented Jan 6, 2016

@ajs6f I am still concerned about having Session pushed into the http layers, but I recognize your point about this blocking other development. Unless anyone else has objections, I will plan to merge this later today.

@ajs6f
Copy link
Contributor Author

ajs6f commented Jan 6, 2016

I'm not trying to push you forward. I'm not going to do anything about this in the next few days anyway (Jena stuff) so if you want to step back and make a more concerted plan to eject JCR from the layers above the kernel, we can do that. Put an item on Thursday's meeting.

@acoburn
Copy link
Contributor

acoburn commented Jan 6, 2016

That sounds good -- I'll add it to the tech meeting agenda

@acoburn
Copy link
Contributor

acoburn commented Oct 7, 2016

@ajs6f since the effort that is part of #1107 supersedes this PR, shall we close this one?

@ajs6f
Copy link
Contributor Author

ajs6f commented Oct 7, 2016

Yeah, I'm fine with that.

@ajs6f ajs6f closed this Oct 7, 2016
@awoods awoods deleted the FCREPO-1868 branch October 7, 2016 13:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants