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);