63670: Merged DEV to HEAD-BUG-FIX (4.3)
63618: Fixed ACE-762: BM-0012: NodeLockedException not handled by CMIS
- Refactored interceptor to handle previous TODO: Dig into exceptions to find deep causal issues of interest
- Added unit test
- Translate lock-related Alfresco exception into CMIS exception
63619: Further testing for ACE-762: BM-0012: NodeLockedException not handled by CMIS
- Extended test to ensure that locked nodes generate the correct CMIS exception
63630: Added test for ACE-762 and cleaned up pointless warnings
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@64309 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- Change the way the CMIS implementation interacts with authentication, logging and transactions
by constructing a service layered in three interceptors:
<property name="cmisTransactions" ref="CMISService_Transactions" />
<property name="cmisExceptions" ref="CMISService_Exceptions" />
<property name="cmisControl" ref="CMISService_Control" />
- CMISService_Transactions:
Retrying transactions are initiated for all operations and we no longer attempt to hold
transactions open across method calls. This optimization is secondary to having full retrying
behaviour, without which the server could throw avoidable exceptions in concurrent environments.
- CMISService_Exceptions:
Performs translation from typical repo exceptions into CMIS exceptions
- CMISService_Control:
Provides details logging of inbound authentication states, arguments, exceptions and return values
To get logging without method arguments (can be verbose):
log4j.logger.org.alfresco.opencmis.AlfrescoCmisServiceInterceptor=DEBUG
To include method call arguments:
log4j.logger.org.alfresco.opencmis.AlfrescoCmisServiceInterceptor=TRACE
Logging will include details of inbound, method-call and outbound thread authentication credentials.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32331 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261