You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@chemistry.apache.org by "Florent Guillaume (JIRA)" <ji...@apache.org> on 2009/11/20 17:26:40 UTC

[jira] Commented: (CMIS-42) Use specialized CMIS-related exceptions to deal with error cases

    [ https://issues.apache.org/jira/browse/CMIS-42?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12780625#action_12780625 ] 

Florent Guillaume commented on CMIS-42:
---------------------------------------

For a first pass I'll use:

invalidArgument is java.lang.IllegalArgumentException
notSupported is java.lang.UnsupportedOperationException
runtime is java.lang.RuntimeException

FilterNotValidException extends IllegalArgumentException

CMISRuntimeException extends RuntimeException, with subclasses:
- ConstraintViolationException
- StreamNotSupportedException extends ConstraintViolationException
- ObjectNotFoundException
- PermissionDeniedException
- StorageException
- VersioningException

CMISException extends Exception, with subclasses:
- ContentAlreadyExistsException
- NameConstraintViolationException
- UpdateConflictException


> Use specialized CMIS-related exceptions to deal with error cases
> ----------------------------------------------------------------
>
>                 Key: CMIS-42
>                 URL: https://issues.apache.org/jira/browse/CMIS-42
>             Project: Chemistry
>          Issue Type: Task
>          Components: api
>            Reporter: Florent Guillaume
>            Assignee: Florent Guillaume
>
> We should use specialized exceptions (following what's defined in the spec's domain model) to treat error cases.
> First pass on the CMIS exception list:
> General:
> - invalidArgument -> java.lang.IllegalArgumentException
> - notSupported -> java.lang.UnsupportedOperationException
> - runtime -> java.lang.RuntimeException
> - objectNotFound
> - permissionDenied
> Specific:
> - constraint
> - contentAlreadyExists
> - filterNotValid
> - nameConstraintViolation
> - storage
> - streamNotSupported
> - updateConflict
> - versioning
> At least for the general CMIS exceptions I propose to use Java unchecked exception. Even for the specific ones I think we should minimize the number of checked exceptions (JCR showed that having too many of those on a single method is painful).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.