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

Jukka Zitting commented on OAK-89:
----------------------------------

In the patch I see two places where the {{NoSuchNameException}} is thrown:

* In {{AbstractNameMapper.getJcrName()}} when encountering an unmapped prefix 
in a name coming from the repository. This can only happen when the internal 
state of the repository is compromised, so I'd let it keep throwing the 
IllegalStateException that it currently does.

* In {{AbstractNameMapper.getOakName()}} when encountering an unmapped prefix 
in a name coming from a client. How that should be dealt with depends on the 
use case, for example a {{getNode()}} call should ideally throw a 
{{PathNotFoundException}} when encountering such names while a 
{{getNodeType()}} call should result in a {{NoSuchNodeTypeException}} being 
thrown. We can use an exception like {{NoSuchNameException}} to trigger such 
behavior, but we could just as well use something like a {{null}} return value 
from this method to indicate such a situation.
                
> Improve exception handling
> --------------------------
>
>                 Key: OAK-89
>                 URL: https://issues.apache.org/jira/browse/OAK-89
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core, jcr
>    Affects Versions: 0.2.1
>            Reporter: Michael Dürig
>         Attachments: OAK-89.patch
>
>
> As discusses on the @oak-dev list [1] we need to improve the way exceptions 
> are thrown and handled. 
> I suggest to create a OakException which extends from RuntimeException and 
> encapsulate a RepositoryException into it. These exceptions can then be 
> handled where appropriate. We can the later turn this into a more 
> sophisticated mechanism where the OakException is mapped to a corresponding 
> RepositoryException by an injected mapping (see Jukka's proposal in the 
> discussion).
> [1] http://markmail.org/message/t5czrpkvyamn7sym

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to