Added two more special purpose calls, to improve flatten performance from

rotten to ok.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3809 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Britt Park
2006-09-15 21:26:26 +00:00
parent dfe49bf51b
commit 14ebe1726f
6 changed files with 105 additions and 4 deletions

View File

@@ -593,6 +593,8 @@ public class AVMSyncServiceImpl implements AVMSyncService
{
return true;
}
fAVMService.forceCopy(layer.getPath());
layer = fAVMService.lookup(-1, layer.getPath());
// Grab the listing
Map<String, AVMNodeDescriptor> underListing =
fAVMService.getDirectoryListing(underlying, true);
@@ -608,16 +610,14 @@ public class AVMSyncServiceImpl implements AVMSyncService
// We've found an identity so flatten it.
if (topNode.getId() == bottomNode.getId())
{
fAVMService.removeNode(layer.getPath(), name);
fAVMService.uncover(layer.getPath(), name);
fAVMService.flatten(layer, name);
}
else
{
// Otherwise recursively flatten the children.
if (flatten(topNode, bottomNode))
{
fAVMService.removeNode(layer.getPath(), name);
fAVMService.uncover(layer.getPath(), name);
fAVMService.flatten(layer, name);
}
else
{