jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Timothee Maret (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OAK-3191) Oak UserManager#getAuthorizable handles null and empty string differently than Jackrabbit
Date Fri, 07 Aug 2015 15:13:49 GMT

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

Timothee Maret commented on OAK-3191:

If supporting backward compatibility is the highest concern, then it makes sense. There may
be some users of the existing Oak UserManager that will face the new exceptions but that looks
like reasonable risk.

However, I think it may make more sense to swallow those inputs as it would comply with the
API. From a user POV, I think it would avoid to be "surprised" by receiving an exception on
some inputs. Indeed, the list of non valid input is currently non documented. Looking at the
source code helps, but even then it may be surprising that empty string is illegal but a blank
string is.

> 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