From 25988a8efbb83213d099cfbf8d44b2e066020464 Mon Sep 17 00:00:00 2001 From: Jan Vonka Date: Thu, 25 Aug 2016 17:02:31 +0000 Subject: [PATCH] REPO-1090: fix regress (V1 REST API - list children within the context of a smart folder) - follow-on (re: NodeApiTest.getChildrenAssocType fallout - when returning any assoc, not just cm:contains) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@129893 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- config/alfresco/public-rest-context.xml | 1 + source/java/org/alfresco/rest/api/impl/NodesImpl.java | 10 +++++++++- .../org/alfresco/rest/api/tests/NodeApiTest.java | 4 ++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/config/alfresco/public-rest-context.xml b/config/alfresco/public-rest-context.xml index 8f88ff7558..c220b852b6 100644 --- a/config/alfresco/public-rest-context.xml +++ b/config/alfresco/public-rest-context.xml @@ -493,6 +493,7 @@ + diff --git a/source/java/org/alfresco/rest/api/impl/NodesImpl.java b/source/java/org/alfresco/rest/api/impl/NodesImpl.java index 3fd5124863..a286a5efdd 100644 --- a/source/java/org/alfresco/rest/api/impl/NodesImpl.java +++ b/source/java/org/alfresco/rest/api/impl/NodesImpl.java @@ -74,6 +74,7 @@ import org.alfresco.repo.thumbnail.ThumbnailRegistry; import org.alfresco.repo.transaction.AlfrescoTransactionSupport; import org.alfresco.repo.transaction.RetryingTransactionHelper; import org.alfresco.repo.version.VersionModel; +import org.alfresco.repo.virtual.store.VirtualStore; import org.alfresco.rest.antlr.WhereClauseParser; import org.alfresco.rest.api.Activities; import org.alfresco.rest.api.Nodes; @@ -207,6 +208,7 @@ public class NodesImpl implements Nodes private RetryingTransactionHelper retryingTransactionHelper; private NodeAssocService nodeAssocService; private LockService lockService; + private VirtualStore smartStore; // note: remove as part of REPO-1173 private enum Activity_Type { @@ -305,6 +307,11 @@ public class NodesImpl implements Nodes this.nodeAssocService = nodeAssocService; } + public void setSmartStore(VirtualStore smartStore) + { + this.smartStore = smartStore; + } + // excluded namespaces (aspects, properties, assoc types) private static final List EXCLUDED_NS = Arrays.asList(NamespaceService.SYSTEM_MODEL_1_0_URI); @@ -1327,7 +1334,8 @@ public class NodesImpl implements Nodes // call GetChildrenCannedQuery (via FileFolderService) if (((filterProps == null) || (filterProps.size() == 0)) && - ((assocTypeQNames == null) || (assocTypeQNames.size() == 0))) + ((assocTypeQNames == null) || (assocTypeQNames.size() == 0)) && + (smartStore.isVirtual(parentNodeRef)|| (smartStore.canVirtualize(parentNodeRef)))) { pagingResults = fileFolderService.list(parentNodeRef, searchTypeQNames, ignoreAspectQNames, sortProps, pagingRequest); } diff --git a/source/test-java/org/alfresco/rest/api/tests/NodeApiTest.java b/source/test-java/org/alfresco/rest/api/tests/NodeApiTest.java index 2aeae22b0c..8b976d2e49 100644 --- a/source/test-java/org/alfresco/rest/api/tests/NodeApiTest.java +++ b/source/test-java/org/alfresco/rest/api/tests/NodeApiTest.java @@ -2124,6 +2124,10 @@ public class NodeApiTest extends AbstractSingleNetworkSiteTest String c1Id = nodeResp.getId(); assertEquals(fId, nodeResp.getParentId()); + response = getAll(getNodeChildrenUrl(fId), null, null, 200); + nodes = RestApiUtil.parseRestApiEntries(response.getJsonResponse(), Node.class); + assertEquals(1, nodes.size()); + obj = new Node(); obj.setName("c2"); obj.setNodeType(TYPE_CM_CONTENT);