From 9a2a67605c3401c602b3543032317c6e6c5ea9c3 Mon Sep 17 00:00:00 2001 From: Britt Park Date: Thu, 3 Aug 2006 21:13:16 +0000 Subject: [PATCH] Fixed WCM-11. Semantics of getDirectoryListingDirect() are consistent now. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3456 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- source/java/org/alfresco/repo/avm/AVMServiceTest.java | 4 ++++ source/java/org/alfresco/repo/avm/AVMStoreImpl.java | 4 ++++ source/java/org/alfresco/repo/avm/Lookup.java | 1 + 3 files changed, 9 insertions(+) diff --git a/source/java/org/alfresco/repo/avm/AVMServiceTest.java b/source/java/org/alfresco/repo/avm/AVMServiceTest.java index 99c0cdc764..7692d97784 100644 --- a/source/java/org/alfresco/repo/avm/AVMServiceTest.java +++ b/source/java/org/alfresco/repo/avm/AVMServiceTest.java @@ -99,6 +99,10 @@ public class AVMServiceTest extends AVMServiceTestBase fService.getDirectoryListingDirect(-1, "main:/layer"); assertEquals(0, listing.size()); + listing = + fService.getDirectoryListingDirect(-1, + "main:/layer/b"); + assertEquals(0, listing.size()); fService.createFile("main:/layer/b/c", "sigmoid").close(); fService.createSnapshot("main"); listing = fService.getDirectoryListingDirect(-1, "main:/layer"); diff --git a/source/java/org/alfresco/repo/avm/AVMStoreImpl.java b/source/java/org/alfresco/repo/avm/AVMStoreImpl.java index 2f4c1a06fd..deb471f174 100644 --- a/source/java/org/alfresco/repo/avm/AVMStoreImpl.java +++ b/source/java/org/alfresco/repo/avm/AVMStoreImpl.java @@ -320,6 +320,10 @@ class AVMStoreImpl implements AVMStore, Serializable { Lookup lPath = lookupDirectory(version, path, false); DirectoryNode dir = (DirectoryNode)lPath.getCurrentNode(); + if (lPath.isLayered() && dir.getType() != AVMNodeType.LAYERED_DIRECTORY) + { + return new TreeMap(); + } Map listing = dir.getListingDirect(lPath); return translateListing(listing, lPath); } diff --git a/source/java/org/alfresco/repo/avm/Lookup.java b/source/java/org/alfresco/repo/avm/Lookup.java index 92d29af0ba..4b8891a4f8 100644 --- a/source/java/org/alfresco/repo/avm/Lookup.java +++ b/source/java/org/alfresco/repo/avm/Lookup.java @@ -134,6 +134,7 @@ class Lookup { comp.setIndirection(computeIndirection(name)); } + fLayeredYet = true; } fComponents.add(comp); fPosition++;