mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged V3.2 to HEAD
16030: Merged V3.1 to V3.2 16001: Merged V2.2 to V3.1 15999: Temp build/test (AVM permissions - testSimpleInternalLayer) 16223: WCM UI - simple perf improvement when displaying modified list (lock icon) 16472: Merged V3.1 to V3.2 16180: ETHREEOH-2821 - fix deployment of WCM layered (ie. across web project) file 16188: WCM - minor: display (localisable) "File" text (follow-on fix for r15970) 16255: WCM - ETHREEOH-2836 16257: AVM - minor updates to unit tests 16275: WCM - ETHREEOH-2844 16277: WCM - ETHREEOH-2829 - added simple unit test 16341: AVM - minor update to reuse core (path) utils 16344: Merged V2.2 to V3.1 16323: Fix ETWOTWO-1266 (unexpected AVM conflict) 16457: Fix ETHREEOH-2836 (WCM layered files) - follow-on fix, with additional unit test 16649: Fix ETHREEOH-1878 - configure WCM locking for CIFS/FTP 16654: Merged V3.1 to V3.2 16507: Fix ETHREEOH-2604 - update unsecured-public-services-security-context.xml.sample (to allow server to start) 16527: Fix ETHREEOH-2868 - can't submit removal of WCM layered file (Older version prevents update) 16607: AVM - additional tests when deleting LD + fix to avoid cycle 16612: AVM - console improvement (lsver, rmvers) to enable admin/support to list & purge snapshots between dates 16638: Fix ETHREEOH-2893 - stale WCM/AVM layered dir 16643: AVM - console improvement (setopacity) -> eg. to set stale/modifed WCM layered folder as opaque git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16895 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -89,6 +89,7 @@ public class NOOPLookupCache implements LookupCache
|
||||
}
|
||||
// Now look up each path element in sequence up to one
|
||||
// before the end.
|
||||
DirectoryNode prevDir = null;
|
||||
for (int i = 0; i < path.size() - 1; i++)
|
||||
{
|
||||
if (!AVMRepository.GetInstance().can(null, dir, PermissionService.READ_CHILDREN, result.getDirectlyContained()))
|
||||
@@ -106,6 +107,8 @@ public class NOOPLookupCache implements LookupCache
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
prevDir = (DirectoryNode)child.getFirst();
|
||||
result.add(child.getFirst(), path.get(i), child.getSecond(), write);
|
||||
dir = (DirectoryNode)result.getCurrentNode();
|
||||
}
|
||||
@@ -118,7 +121,28 @@ public class NOOPLookupCache implements LookupCache
|
||||
includeDeleted);
|
||||
if (child == null)
|
||||
{
|
||||
return null;
|
||||
if (write && (dir.getType() == AVMNodeType.LAYERED_DIRECTORY))
|
||||
{
|
||||
// stale ?
|
||||
ChildKey key = new ChildKey(prevDir, path.get(path.size() - 1));
|
||||
ChildEntry entry = AVMDAOs.Instance().fChildEntryDAO.get(key);
|
||||
if (entry != null)
|
||||
{
|
||||
if (!includeDeleted && entry.getChild().getType() == AVMNodeType.DELETED_NODE)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
child = new Pair<AVMNode, Boolean>(AVMNodeUnwrapper.Unwrap(entry.getChild()), true);
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
result.add(child.getFirst(), path.get(path.size() - 1), child.getSecond(), write);
|
||||
return result;
|
||||
|
Reference in New Issue
Block a user