31489: Fix MT NodeRef translation in policy filter (ALF-10178)
31452: Sync DEV branch with HEAD
30312: Reintegrated HEAD
30281: Comprehensive DEBUG logging to track behaviour enable/disable states for transactions
- Part of ALF-10178: BehaviourFilter fails when nesting disable/enable calls
30280: Fixed importer's use of behaviour filter
- The change in the BehaviourFilter contract means that all disable calls must be matched
with an equivalent enable call. Enabling globally no longer wipes out vetos put in place
by other code.
- Part of ALF-10178: BehaviourFilter fails when nesting disable/enable calls
30279: Removed unnecessary behaviour enablement checks is VersionService (ALF-10178)
30278: Fixed behaviour re-enabling for StoreSelectorAspectContentStore (ALF-10178)
30240: Fixed ALF-10178: BehaviourFilter fails when nesting disable/enable calls
- Behaviour enable/disable now uses reference counting to check the state of different behaviour levels
- Added unit test to test
- Re-enabled test for ALF-10177: Test disabled: CheckOutCheckInServiceImplTest.testalfrescoCheckoutDoesntModifyNode
but renamed to CheckOutCheckInServiceImplTest.testAlfrescoCheckoutDoesNotModifyNode
- Going into DEV branch to run through tests
30236: Branch for fixing BehaviourFilter nesting
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31619 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- Offending change is: "Touch node and copy node caches *before* writing updated cache entry"
- Struggling to find a fix for the recent test failures that includes this code
- This code (or equivalent) will go onto a branch for further investigation
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31543 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
* replace path/push/pop mechanism as it doesn't work well at reporting where differences/validation errors occur.
* add getParent() to DbObject - so that a path-style identifier can be deduced for a DbObject when needed
* add DbProperty to specify a specific DbObject's property and value -- acts as a schema location pointer
* refactored Result code (need difference result and validation error result)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31527 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Added support to DbObjects to accept visitors
Added ValidatingVisitor to invoke suitable validator on each DbObject
Added NameValidator and NullValidator to operate on DbObject types
Added test suites
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31494 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Instead of the Differences being passed around on their own, the DiffContext is able to provide more information -- at present just the Dialect. The dialect can be used to change the way database objects are validated or differenced.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31466 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- Found while testing XAMcontentStore
- Pulled stream copy code into AbstractContentWriter
- OutputStream closure (write-side) exception is rethrown to allow full rollback, etc
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31441 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- Originally removed as part of the 'reverse lookup' of parentAssocsCache
- This cache is NOT clustered; the child target version is checked; requery if necessary
- NB: Cache misses are NOT cached. Do do so would mean making the cache clustered.
It is better to avoid querying for random files that don't exist over and over.
Add a higher level cache (as is done in CIFS) for that case.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31417 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- fixed performance regression since fix for ALF-3756 - actually due to some madness inside java.util.Locale as it hilariously calls String.intern() for every new instance - which we were now creating on every method intercepted
- added a helper to I18NUtil to retrieve just the lang of the locale (as used by the interceptor) which is only done once per thread like the usual locale management
- modified the interceptor to only actually retrieve the locale at all if it's going to use it for something, as some code paths do not
- in example of retrieving list of 1000 sites, CPU time (sampler) for String.intern() calls (previouslytop of method hotspot list) is down 75%
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31383 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- This use case uses getPaths() instead of cycleCheck. This is due to the nature of the archive process, but will
be changed once cycleCheck is made to happen faster.
- Efficient child node cache invalidation
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31382 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- Was adding the cm:title property to the containing folder instead of the newly created files
- Since the MLPropertyInterceptor no longer uses the full Locale, this messed up the
AVM logic. There will probably be more fallout and the AVM MLText handling still needs fixing.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31330 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- Use regular pattern of get -> select in the DAO
- All getChildren* batching done after the query
- Unit tests
- In progress: Added option (low level select only) to constrain by assoc ID
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31318 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261