Performance tweaks for AVM Indexing.

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 commit is contained in:
Britt Park
2007-06-27 18:24:05 +00:00
parent dcca019090
commit 8aa69caee3
19 changed files with 446 additions and 266 deletions

View File

@@ -987,6 +987,14 @@ public interface AVMService
*/
public Map<QName, PropertyValue> getNodeProperties(int version, String path);
/**
* Get all the properties associated with a node identified by a descriptor.
* @param desc The node descriptor
* @return A Map of the properties.
* @throws AVMNotFoundException
*/
public Map<QName, PropertyValue> getNodeProperties(AVMNodeDescriptor desc);
/**
* Delete a property.
*
@@ -1083,6 +1091,14 @@ public interface AVMService
*/
public ContentData getContentDataForRead(int version, String path);
/**
* Get ContentData using only a node descriptor.
* @param desc The node descriptor.
* @return The ContentData
* @throws AVMNotFoundException
*/
public ContentData getContentDataForRead(AVMNodeDescriptor desc);
/**
* <em>Low-level internal function</em>:&nbsp;&nbsp; Get the ContentData for
@@ -1137,6 +1153,13 @@ public interface AVMService
*/
public Set<QName> getAspects(int version, String path);
/**
* Get all the aspects from a node descriptor.
* @param desc The node descriptor.
* @return The Set of Aspects.
*/
public Set<QName> getAspects(AVMNodeDescriptor desc);
/**
* Remove an aspect and its properties from a node.
*