You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@abdera.apache.org by "Jim Ancona (JIRA)" <ji...@apache.org> on 2008/01/09 20:30:34 UTC
[jira] Created: (ABDERA-87) Null ResponseContext in call to
AbstractServiceProvider.end()
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
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.
[jira] Updated: (ABDERA-87) Null ResponseContext in call to
AbstractServiceProvider.end()
Posted by "Jim Ancona (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ABDERA-87?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jim Ancona updated ABDERA-87:
-----------------------------
Attachment: AbstractProvider2.patch
Noticed another way this could mess up
> 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.
[jira] Resolved: (ABDERA-87) Null ResponseContext in call to
AbstractServiceProvider.end()
Posted by "James M Snell (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ABDERA-87?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James M Snell resolved ABDERA-87.
---------------------------------
Resolution: Fixed
Fix Version/s: 0.4.0
After the refactoring, this should no longer be an issue. Please confirm.
> 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: 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.
[jira] Updated: (ABDERA-87) Null ResponseContext in call to
AbstractServiceProvider.end()
Posted by "Jim Ancona (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ABDERA-87?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jim Ancona updated ABDERA-87:
-----------------------------
Attachment: AbstractProvider.patch
Actually AbstractProvider still seems to have the issue. (I'm now using a Filter instead of end() to implement my use case, so I don't have code that exercises this anymore.)
Patch attached.
> 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, 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.
[jira] Updated: (ABDERA-87) Null ResponseContext in call to
AbstractServiceProvider.end()
Posted by "Jim Ancona (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ABDERA-87?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jim Ancona updated ABDERA-87:
-----------------------------
Attachment: AbstractServiceProvider_end.patch
Patch.
WARNING: This patch also includes the changes in issue ABDERA-86!!
> 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
> Attachments: 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.
[jira] Resolved: (ABDERA-87) Null ResponseContext in call to
AbstractServiceProvider.end()
Posted by "James M Snell (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ABDERA-87?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James M Snell resolved ABDERA-87.
---------------------------------
Resolution: Fixed
the second case was checked in
> 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.
[jira] Commented: (ABDERA-87) Null ResponseContext in call to
AbstractServiceProvider.end()
Posted by "James M Snell (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ABDERA-87?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12566306#action_12566306 ]
James M Snell commented on ABDERA-87:
-------------------------------------
Ah, right. Got it. Checked in a fix. Thx!
> 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, 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.
[jira] Reopened: (ABDERA-87) Null ResponseContext in call to
AbstractServiceProvider.end()
Posted by "Jim Ancona (JIRA)" <ji...@apache.org>.
[ 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.