2 Commits

Author SHA1 Message Date
Alan Davis
899e3d821c Merged HEAD-BUG-FIX (4.3/Cloud) to HEAD (4.3/Cloud)
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
2014-03-14 16:38:05 +00:00
Derek Hulley
16d0d0e786 Fixed ALF-11201: CMIS ignores user login and runs as 'admin' sometimes
- 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
2011-11-27 20:55:29 +00:00