There might be a few SDK projects that still use TransactionUtil, but this checkin gets rid of
its use otherwise.
I took a glance over the areas of the code that use UserTransaction directly and didn't see any
transactionally wrapped code that desperately needed to be put into a retry loop (i.e. write
transactions in a concurrent scenario). If you spot any that you think might qualify, let me know.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6220 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Filesystem deployment can now run a given java class, or external
program on commit.
Changed signatures of DeploymentService methods
to take a NameMatcher to act as an exclusion
filter for deployment. This works for filesystem deployment
but isn't in place for alfresco->alfresco deployment.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6214 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Removed calls to getXXXPaths().
Changed mappings of properties and aspects on AVM Nodes to
favor get all calls.
Added getAspects() and getNodeProperties() which take
AVMNodeDescriptors.
Used these in AVM Indexing to reduce the number of redundant full lookups.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6121 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This seems to make indexing a bit quicker, and at least doesn't make other things
slower. Bulk import now just sucks; it used to be an order of magnitude suckier.
98% of that is due to Andy's recent changes.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6103 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
A wrapper around AVMService which knows aboout locking. It works
by auto-locking on write operations or throwing an AVMLockingException
if the requested target is already locked to another user or to a
different store in a web project.
It is wired up as avmLockingAwareService, AVMLockingAwareService, and
indexingAVMLockingAwareService. It isn't hooked into anything
else yet.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6000 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- A patch will assign initial version values to the entities
- Deprecated TransactionUtil in favour of the RetryingTransactionHelper
- Renamed RetryingTransactionHelper.Callback to RetryingTransactionHelper.RetryingTransactionCallback
The name Callback clashes with many other classes in the classpath
- Moved loads of components to be included in the retry behaviour
Duplicate name checks
- This is done using a query, but the entity update is not written to the database early
- Concurrent adds of the same-named child node will only fail at the end of the transaction
- TODO: Detect the duplicate violation during transaction retrying
Workaround for ADMLuceneTest
- Disable session size resource management during tests
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5823 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- The source store is implicitly snapshotted before deployment begins.
- The destination (remote) store is implicitly snapshotted before deployment begins
and again when the deployment is finished.
- This means that comparison of GUIDs on directories can be used to short circuit
the tree comparison.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5636 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
actually capture the repository context at snapshot creation time.
Gave ListEntry and MapEntry proper equals() and hashCode methods and backed out
hibernate-cfg.properties changes. Doh!
Added cache configuration for AttributeService entities.
Did some warning removal in a few places.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5576 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
svn merge svn://svn.alfresco.com:3691/alfresco/BRANCHES/V2.0@5141 svn://svn.alfresco.com:3691/alfresco/BRANCHES/V2.0@51352 .
- FLOSS
- Some files will need a follow-up
-root/projects/repository/source/java/org/alfresco/repo/avm/wf/AVMRemoveWFStoreHandler.java (not yet on HEAD: 5094)
-root/projects/repository/source/java/org/alfresco/filesys/server/state/FileStateLockManager.java (not yet on HEAD: 5093)
-onContentUpdateRecord (not on HEAD)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5167 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
the version being reverted to is created. This clone has the previous head version
as its ancestor and a wcm:reverted aspect applied. wcm:reverted contains
wcm:revertedid, the node id that the reversion is a clone of. Revert to version is
now a simple call to a new AVMService method, revert().
Propagated this to the remote API.
Modified the the AVMRevertToVersionAction to use this mechanism. Though really the
action isn't really needed now.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4824 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
this: mysite--guest--preview/HEAD/DATA/www/avm_webapps/ROOT/WEB-INF/...
and: mysite--guest--preview/VERSION/v1/DATA/www/avm_webapps/ROOT/WEB-INF/...
rather than: mysite--guest--preview/HEAD/DATA/appBase/avm_webapps/ROOT/WEB-INF/...
and: mysite--guest--preview/VERSION/v1/DATA/appBase/avm_webapps/ROOT/WEB-INF/...
The reason for this is that the actual "appliation base"
is and always has been "avm_webapps"; the original reason
for making the *parent* of this dir called appBase had do
do with the fact that you can have diffrent app bases
for different virtual hosts. However, in the end it causes
way more confusion than it was ever worth, so it's gone now.
The reason for all the modified files is that people were
hard-coding values in many different places, and/or defining
their own constants for something that was needed at a
higher level.
As a temporary measure (I hope), I've defined some rather ugly-looking
constants in JNDIConstants.java, and have used them everywhere:
DIR_DEFAULT_WWW = "www"
DIR_DEFAULT_APPBASE = "avm_webapps"
The reason for calling the parent of the new application base "www"
is that will be the default place that www-centric stuff happens
(therefore, it's also the level at which the overlays take place).
Ultimately, I'd like to turn these into spring configs,
and bring back support for multiple AVMHost nodes within
the same Tomcat... but it's not a priority at the moment.
Please don't hard-code any dirs named "appBase" as the
root level dir in a repo -- it's now "www", and will
change again to a function call later when/if virtual
AVMHosts come back. Keeping them as constants also
helps them to be easier to find when overhauling things.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4696 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
1. Refines the semantics of ghost creation, so that they only appear when
warranted.
2. Implements a mechanism for filtering out files which should not appear in comparison
results or be pushed along by updates.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4525 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261