jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jukka Zitting (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-1597) JCARepositoryHandle.login(...) methods never throw NoSuchWorkspaceException
Date Tue, 30 Jun 2009 14:35:47 GMT

    [ https://issues.apache.org/jira/browse/JCR-1597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12725646#action_12725646

Jukka Zitting commented on JCR-1597:

Merged to the 1.x branch in  revision 789706.

> JCARepositoryHandle.login(...) methods never throw NoSuchWorkspaceException
> ---------------------------------------------------------------------------
>                 Key: JCR-1597
>                 URL: https://issues.apache.org/jira/browse/JCR-1597
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-jca
>    Affects Versions: 1.4
>            Reporter: Roman Puchkovskiy
>            Assignee: Claus Köll
>             Fix For: 1.6.0
>         Attachments: JCR-1597.patch
> Call sequence:
>   JCARepositoryHandle.login(Credentials, String)      // (here non-existent workspace
is specified for login)
>     JCARepositoryHandle.login(JCAConnectionRequestInfo)
>       ConnectionManager.allocateConnection(ManagedConnectionFactory, ConnectionRequestInfo)
>         ...
>           JCAManagedConnection.openSession(JCAConnectionRequestInfo)
>             Repository.login(Credentials, String)        // here NoSuchWorkspaceException
is thrown, catched by JCAManagedConnection.openSession(JCAConnectionRequestInfo), _set as
linkedException_ to ResourceException, which is thrown
>         ...
>      Here (in JCARepositoryHandle.login(JCAConnectionRequestInfo)) ResourceException
is caught, its _cause_ is retreived, and, if cause is NoSuchWorkspaceException, it's thrown,
else another exception is thrown.
> Note, that when exception occures on lower level, it's wrapped in ResourceException using
setLinkedException(), but on upper level it's unwrapped using getCause(). But cause is not
set by anyone, it's null, so NoSuchWorkspaceException is never thrown here.
> Suggested fix is to use same mechanism on both ends: either change wrapping mechanism
to exception chaining (new ResourceException(msg, cause)), or unwrap using ResourceException.getLinkedException().

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message