[jira] Commented: (JCR-1847) Path methods should throw a specific exception instead of RepositoryEx
[ https://issues.apache.org/jira/browse/JCR-1847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12674559#action_12674559 ] Stefan Guggisberg commented on JCR-1847: the base exception was used solely inside jackrabbit-core just exactly to deal with invalid (malformed) path, unknown names, invalid names, item-state exceptions etc. and it was caught again within jackrabbit-core and rethrown as RepositoryException (in very exceptional cases a subclass of it) all over the place. FWIW: the original (i.e. my;) idea behind BaseException was that it allows to clearly distinguish/detect internal exceptions from api exceptions (i.e. RepositiryExcception). exceptions thrown by internal code might not always be correct /useful in the context of an JCR api method. by using a separate base class for internal exceptions prevents potentially incorrect/meaningless internal exceptions being thrown by public JCR api methods. just as a background information, i don't wanna warm up previous discussions... Path methods should throw a specific exception instead of RepositoryEx -- Key: JCR-1847 URL: https://issues.apache.org/jira/browse/JCR-1847 Project: Jackrabbit Content Repository Issue Type: Improvement Components: jackrabbit-spi Reporter: Alexander Klimetschek Assignee: angela Priority: Minor The o.a.j.spi.Path interface declares most methods to throw a RepositoryEx, whereas a o.a.j.spi.commons.conversion.NameEx (or another specific exception) would make more sense, since the RepositoryEx is too generic for what seems to be a malformed names/path nature for all things that happen in a Path implementation. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (JCR-1847) Path methods should throw a specific exception instead of RepositoryEx
[ https://issues.apache.org/jira/browse/JCR-1847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12674259#action_12674259 ] Thomas Mueller commented on JCR-1847: - I think just RepositoryException with an error codes would be better, as in JDBC (example: http://www.h2database.com/javadoc/org/h2/constant/ErrorCode.html ). Unfortunately RepositoryException doesn't have an error code. Specific exception just bloats everything (methods tend to end with throws a, b, c, d,..., and there are many catch/throw cases). The JCR 1.0 API already has 18 exception types, which seems like far too many in my view. Even more radical: only use unchecked exceptions (RepositoryException extends RuntimeException). So you don't have to catch / re-throw. Most modern languages (for example Scala) don't have checked exceptions any more. Path methods should throw a specific exception instead of RepositoryEx -- Key: JCR-1847 URL: https://issues.apache.org/jira/browse/JCR-1847 Project: Jackrabbit Content Repository Issue Type: Improvement Components: jackrabbit-spi Reporter: Alexander Klimetschek Assignee: angela Priority: Minor The o.a.j.spi.Path interface declares most methods to throw a RepositoryEx, whereas a o.a.j.spi.commons.conversion.NameEx (or another specific exception) would make more sense, since the RepositoryEx is too generic for what seems to be a malformed names/path nature for all things that happen in a Path implementation. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (JCR-1847) Path methods should throw a specific exception instead of RepositoryEx
[ https://issues.apache.org/jira/browse/JCR-1847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12674340#action_12674340 ] Alexander Klimetschek commented on JCR-1847: introducing a helper class had its own exception just restores the situation we had with BaseException and which we finally got rid of. AFAIK BaseException was used for everything in commons, so it has not the same semantics as a (new) InvalidPathException. But the longer I look at it, the real issue is that internal code uses the spi Path interface for path related utilites - which seems not right to me - especially if there is no specific exception for a malformed path, what I would consider as a missing feature of that utility API. Path methods should throw a specific exception instead of RepositoryEx -- Key: JCR-1847 URL: https://issues.apache.org/jira/browse/JCR-1847 Project: Jackrabbit Content Repository Issue Type: Improvement Components: jackrabbit-spi Reporter: Alexander Klimetschek Assignee: angela Priority: Minor The o.a.j.spi.Path interface declares most methods to throw a RepositoryEx, whereas a o.a.j.spi.commons.conversion.NameEx (or another specific exception) would make more sense, since the RepositoryEx is too generic for what seems to be a malformed names/path nature for all things that happen in a Path implementation. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (JCR-1847) Path methods should throw a specific exception instead of RepositoryEx
[ https://issues.apache.org/jira/browse/JCR-1847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12674501#action_12674501 ] angela commented on JCR-1847: - AFAIK BaseException was used for everything in commons, so it has not the same semantics as a (new) InvalidPathException. the base exception was used solely inside jackrabbit-core just exactly to deal with invalid (malformed) path, unknown names, invalid names, item-state exceptions etc. and it was caught again within jackrabbit-core and rethrown as RepositoryException (in very exceptional cases a subclass of it) all over the place. Path methods should throw a specific exception instead of RepositoryEx -- Key: JCR-1847 URL: https://issues.apache.org/jira/browse/JCR-1847 Project: Jackrabbit Content Repository Issue Type: Improvement Components: jackrabbit-spi Reporter: Alexander Klimetschek Assignee: angela Priority: Minor The o.a.j.spi.Path interface declares most methods to throw a RepositoryEx, whereas a o.a.j.spi.commons.conversion.NameEx (or another specific exception) would make more sense, since the RepositoryEx is too generic for what seems to be a malformed names/path nature for all things that happen in a Path implementation. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (JCR-1847) Path methods should throw a specific exception instead of RepositoryEx
[ https://issues.apache.org/jira/browse/JCR-1847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12645222#action_12645222 ] angela commented on JCR-1847: - basically i am not in favor of inventing additional repository exceptions within the scope of the SPI. see also JCR-1328 for discussion on more detailed exceptions with jsr 283. Path methods should throw a specific exception instead of RepositoryEx -- Key: JCR-1847 URL: https://issues.apache.org/jira/browse/JCR-1847 Project: Jackrabbit Issue Type: Improvement Components: jackrabbit-spi Reporter: Alexander Klimetschek Priority: Minor The o.a.j.spi.Path interface declares most methods to throw a RepositoryEx, whereas a o.a.j.spi.commons.conversion.NameEx (or another specific exception) would make more sense, since the RepositoryEx is too generic for what seems to be a malformed names/path nature for all things that happen in a Path implementation. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (JCR-1847) Path methods should throw a specific exception instead of RepositoryEx
[ https://issues.apache.org/jira/browse/JCR-1847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12645229#action_12645229 ] Alexander Klimetschek commented on JCR-1847: AFAIK it does not have to inherit RepositoryException in any way. I don't like too much exceptions either; isn't there a generic (java sdk) exception for a malformed path/url problem? Path methods should throw a specific exception instead of RepositoryEx -- Key: JCR-1847 URL: https://issues.apache.org/jira/browse/JCR-1847 Project: Jackrabbit Issue Type: Improvement Components: jackrabbit-spi Reporter: Alexander Klimetschek Priority: Minor The o.a.j.spi.Path interface declares most methods to throw a RepositoryEx, whereas a o.a.j.spi.commons.conversion.NameEx (or another specific exception) would make more sense, since the RepositoryEx is too generic for what seems to be a malformed names/path nature for all things that happen in a Path implementation. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (JCR-1847) Path methods should throw a specific exception instead of RepositoryEx
[ https://issues.apache.org/jira/browse/JCR-1847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12645232#action_12645232 ] angela commented on JCR-1847: - AFAIK it does not have to inherit RepositoryException in any way. that's what we had before resulting in } catch (WhatEverNameException wene) { throw new RepositoryException(); } and i wouldn't want to go back to that state. Path methods should throw a specific exception instead of RepositoryEx -- Key: JCR-1847 URL: https://issues.apache.org/jira/browse/JCR-1847 Project: Jackrabbit Issue Type: Improvement Components: jackrabbit-spi Reporter: Alexander Klimetschek Priority: Minor The o.a.j.spi.Path interface declares most methods to throw a RepositoryEx, whereas a o.a.j.spi.commons.conversion.NameEx (or another specific exception) would make more sense, since the RepositoryEx is too generic for what seems to be a malformed names/path nature for all things that happen in a Path implementation. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (JCR-1847) Path methods should throw a specific exception instead of RepositoryEx
[ https://issues.apache.org/jira/browse/JCR-1847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12645236#action_12645236 ] Alexander Klimetschek commented on JCR-1847: that's what we had before resulting in } catch (WhatEverNameException wene) { throw new RepositoryException(); } You have that anyway, since other path related utility methods throw specific exceptions (NameEx, IllegalNameEx, etc.), see the example ObservationManagerImpl. It would be more consistent if such a helper class had its own exception - RepositoryEx is only the wrapper for everything that could fail, it's not better than simply using Exception. And when I see RepositoryEx I think of unforseeable cases such as network broken... which is what i originally should only represent. But that is a (minor) problem with the JCR spec ;-) Path methods should throw a specific exception instead of RepositoryEx -- Key: JCR-1847 URL: https://issues.apache.org/jira/browse/JCR-1847 Project: Jackrabbit Issue Type: Improvement Components: jackrabbit-spi Reporter: Alexander Klimetschek Priority: Minor The o.a.j.spi.Path interface declares most methods to throw a RepositoryEx, whereas a o.a.j.spi.commons.conversion.NameEx (or another specific exception) would make more sense, since the RepositoryEx is too generic for what seems to be a malformed names/path nature for all things that happen in a Path implementation. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.