mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Rework APIs of new getChildAssocs with result count limit
- 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
This commit is contained in:
@@ -241,11 +241,16 @@ public class NodeServiceTest extends TestCase
|
||||
public void testConcurrentArchive() throws Exception
|
||||
{
|
||||
final NodeRef workspaceRootNodeRef = nodeService.getRootNode(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE);
|
||||
final NodeRef[] nodesPrimer = new NodeRef[1];
|
||||
buildNodeHierarchy(workspaceRootNodeRef, nodesPrimer);
|
||||
final NodeRef[] nodesOne = new NodeRef[10];
|
||||
buildNodeHierarchy(workspaceRootNodeRef, nodesOne);
|
||||
final NodeRef[] nodesTwo = new NodeRef[10];
|
||||
buildNodeHierarchy(workspaceRootNodeRef, nodesTwo);
|
||||
|
||||
// Prime the root of the archive store (first child adds inherited ACL)
|
||||
nodeService.deleteNode(nodesPrimer[0]);
|
||||
|
||||
RetryingTransactionCallback<Void> outerCallback = new RetryingTransactionCallback<Void>()
|
||||
{
|
||||
@Override
|
||||
@@ -426,8 +431,41 @@ public class NodeServiceTest extends TestCase
|
||||
}
|
||||
}
|
||||
|
||||
public void testGetChildren_Limited()
|
||||
{
|
||||
// Create a node and loads of children
|
||||
final NodeRef[] liveNodeRefs = new NodeRef[10];
|
||||
final NodeRef workspaceRootNodeRef = nodeService.getRootNode(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE);
|
||||
|
||||
buildNodeHierarchy(workspaceRootNodeRef, liveNodeRefs);
|
||||
|
||||
// Hook 3rd and subsequent children into 1st child
|
||||
for (int i = 2; i < liveNodeRefs.length; i++)
|
||||
{
|
||||
nodeService.addChild(
|
||||
liveNodeRefs[0],
|
||||
liveNodeRefs[i],
|
||||
ContentModel.ASSOC_CONTAINS,
|
||||
QName.createQName(NAMESPACE, "secondary"));
|
||||
}
|
||||
|
||||
// Do limited queries each time
|
||||
for (int i = 1; i < liveNodeRefs.length; i++)
|
||||
{
|
||||
List<ChildAssociationRef> childAssocRefs = nodeService.getChildAssocs(liveNodeRefs[0], null, null, i, true);
|
||||
assertEquals("Expected exact number of child assocs", i, childAssocRefs.size());
|
||||
}
|
||||
|
||||
// Repeat, but don't preload
|
||||
for (int i = 1; i < liveNodeRefs.length; i++)
|
||||
{
|
||||
List<ChildAssociationRef> childAssocRefs = nodeService.getChildAssocs(liveNodeRefs[0], null, null, i, false);
|
||||
assertEquals("Expected exact number of child assocs", i, childAssocRefs.size());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks that the node caches react correct when a node is deleted
|
||||
* Checks that the node caches react correctly when a node is deleted
|
||||
*/
|
||||
public void testCaches_DeleteNode()
|
||||
{
|
||||
|
Reference in New Issue
Block a user