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:
@@ -38,6 +38,7 @@ import java.util.TreeMap;
|
||||
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.model.WCMModel;
|
||||
import org.alfresco.repo.avm.util.AVMUtil;
|
||||
import org.alfresco.repo.avm.util.RawServices;
|
||||
import org.alfresco.repo.avm.util.SimplePath;
|
||||
import org.alfresco.repo.domain.DbAccessControlList;
|
||||
@@ -156,8 +157,8 @@ public class AVMStoreImpl implements AVMStore
|
||||
getNextVersionID(),
|
||||
time,
|
||||
creator,
|
||||
"Initial Empty Version.",
|
||||
"Initial Empty Version.");
|
||||
AVMUtil.INITIAL_SNAPSHOT,
|
||||
AVMUtil.INITIAL_SNAPSHOT);
|
||||
setNextVersionID(getNextVersionID()+1);
|
||||
|
||||
AVMDAOs.Instance().fAVMStoreDAO.update(this);
|
||||
@@ -221,9 +222,8 @@ public class AVMStoreImpl implements AVMStore
|
||||
// Force copies on all the layered nodes from last snapshot.
|
||||
for (VersionLayeredNodeEntry entry : layeredEntries)
|
||||
{
|
||||
String path = entry.getPath();
|
||||
path = path.substring(path.indexOf(':') + 1);
|
||||
Lookup lookup = me.lookup(-1, path, false, false);
|
||||
String[] pathParts = AVMUtil.splitPath(entry.getPath());
|
||||
Lookup lookup = me.lookup(-1, pathParts[1], false, false);
|
||||
if (lookup == null)
|
||||
{
|
||||
continue;
|
||||
@@ -237,7 +237,33 @@ public class AVMStoreImpl implements AVMStore
|
||||
{
|
||||
continue;
|
||||
}
|
||||
fAVMRepository.forceCopy(entry.getPath());
|
||||
|
||||
if (lookup.getCurrentNode().getType() == AVMNodeType.LAYERED_DIRECTORY)
|
||||
{
|
||||
fAVMRepository.forceCopy(entry.getPath());
|
||||
}
|
||||
else if (lookup.getCurrentNode().getType() == AVMNodeType.LAYERED_FILE)
|
||||
{
|
||||
String parentName[] = AVMUtil.splitBase(entry.getPath());
|
||||
parentName[0] = parentName[0].substring(parentName[0].indexOf(':') + 1);
|
||||
|
||||
lookup = lookupDirectory(-1, parentName[0], true);
|
||||
|
||||
DirectoryNode parent = (DirectoryNode)lookup.getCurrentNode();
|
||||
Pair<AVMNode, Boolean> temp = parent.lookupChild(lookup, parentName[1], false);
|
||||
|
||||
AVMNode child = temp.getFirst();
|
||||
if (child == null)
|
||||
{
|
||||
throw new AVMException("Unexpected: missing child: "+entry.getPath());
|
||||
}
|
||||
|
||||
lookup.add(child, parentName[1], temp.getSecond(), false);
|
||||
AVMNode newChild = ((LayeredFileNode)child).copyLiterally(lookup);
|
||||
newChild.setAncestor(child);
|
||||
parent.putChild(parentName[1], newChild);
|
||||
}
|
||||
|
||||
// TODO This leaves the behavior of LayeredFiles not quite
|
||||
// right.
|
||||
/*
|
||||
@@ -282,7 +308,7 @@ public class AVMStoreImpl implements AVMStore
|
||||
continue;
|
||||
}
|
||||
layeredNodeIDs.add(layeredID);
|
||||
String storeName = indirection.substring(0, indirection.indexOf(':'));
|
||||
String storeName = AVMUtil.getStoreName(indirection);
|
||||
if (!snapShotMap.containsKey(storeName))
|
||||
{
|
||||
AVMStore store = AVMDAOs.Instance().fAVMStoreDAO.getByName(storeName);
|
||||
|
Reference in New Issue
Block a user