[
https://issues.apache.org/jira/browse/ABDERA-87?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jim Ancona reopened ABDERA-87:
------------------------------
I noticed another way this could fail, and attached a patch.
> Null ResponseContext in call to AbstractServiceProvider.end()
> -------------------------------------------------------------
>
> Key: ABDERA-87
> URL: https://issues.apache.org/jira/browse/ABDERA-87
> Project: Abdera
> Issue Type: Bug
> Affects Versions: 0.4.0
> Reporter: Jim Ancona
> Fix For: 0.4.0
>
> Attachments: AbstractProvider.patch, AbstractProvider2.patch,
> AbstractServiceProvider_end.patch
>
>
> Several of the calls to the end() method in AbstractServiceProvider have a
> null ResponseContext parameter because of the way the try/finally blocks are
> coded. This bug also affects calls to CollectionProvider.end()
> For example:
> public ResponseContext getEntry(RequestContext request) {
> CollectionProvider provider = null;
> ResponseContext response = null;
> try {
> IRI entryBaseIri = resolveBase(request).resolve("./");
> provider = getCollectionProvider(request);
> provider.begin(request);
>
> return provider.getEntry(request, entryBaseIri);
> } catch (ResponseContextException e) {
> response = createErrorResponse(e);
> return response;
> } finally {
> end(provider, request, response);
> }
> }
> should be:
> public ResponseContext getEntry(RequestContext request) {
> CollectionProvider provider = null;
> ResponseContext response = null;
> try {
> IRI entryBaseIri = resolveBase(request).resolve("./");
> provider = getCollectionProvider(request);
> provider.begin(request);
>
> response = provider.getEntry(request, entryBaseIri);
> } catch (ResponseContextException e) {
> response = createErrorResponse(e);
> } finally {
> end(provider, request, response);
> }
> return response;
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.