[jira] Commented: (JCR-1847) Path methods should throw a specific exception instead of RepositoryEx

2009-02-18 Thread Stefan Guggisberg (JIRA)

[ 
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

2009-02-17 Thread Thomas Mueller (JIRA)

[ 
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

2009-02-17 Thread Alexander Klimetschek (JIRA)

[ 
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

2009-02-17 Thread angela (JIRA)

[ 
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

2008-11-05 Thread angela (JIRA)

[ 
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

2008-11-05 Thread Alexander Klimetschek (JIRA)

[ 
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

2008-11-05 Thread angela (JIRA)

[ 
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

2008-11-05 Thread Alexander Klimetschek (JIRA)

[ 
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.