jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "angela (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OAK-3191) Oak UserManager#getAuthorizable handles null and empty string differently than Jackrabbit
Date Mon, 10 Aug 2015 06:47:45 GMT

    [ https://issues.apache.org/jira/browse/OAK-3191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14679663#comment-14679663

angela commented on OAK-3191:

it's just a high concern not the highest :-)
since your report subject stressed the fact that it's different from Jackrabbit 2.x, i wanted
to address this in the first place. as far as the API is concerned: even today's solution
complies with the API as it doesn't make any statements about 'illegal' ids and how to handle
them. nor does the API come with annotations. creating a user with empty or null ID however
is forbidden with {{IllegalArgumentException}}, so one might argue that it's consistent to
behave the same for {{getAuthorizable}}.

but i can also live with returning {{null}} for both empty and null id.

> Oak UserManager#getAuthorizable handles null and empty string differently than Jackrabbit
> -----------------------------------------------------------------------------------------
>                 Key: OAK-3191
>                 URL: https://issues.apache.org/jira/browse/OAK-3191
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.3.2
>            Reporter: Timothee Maret
>            Assignee: angela
>            Priority: Minor
>         Attachments: OAK-3191.patch, OAK-3191.patch
> With Jackrabbit, the following API call
> {code}
> UserManager#getAuthorizable(String auth)
> {code}
> with either {{null}} or {{""}} used to throw
> {code}
> throw new IllegalArgumentException("Invalid authorizable name '" + id + "'");
> {code}
> With Oak UserManager, the same input does not throw an IAE, but instead return a {{null}}
value when providing {{""}} and throws a NPE when providing {{null}}.
> From my POV, it would be best to avoid throwing exceptions on those two cases. Indeed,
returning a {{null}} value is simpler for the API user and would comply with the API.
> If so, the implementation in case of {{null}} may be changed in order to swallow the
{{null}} value and the difference between Jackrabbit and Oak may be documented.

This message was sent by Atlassian JIRA

View raw message